2424 run : |
2525 echo Number of CPUs: $(nproc)
2626 echo "$GITHUB_CONTEXT"
27- - uses : actions/checkout@v6
27+ - name : Checkout repository
28+ uses : actions/checkout@v6
2829 with :
2930 submodules : false
3031 fetch-depth : 1
6061 - name : Install dependencies
6162 run : |
6263 set -x
63- .github/scripts/install-rtai.sh
64+ .github/scripts/install-rtai.sh trixie
6465 .github/scripts/install-deps.sh
6566 - name : Build RIP RTAI
6667 run : |
@@ -107,12 +108,12 @@ jobs:
107108 with :
108109 submodules : false
109110 fetch-depth : 1
110- - name : Perform Source Code checks that were successful in the past
111+ - name : Cppcheck
111112 continue-on-error : true
112113 run : |
113114 set -x
114- git fetch --recurse-submodules=no https://github.com/linuxcnc/linuxcnc refs/tags/*:refs/tags/*
115- sudo apt-get --yes -o Acquire::Retries=5 install cppcheck shellcheck
115+ apt-get -q update
116+ sudo apt-get -y install cppcheck shellcheck
116117 scripts/cppcheck.sh
117118 - name : Shellcheck
118119 continue-on-error : true
@@ -169,70 +170,47 @@ jobs:
169170 env :
170171 DEBIAN_FRONTEND : noninteractive
171172 run : |
172- set -e
173173 set -x
174- apt-get --quiet -o Acquire::Retries=5 update
175- apt-get --yes --quiet -o Acquire::Retries=5 install curl
174+ apt-get -q update
175+ apt-get -y install curl
176176 # Install stuff needed to check out the linuxcnc repo and turn it into a debian source package.
177- apt-get --yes --quiet -o Acquire::Retries=5 install --no-install-suggests git lsb-release python3 devscripts
177+ apt-get -y install git lsb-release python3 devscripts --no-install-recommends
178178
179- - uses : actions/checkout@v6
179+ - name : Checkout repository
180+ uses : actions/checkout@v6
180181 with :
181182 submodules : false
182183 # "fetch-depth: 0" fetches all of history, this is needed by
183184 # our build system to determine the version from tags
184185 fetch-depth : 0
185-
186- - name : Add linuxcnc.org deb archive
187- env :
188- DEBIAN_FRONTEND : noninteractive
189- run : |
190- case "${{matrix.image}}" in
191- debian:sid|debian:bookworm|debian:trixie)
192- exit 0
193- ;;
194- *)
195- ;;
196- esac
197- set -e
198- set -x
199- apt-get --yes --quiet -o Acquire::Retries=5 install --no-install-recommends gpg software-properties-common
200- gpg --homedir="${PWD}/gnupg" --output /etc/apt/trusted.gpg.d/linuxcnc-deb-archive.gpg --export 3CB9FD148F374FEF
201- DIST=$(echo ${{matrix.image}} | cut -d : -f 2)
202- add-apt-repository "deb http://linuxcnc.org $DIST base"
203- apt-get --quiet -o Acquire::Retries=5 update
204-
205186 - name : Build architecture-specific Debian packages
206187 env :
207188 DEBEMAIL : emc-developers@lists.sourceforge.net
208189 DEBFULLNAME : LinuxCNC Github CI Robot
209190 DEBIAN_FRONTEND : noninteractive
210191 run : |
211- set -e
212192 set -x
213- git config --global --add safe.directory " ${PWD}"
193+ git config --global --add safe.directory ${PWD}
214194 debian/configure
215195 debian/update-dch-from-git
216196 scripts/get-version-from-git | sed -re 's/^v(.*)$/\1/' >| VERSION; cat VERSION
217197 git diff
218- apt-get --yes --quiet -o Acquire::Retries=5 build-dep --arch-only .
198+ apt-get -y build-dep --arch-only .
219199 debuild -us -uc --build=any
220- - name : Test debian packages
200+ - name : Install debian packages
221201 env :
222202 DEBIAN_FRONTEND : noninteractive
223203 run : |
224- set -e
225204 set -x
226- apt-get --yes --quiet -o Acquire::Retries=5 install ../*.deb
227- apt-get --yes --quiet -o Acquire::Retries=5 install sudo # some tests run sudo...
205+ apt-get -y install ../*.deb --no-install-recommends
206+ apt-get -y install sudo # some tests run sudo...
228207 adduser --disabled-password --gecos "" testrunner
229208 passwd -d testrunner
230209 adduser testrunner sudo
231210 chmod 0777 $(find tests/ -type d) # make test dirs world-writable for the testrunner
232211 su -c "./scripts/runtests -p ./tests" testrunner
233212 - name : Gather build artifacts
234213 run : |
235- set -e
236214 set -x
237215 ARCH=$(dpkg --print-architecture)
238216 DIST=$(echo ${{ matrix.image }} | cut -d : -f 2)
@@ -247,15 +225,13 @@ jobs:
247225 run : |
248226 echo "dist=$(echo ${{ matrix.image }} | cut -d : -f 2)" >> $GITHUB_OUTPUT
249227 echo "arch=$(dpkg --print-architecture)" >> $GITHUB_OUTPUT
250-
251228 - name : Upload build artifacts
252229 uses : actions/upload-artifact@v7
253230 with :
254231 name : linuxcnc-${{ steps.meta.outputs.dist }}-${{ steps.meta.outputs.arch }}
255232 path : artifacts/${{ steps.meta.outputs.dist }}/${{ steps.meta.outputs.arch }}
256233 if-no-files-found : error
257234
258-
259235 package-indep :
260236 runs-on : ubuntu-24.04
261237 strategy :
@@ -278,67 +254,43 @@ jobs:
278254 env :
279255 DEBIAN_FRONTEND : noninteractive
280256 run : |
281- set -e
282257 set -x
283- apt-get --quiet -o Acquire::Retries=5 update
284- apt-get --yes --quiet -o Acquire::Retries=5 install curl
258+ apt-get -q update
259+ apt-get -y install curl
285260 # Install stuff needed to check out the linuxcnc repo and turn it into a debian source package.
286- apt-get --yes --quiet -o Acquire::Retries=5 install --no-install-suggests git lsb-release python3 devscripts
261+ apt-get -y install git lsb-release python3 devscripts --no-install-recommends
287262
288263 - uses : actions/checkout@v6
289264 with :
290265 submodules : false
291266 # "fetch-depth: 0" fetches all of history, this is needed by
292267 # our build system to determine the version from tags
293268 fetch-depth : 0
294-
295- - name : Add linuxcnc.org deb archive
296- env :
297- DEBIAN_FRONTEND : noninteractive
298- run : |
299- case "${{matrix.image}}" in
300- debian:sid|debian:bookworm|debian:trixie)
301- exit 0
302- ;;
303- *)
304- ;;
305- esac
306- set -e
307- set -x
308- apt-get --yes --quiet -o Acquire::Retries=5 install gpg software-properties-common
309- gpg --homedir="${PWD}/gnupg" --output /etc/apt/trusted.gpg.d/linuxcnc-deb-archive.gpg --export 3CB9FD148F374FEF
310- DIST=$(echo ${{matrix.image}} | cut -d : -f 2)
311- add-apt-repository "deb http://linuxcnc.org $DIST base"
312- apt-get --quiet -o Acquire::Retries=5 update
313-
314269 - name : Build architecture-independent Debian packages
315270 env :
316271 DEBEMAIL : emc-developers@lists.sourceforge.net
317272 DEBFULLNAME : LinuxCNC Github CI Robot
318273 DEBIAN_FRONTEND : noninteractive
319274 run : |
320- set -e
321275 set -x
322- git config --global --add safe.directory " ${PWD}"
276+ git config --global --add safe.directory ${PWD}
323277 debian/configure
324278 debian/update-dch-from-git
325279 scripts/get-version-from-git | sed -re 's/^v(.*)$/\1/' >| VERSION; cat VERSION
326280 git diff
327- apt-get --yes --quiet -o Acquire::Retries=5 build-dep --indep-only .
281+ apt-get -y build-dep --indep-only .
328282 debuild -us -uc --build=source,all
329- - name : Test install debian packages
283+ - name : Install debian packages
330284 env :
331285 DEBIAN_FRONTEND : noninteractive
332286 run : |
333- set -e
334287 set -x
335- apt-get --yes --quiet -o Acquire::Retries=5 install ../*.deb
288+ apt-get -y install ../*.deb --no-install-recommends
336289 - name : Gather build artifacts
337290 run : |
338- set -e
339291 set -x
340- DIST=$(echo ${{ matrix.image }} | cut -d : -f 2)
341292 ARCH=all
293+ DIST=$(echo ${{ matrix.image }} | cut -d : -f 2)
342294 OUTDIR="artifacts/${DIST}/${ARCH}"
343295 mkdir -p "$OUTDIR"
344296 cp -v $(find .. -maxdepth 1 -type f | LC_ALL=C sort) "$OUTDIR" || true
@@ -350,7 +302,6 @@ jobs:
350302 run : |
351303 echo "dist=$(echo ${{ matrix.image }} | cut -d : -f 2)" >> $GITHUB_OUTPUT
352304 echo "arch=all" >> $GITHUB_OUTPUT
353-
354305 - name : Upload build artifacts
355306 uses : actions/upload-artifact@v7
356307 with :
@@ -374,7 +325,7 @@ jobs:
374325 path : release_artifacts
375326 - name : Prepare upload assets
376327 run : |
377- set -e
328+ set -x
378329 mkdir -p upload
379330 echo "Downloaded artifacts layout:" && find release_artifacts -maxdepth 3 -print | sed 's/^/ /'
380331 for d in release_artifacts/*; do
@@ -396,7 +347,7 @@ jobs:
396347 echo "Upload dir contents:" && ls -l "upload/${dist}-${arch}" | sed 's/^/ /'
397348 done
398349 - name : Create GitHub Release and upload assets
399- uses : softprops/action-gh-release@v2
350+ uses : softprops/action-gh-release@v3
400351 with :
401352 files : |
402353 upload/*
0 commit comments