-
-
Notifications
You must be signed in to change notification settings - Fork 14
166 lines (163 loc) · 7.12 KB
/
testpr.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
on:
pull_request:
paths:
- '*.yaml'
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-2019]
platform: [linux-64, osx-64, win-64, linux-aarch64, osx-arm64]
exclude:
- os: ubuntu-latest
platform: win-64
- os: ubuntu-latest
platform: osx-64
- os: ubuntu-latest
platform: osx-arm64
- os: macos-latest
platform: linux-64
- os: macos-latest
platform: linux-aarch64
- os: macos-latest
platform: win-64
- os: windows-2019
platform: linux-64
- os: windows-2019
platform: linux-aarch64
- os: windows-2019
platform: osx-64
- os: windows-2019
platform: osx-arm64
steps:
- uses: actions/checkout@main
- uses: conda-incubator/setup-miniconda@v2
with:
mamba-version: "*"
channels: robostack-experimental,conda-forge
channel-priority: false
auto-activate-base: true
activate-environment: ""
- shell: bash
if: contains(matrix.os, 'linux-aarch64')
run: |
echo "::group::Configure binfmt_misc"
docker run --rm --privileged multiarch/qemu-user-static:register --reset --credential yes
export FEEDSTOCK_NAME="$(basename $GITHUB_REPOSITORY)"
export GIT_BRANCH="$(basename $GITHUB_REF)"
echo "::endgroup::"
- shell: bash -l {0}
run: |
conda config --show channels | grep defaults && conda config --remove channels defaults
conda info
conda config --show
mamba install -y pip rospkg networkx "catkin_pkg>=0.4.16" "ruamel.yaml>=0.16.6" "rosdistro>=0.8.0" "empy>=3.3.4"
mamba install -y boa=0.9
- name: install vinca and boa master
shell: bash -l {0}
run: |
# for now we need boa master
# pip install git+https://github.com/mamba-org/boa@master
# use no-deps for now, otherwise problems with ruamel.
pip install git+https://github.com/RoboStack/vinca.git --no-deps
# For some reason, the Strawberry perl's pkg-config is found
# instead of the conda's one, so let's delete the /c/Strawberry directory
- name: Debug pkg-config problem
if: contains(matrix.os, 'windows')
shell: bash -l {0}
run: |
rm -rf /c/Strawberry
- name: Check what files have changed
id: filecheck
shell: bash -l {0}
run: |
git fetch origin main
# continue on error
set +e
git diff --exit-code --name-only origin/main -- vinca_linux_64.yaml > /dev/null
echo "::set-output name=LINUX_YAML_CHANGED::${?}"
git diff --exit-code --name-only origin/main -- vinca_linux_aarch64.yaml > /dev/null
echo "::set-output name=LINUX_AARCH_YAML_CHANGED::${?}"
git diff --exit-code --name-only origin/main -- vinca_osx.yaml > /dev/null
echo "::set-output name=OSX_YAML_CHANGED::${?}"
git diff --exit-code --name-only origin/main -- vinca_osx_arm64.yaml > /dev/null
echo "::set-output name=OSX_ARM_YAML_CHANGED::${?}"
git diff --exit-code --name-only origin/main -- vinca_win.yaml > /dev/null
echo "::set-output name=WIN_YAML_CHANGED::${?}"
- name: Generate recipes for Linux
shell: bash -l {0}
if: steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-64'
run: |
git clean -fdx
cp vinca_linux_64.yaml vinca.yaml
vinca --platform linux-64
ls
cat recipe.yaml
- name: Generate recipes for Linux-ARM64
shell: bash -l {0}
if: steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-aarch64'
run: |
git clean -fdx
cp vinca_linux_aarch64.yaml vinca.yaml
vinca --platform linux-aarch64
ls
cat recipe.yaml
- name: Generate recipes for macOS
shell: bash -l {0}
if: steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-64'
run: |
git clean -fdx
cp vinca_osx.yaml vinca.yaml
vinca --platform osx-64
ls
cat recipe.yaml
- name: Generate recipes for macOS-ARM64
shell: bash -l {0}
if: steps.filecheck.outputs.OSX_ARM_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-arm64'
run: |
git clean -fdx
cp vinca_osx_arm64.yaml vinca.yaml
vinca --platform osx-arm64
ls
cat recipe.yaml
- name: Generate recipes for Windows
shell: bash -l {0}
if: steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.os == 'windows-2019' && matrix.platform == 'win-64'
run: |
git clean -fdx
cp vinca_win.yaml vinca.yaml
vinca --platform win-64
ls
cat recipe.yaml
- name: Build recipes for Linux
shell: bash -l {0}
if: steps.filecheck.outputs.LINUX_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-64'
run: |
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
- name: Build recipes for Linux-ARM64
shell: bash -l {0}
if: steps.filecheck.outputs.LINUX_AARCH_YAML_CHANGED == 1 && matrix.os == 'ubuntu-latest' && matrix.platform == 'linux-aarch64'
run: |
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=linux-aarch64
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=linux-aarch64
- name: Build recipes for macOS
shell: bash -l {0}
if: steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-64'
run: |
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
- name: Build recipes for macOS-ARM64
shell: bash -l {0}
if: steps.filecheck.outputs.OSX_YAML_CHANGED == 1 && matrix.os == 'macos-latest' && matrix.platform == 'osx-arm64'
run: |
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=osx-arm64
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml --target-platform=osx-arm64
- name: Build recipes for Windows
shell: bash -l {0}
if: steps.filecheck.outputs.WIN_YAML_CHANGED == 1 && matrix.os == 'windows-2019' && matrix.platform == 'win-64'
run: |
boa build additional_recipes/ros2-distro-mutex/ -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml
boa build . -m ./.ci_support/conda_forge_pinnings.yaml -m ./conda_build_config.yaml