19
19
matrix :
20
20
pm : ["pip", "conda", "nix"]
21
21
os : ["ubuntu", "macos", "windows"]
22
+ arch : ["x86_64"]
22
23
exclude :
23
24
- pm : " pip"
24
25
os : " windows"
@@ -29,14 +30,29 @@ jobs:
29
30
os : " ubuntu"
30
31
- pm : " ros"
31
32
os : " ubuntu"
33
+ # - pm: "brew" TODO
34
+ # os: "macos"
35
+ - arch : " aarch64"
36
+ os : " ubuntu"
37
+ pm : " pip"
38
+ - arch : " aarch64"
39
+ os : " ubuntu"
40
+ pm : " nix"
32
41
steps :
33
42
- uses : actions/checkout@v3
34
43
44
+ # aarch64
45
+ - name : Set up QEMU
46
+ if : matrix.arch == 'aarch64'
47
+ uses : docker/setup-qemu-action@v3
48
+ with :
49
+ platforms : all
50
+
35
51
# pip
36
52
- if : matrix.pm == 'pip'
37
53
uses : actions/setup-python@v4 # required only because macos-latest still has python 2 by default…
38
54
with :
39
- python-version : " 3.11 "
55
+ python-version : " 3.13 "
40
56
- if : matrix.pm == 'pip'
41
57
run : pip install pin[build]
42
58
- if : matrix.pm == 'pip'
@@ -52,15 +68,16 @@ jobs:
52
68
53
69
# nix
54
70
- if : matrix.pm == 'nix'
55
- uses : cachix/install-nix-action@v21
56
- with :
57
- nix_path : nixpkgs=channel:nixpkgs-unstable
71
+ uses : cachix/install-nix-action@v30
58
72
- if : matrix.pm == 'nix'
59
- run : nix-channel --update
73
+ uses : cachix/cachix-action@v15
74
+ with :
75
+ name : gepetto
76
+ authToken : ' ${{ secrets.CACHIX_AUTH_TOKEN }}'
60
77
- if : matrix.pm == 'nix'
61
78
run : >
62
- nix shell 'nixpkgs#python311Packages .pinocchio' -c
63
- nix develop 'nixpkgs#python311Packages .pinocchio' -c
79
+ nix shell 'nixpkgs#python3Packages .pinocchio' -c
80
+ nix develop 'nixpkgs#python3Packages .pinocchio' -c
64
81
env | grep .=. >> $GITHUB_ENV
65
82
66
83
# robotpkg
71
88
echo "deb [arch=amd64 signed-by=/robotpkg.gpg] ${ROBOTPKG_URL}/pub ${UBUNTU} robotpkg"
72
89
| sudo tee /etc/apt/sources.list.d/robotpkg.list
73
90
- if : matrix.pm == 'robotpkg'
74
- run : sudo apt-get update && sudo apt-get install -qy robotpkg-py310 -pinocchio
91
+ run : sudo apt-get update && sudo apt-get install -qy robotpkg-py3* -pinocchio
75
92
- if : matrix.pm == 'robotpkg'
76
93
run : echo "CMAKE_PREFIX_PATH=/opt/openrobots" >> $GITHUB_ENV
77
94
@@ -100,33 +117,29 @@ jobs:
100
117
- run : cmake --build build
101
118
- run : ./build/main
102
119
103
- # test-docker:
104
- # runs-on: "ubuntu-latest"
105
- # container: ${{ matrix.container }}
106
- # strategy:
107
- # matrix:
108
- # container: ["archlinux/archlinux:base-devel"]
109
- # steps:
110
- # - uses: actions/checkout@v3
111
-
112
- # - run: curl https://github.com/Morganamilo/paru/releases/download/v1.11.2/paru-v1.11.2-x86_64.tar.zst -O
113
- # - run: pacman -Syu "paru-*.tar.zst"
114
- # - run: paru -Syu pinocchio
115
-
116
- # - run: cmake -B build -S .
117
- # - run: cmake --build build
118
- # - run: ./build/main
119
-
120
- # test-aarch64:
121
- # runs-on: "ubuntu-latest"
122
- # container: ${{ matrix.container }}
123
- # strategy:
124
- # matrix:
125
- # container: ["archlinux/archlinux:base-devel"]
126
- # pm: ["pip", "conda", "nix"]
127
- # steps:
128
- # - uses: actions/checkout@v3
129
-
130
- # - run: cmake -B build -S .
131
- # - run: cmake --build build
132
- # - run: ./build/main
120
+ test-arch :
121
+ runs-on : " ubuntu-latest"
122
+ container : ${{ matrix.container }}
123
+ strategy :
124
+ fail-fast : false
125
+ matrix :
126
+ container : ["archlinux/archlinux:base-devel"]
127
+ env :
128
+ CMAKE_GENERATOR : Ninja
129
+ steps :
130
+ - uses : actions/checkout@v3
131
+
132
+ # install paru
133
+ - run : pacman -Syu --noconfirm git ninja
134
+ - run : useradd -mG wheel user
135
+ - run : echo "%wheel ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
136
+ - run : git clone https://aur.archlinux.org/paru-bin.git
137
+ - run : chown -R user paru-bin
138
+ - run : su user -c "makepkg -D paru-bin -si --noconfirm"
139
+
140
+ # use paru to install pinocchio and its dependencies from AUR
141
+ - run : su user -c "paru -Syu --noconfirm pinocchio"
142
+
143
+ - run : cmake -B build -S .
144
+ - run : cmake --build build
145
+ - run : ./build/main
0 commit comments