47 Commits

Author SHA1 Message Date
Ralph Lange
fbbfced900 ci: add GHA builds for Base 3.15 and 3.14
Some checks failed
ci-scripts build/test / cross linux-arm@arm-linux-gnueabi / / default (push) Successful in 2m14s
ci-scripts build/test / cross linux-aarch64 / / default (push) Successful in 2m46s
ci-scripts build/test / cross linux-ppc / / default (push) Successful in 2m49s
ci-scripts build/test / cross linux-arm@arm-linux-gnueabihf / / default (push) Successful in 2m58s
ci-scripts build/test / cross linux-ppc64 / / default (push) Successful in 3m18s
ci-scripts build/test / cross RTEMS-pc386-qemu@4.10 / / default (push) Successful in 3m36s
ci-scripts build/test / cross RTEMS-pc386-qemu@4.9 / / default (push) Successful in 3m43s
ci-scripts build/test / cross win32-x86-mingw / / default (push) Successful in 3m26s
ci-scripts build/test / cross RTEMS-pc686-qemu@5 / / default (push) Successful in 4m28s
ci-scripts build/test / cross windows-x64-mingw / / default (push) Successful in 3m13s
ci-scripts build/test / B-7.0 clang debug @ ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / B-3.15 gcc default @ ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / B-3.15 gcc static @ ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / Unit tests on macos-14 (push) Has been cancelled
ci-scripts build/test / Unit tests on macos-15 (push) Has been cancelled
ci-scripts build/test / Unit tests on ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / Unit tests on ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / Unit tests on windows-2022 (push) Has been cancelled
ci-scripts build/test / Unit tests on windows-2025 (push) Has been cancelled
ci-scripts build/test / B-3.14 gcc default @ ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 clang debug @ ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / B-3.14 gcc static @ ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 clang default @ ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 clang default @ ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 clang static @ ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 clang static @ ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 clang static-debug @ ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 clang static-debug @ ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc debug @ ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc debug @ ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc default @ ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc default @ ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc static @ ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc static @ ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 clang default @ macos-15 (push) Has been cancelled
ci-scripts build/test / B-3.14 vs2022 static @ windows-2025 (push) Has been cancelled
ci-scripts build/test / B-3.15 vs2022 static @ windows-2025 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc debug @ windows-2025 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc static @ windows-2022 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc static @ windows-2025 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc static-debug @ windows-2022 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc static-debug @ windows-2025 (push) Has been cancelled
ci-scripts build/test / B-7.0 vs2022 debug @ windows-2022 (push) Has been cancelled
ci-scripts build/test / B-7.0 vs2022 default @ windows-2022 (push) Has been cancelled
ci-scripts build/test / B-7.0 vs2022 default @ windows-2025 (push) Has been cancelled
ci-scripts build/test / B-7.0 vs2022 static @ windows-2022 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc static-debug @ ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc static-debug @ ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / B-3.15 clang default @ macos-15 (push) Has been cancelled
ci-scripts build/test / B-7.0 clang debug @ macos-14 (push) Has been cancelled
ci-scripts build/test / B-7.0 clang debug @ macos-15 (push) Has been cancelled
ci-scripts build/test / B-7.0 clang default @ macos-14 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc debug @ windows-2022 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc default @ windows-2022 (push) Has been cancelled
ci-scripts build/test / B-7.0 gcc default @ windows-2025 (push) Has been cancelled
ci-scripts build/test / B-7.0 vs2022 debug @ windows-2025 (push) Has been cancelled
ci-scripts build/test / B-7.0 vs2022 static @ windows-2025 (push) Has been cancelled
ci-scripts build/test / B-7.0 vs2022 static-debug @ windows-2022 (push) Has been cancelled
ci-scripts build/test / B-7.0 vs2022 static-debug @ windows-2025 (push) Has been cancelled
- caveat: 3.14 is not supported on MacOS @aarch64
2025-12-02 14:26:17 +01:00
Ralph Lange
d53ccd5b75 ci: fix 3.14 patch to remove readline dependency 2025-12-02 14:26:17 +01:00
Simon Rose
1244547af2 Skip using libreadline for base 3.14
In base 3.15 onwards we have checks for the existence of readline.h.
For base 3.14 we should just skip it.
2025-12-02 08:55:29 +01:00
Michael Davidsaver
261f218e09 use cpu_count when available
Some checks failed
ci-scripts build/test / cross linux-aarch64 / / default (push) Successful in 2m6s
ci-scripts build/test / cross RTEMS-pc386-qemu@4.10 / / default (push) Successful in 2m46s
ci-scripts build/test / cross RTEMS-pc386-qemu@4.9 / / default (push) Successful in 2m42s
ci-scripts build/test / cross linux-arm@arm-linux-gnueabi / / default (push) Successful in 2m17s
ci-scripts build/test / cross linux-arm@arm-linux-gnueabihf / / default (push) Successful in 2m42s
ci-scripts build/test / cross linux-ppc / / default (push) Successful in 3m11s
ci-scripts build/test / cross linux-ppc64 / / default (push) Successful in 2m8s
ci-scripts build/test / cross RTEMS-pc686-qemu@5 / / default (push) Successful in 4m26s
ci-scripts build/test / cross win32-x86-mingw / / default (push) Successful in 2m10s
ci-scripts build/test / cross windows-x64-mingw / / default (push) Successful in 2m19s
ci-scripts build/test / Unit tests on macos-14 (push) Has been cancelled
ci-scripts build/test / Unit tests on macos-15 (push) Has been cancelled
ci-scripts build/test / Unit tests on ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / Unit tests on ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / clang / debug / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / clang / default / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / default / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / clang / static / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / static / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / clang / static-debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / static-debug / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / gcc / debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / clang / debug / macos-14 (push) Has been cancelled
ci-scripts build/test / clang / debug / macos-15 (push) Has been cancelled
ci-scripts build/test / clang / default / macos-14 (push) Has been cancelled
ci-scripts build/test / clang / default / macos-15 (push) Has been cancelled
ci-scripts build/test / gcc / debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / debug / windows-2025 (push) Has been cancelled
ci-scripts build/test / gcc / default / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / default / windows-2025 (push) Has been cancelled
ci-scripts build/test / vs2022 / static-debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / static-debug / windows-2025 (push) Has been cancelled
ci-scripts build/test / Unit tests on windows-2022 (push) Has been cancelled
ci-scripts build/test / Unit tests on windows-2025 (push) Has been cancelled
ci-scripts build/test / clang / debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / debug / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / gcc / default / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / default / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / gcc / static / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / static / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / gcc / static / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / static / windows-2025 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / windows-2025 (push) Has been cancelled
ci-scripts build/test / vs2022 / debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / debug / windows-2025 (push) Has been cancelled
ci-scripts build/test / vs2022 / default / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / default / windows-2025 (push) Has been cancelled
ci-scripts build/test / vs2022 / static / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / static / windows-2025 (push) Has been cancelled
2025-11-18 10:41:49 +01:00
Ralph Lange
a096fe1b76 ci: remove macos-13 from GHA workflow
GitHub announcement:
The macOS 13 runner image will be retired by December 4th, 2025
2025-11-18 10:32:59 +01:00
Ralph Lange
63f979bf5c test: fix default branch name for MCoreUtils 2025-11-18 10:28:37 +01:00
Ralph Lange
4e4f33e54f ci: update GHA examples
Some checks failed
ci-scripts build/test / cross linux-aarch64 / / default (push) Successful in 2m56s
ci-scripts build/test / cross linux-arm@arm-linux-gnueabihf / / default (push) Successful in 2m52s
ci-scripts build/test / cross linux-arm@arm-linux-gnueabi / / default (push) Successful in 3m15s
ci-scripts build/test / cross RTEMS-pc386-qemu@4.9 / / default (push) Successful in 3m25s
ci-scripts build/test / cross RTEMS-pc386-qemu@4.10 / / default (push) Successful in 3m45s
ci-scripts build/test / cross linux-ppc64 / / default (push) Successful in 3m29s
ci-scripts build/test / cross linux-ppc / / default (push) Successful in 3m58s
ci-scripts build/test / cross windows-x64-mingw / / default (push) Successful in 4m25s
ci-scripts build/test / cross win32-x86-mingw / / default (push) Successful in 4m31s
ci-scripts build/test / cross RTEMS-pc686-qemu@5 / / default (push) Successful in 5m32s
ci-scripts build/test / Unit tests on macos-13 (push) Has been cancelled
ci-scripts build/test / Unit tests on macos-14 (push) Has been cancelled
ci-scripts build/test / Unit tests on macos-15 (push) Has been cancelled
ci-scripts build/test / Unit tests on ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / Unit tests on ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / Unit tests on windows-2022 (push) Has been cancelled
ci-scripts build/test / Unit tests on windows-2025 (push) Has been cancelled
ci-scripts build/test / clang / debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / debug / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / clang / default / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / default / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / clang / static / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / static / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / clang / static-debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / static-debug / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / gcc / debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / debug / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / gcc / default / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / default / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / gcc / static / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / static / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / ubuntu-24.04 (push) Has been cancelled
ci-scripts build/test / clang / debug / macos-13 (push) Has been cancelled
ci-scripts build/test / clang / debug / macos-14 (push) Has been cancelled
ci-scripts build/test / clang / debug / macos-15 (push) Has been cancelled
ci-scripts build/test / clang / default / macos-13 (push) Has been cancelled
ci-scripts build/test / clang / default / macos-14 (push) Has been cancelled
ci-scripts build/test / clang / default / macos-15 (push) Has been cancelled
ci-scripts build/test / gcc / debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / debug / windows-2025 (push) Has been cancelled
ci-scripts build/test / gcc / default / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / default / windows-2025 (push) Has been cancelled
ci-scripts build/test / gcc / static / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / static / windows-2025 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / windows-2025 (push) Has been cancelled
ci-scripts build/test / vs2022 / debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / debug / windows-2025 (push) Has been cancelled
ci-scripts build/test / vs2022 / default / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / default / windows-2025 (push) Has been cancelled
ci-scripts build/test / vs2022 / static / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / static / windows-2025 (push) Has been cancelled
ci-scripts build/test / vs2022 / static-debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / static-debug / windows-2025 (push) Has been cancelled
2025-08-28 17:21:12 +02:00
Ralph Lange
df2367fcd3 ci/test: change patch and its target to work on MacOS 2025-08-28 14:55:33 +02:00
Ralph Lange
3f77ee12af ci: bump GHA actions/checkout v3->v4 2025-08-28 10:23:43 +02:00
Ralph Lange
e952bb9cf4 ci: update GHA runners
- ubuntu: add 24.04; remove 20.04 and 18.04
- windows: add 2025; remove 2019
- macos: add 15, 14, 13; remove 12 and 11
2025-08-28 10:23:43 +02:00
Michael Davidsaver
fe1e31e527 more "" environment variable handling
Enforce equivalence between unset and set to empty string
for some more environment variables.

Also, stricter validation of $WINE
2025-08-28 09:44:26 +02:00
Ralph Lange
b2b4e777f7 ci: fix AppVeyor install configuration
- Chocolatey dropped the 'cinst' shortname
2025-01-04 16:10:29 +01:00
Ralph Lange
0e93b70855 Windows: set CHOCO=NO to not use chocolatey
- needed when using the MSYS2 shell
2024-07-22 13:57:39 +02:00
Minijackson
fe29811d26 add --add-env argument for appending to generic environment variables 2024-04-30 16:38:14 +09:00
Ralph Lange
dead44c3cb Merge pull request #92 from Insomnia1437/master
Some checks failed
ci-scripts build/test / cross linux-aarch64 / / default (push) Successful in 2m57s
ci-scripts build/test / cross linux-arm@arm-linux-gnueabihf / / default (push) Successful in 2m56s
ci-scripts build/test / cross linux-arm@arm-linux-gnueabi / / default (push) Successful in 3m22s
ci-scripts build/test / cross RTEMS-pc386-qemu@4.9 / / default (push) Successful in 3m32s
ci-scripts build/test / cross linux-ppc64 / / default (push) Successful in 3m31s
ci-scripts build/test / cross RTEMS-pc386-qemu@4.10 / / default (push) Successful in 3m55s
ci-scripts build/test / cross linux-ppc / / default (push) Successful in 4m5s
ci-scripts build/test / cross windows-x64-mingw / / default (push) Successful in 4m31s
ci-scripts build/test / cross win32-x86-mingw / / default (push) Successful in 4m44s
ci-scripts build/test / cross RTEMS-pc686-qemu@5 / / default (push) Successful in 5m54s
ci-scripts build/test / Unit tests on macos-11 (push) Has been cancelled
ci-scripts build/test / Unit tests on macos-12 (push) Has been cancelled
ci-scripts build/test / Unit tests on ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / Unit tests on ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / Unit tests on windows-2019 (push) Has been cancelled
ci-scripts build/test / Unit tests on windows-2022 (push) Has been cancelled
ci-scripts build/test / clang / debug / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / clang / debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / default / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / clang / default / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / static / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / clang / static / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / static-debug / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / clang / static-debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / debug / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / gcc / debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / default / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / gcc / default / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / static / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / gcc / static / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / debug / macos-11 (push) Has been cancelled
ci-scripts build/test / clang / debug / macos-12 (push) Has been cancelled
ci-scripts build/test / clang / default / macos-11 (push) Has been cancelled
ci-scripts build/test / clang / default / macos-12 (push) Has been cancelled
ci-scripts build/test / gcc / debug / windows-2019 (push) Has been cancelled
ci-scripts build/test / gcc / debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / default / windows-2019 (push) Has been cancelled
ci-scripts build/test / gcc / default / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / static / windows-2019 (push) Has been cancelled
ci-scripts build/test / gcc / static / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / windows-2019 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2019 / debug / windows-2019 (push) Has been cancelled
ci-scripts build/test / vs2019 / default / windows-2019 (push) Has been cancelled
ci-scripts build/test / vs2019 / static / windows-2019 (push) Has been cancelled
ci-scripts build/test / vs2019 / static-debug / windows-2019 (push) Has been cancelled
ci-scripts build/test / vs2022 / debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / default / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / static / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / static-debug / windows-2022 (push) Has been cancelled
fix GHA example error and warning
2024-03-10 14:45:55 +01:00
DW
ca8fde2eaf fix GHA example error and warning 2024-03-10 11:50:21 +01:00
Michael Davidsaver
130e88b709 set TOP before processing --add-path
fix regression in dffe32c23e
2023-11-05 18:57:59 -08:00
Ralph Lange
20f8e05393 test: explicitly run tests using 'python3'
Some checks failed
ci-scripts build/test / cross linux-aarch64 / / default (push) Successful in 2m58s
ci-scripts build/test / cross RTEMS-pc386-qemu@4.10 / / default (push) Successful in 3m50s
ci-scripts build/test / cross linux-arm@arm-linux-gnueabi / / default (push) Successful in 2m51s
ci-scripts build/test / cross linux-arm@arm-linux-gnueabihf / / default (push) Successful in 3m2s
ci-scripts build/test / cross RTEMS-pc386-qemu@4.9 / / default (push) Successful in 3m55s
ci-scripts build/test / cross linux-ppc / / default (push) Successful in 3m33s
ci-scripts build/test / cross linux-ppc64 / / default (push) Successful in 3m35s
ci-scripts build/test / cross RTEMS-pc686-qemu@5 / / default (push) Successful in 5m33s
ci-scripts build/test / cross win32-x86-mingw / / default (push) Successful in 4m21s
ci-scripts build/test / cross windows-x64-mingw / / default (push) Successful in 5m3s
ci-scripts build/test / Unit tests on macos-11 (push) Has been cancelled
ci-scripts build/test / Unit tests on macos-12 (push) Has been cancelled
ci-scripts build/test / Unit tests on ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / Unit tests on ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / Unit tests on windows-2019 (push) Has been cancelled
ci-scripts build/test / Unit tests on windows-2022 (push) Has been cancelled
ci-scripts build/test / clang / debug / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / clang / debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / default / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / clang / default / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / static / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / clang / static / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / static-debug / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / clang / static-debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / debug / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / gcc / debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / default / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / gcc / default / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / static / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / gcc / static / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / ubuntu-20.04 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / ubuntu-22.04 (push) Has been cancelled
ci-scripts build/test / clang / debug / macos-11 (push) Has been cancelled
ci-scripts build/test / clang / debug / macos-12 (push) Has been cancelled
ci-scripts build/test / clang / default / macos-11 (push) Has been cancelled
ci-scripts build/test / clang / default / macos-12 (push) Has been cancelled
ci-scripts build/test / gcc / debug / windows-2019 (push) Has been cancelled
ci-scripts build/test / gcc / debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / default / windows-2019 (push) Has been cancelled
ci-scripts build/test / gcc / default / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / static / windows-2019 (push) Has been cancelled
ci-scripts build/test / gcc / static / windows-2022 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / windows-2019 (push) Has been cancelled
ci-scripts build/test / gcc / static-debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2019 / debug / windows-2019 (push) Has been cancelled
ci-scripts build/test / vs2019 / default / windows-2019 (push) Has been cancelled
ci-scripts build/test / vs2019 / static / windows-2019 (push) Has been cancelled
ci-scripts build/test / vs2019 / static-debug / windows-2019 (push) Has been cancelled
ci-scripts build/test / vs2022 / debug / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / default / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / static / windows-2022 (push) Has been cancelled
ci-scripts build/test / vs2022 / static-debug / windows-2022 (push) Has been cancelled
- 'python' is Python 2.7 on MacOS 12
2023-11-03 10:29:39 +01:00
Ralph Lange
2246ee79e4 Merge pull request #86 from mdavidsaver/win32-fix-make-path
Fix make path on Windows builds
2023-11-03 09:17:06 +01:00
Ralph Lange
7def04dc0e test: follow changes in unittest
- rename assertRegexpMatches() to assertRegex() (Python 3.2)
- rename assertRaisesRegexp() to assertRaisesRegex() (Python 3.2)
(fixes #88)
2023-11-03 09:14:03 +01:00
Ralph Lange
c153c10a11 Merge branch 'master' into win32-fix-make-path 2023-11-02 14:44:48 +01:00
Ralph Lange
a133e160ee Use get_platform() from sysconfig instead distutils.util
- distutils is dropped in python 3.10/3.12
- fixes #87
2023-11-02 11:32:08 +01:00
Michael Davidsaver
f57c9d5930 windows choose intended make.exe 2023-10-24 18:50:32 -07:00
Michael Davidsaver
dffe32c23e finish PATH manipulation before probing "make" 2023-10-24 11:39:54 -07:00
Michael Davidsaver
afeb69564c print tool location along with version 2023-10-24 10:48:54 -07:00
Michael Davidsaver
6ec067da78 Revert "workaround make -Otarget bug on windows"
This reverts commit 899b18336b.
2023-10-24 10:37:16 -07:00
Michael Davidsaver
899b18336b workaround make -Otarget bug on windows
Sometimes triggers "invalid output sync mutex" error from make.
2023-10-22 13:26:47 -07:00
Ralph Lange
8e0cb61c12 Merge pull request #83 from dirk-zimoch/colors
(fixes #82)
2023-10-03 11:58:59 +02:00
Ralph Lange
4028a10be9 removed debug message that spamed log files 2023-10-03 11:56:16 +02:00
Ralph Lange
b61f5079b7 Pull Request #83: removed debug message that spamed log files 2023-10-03 10:14:53 +02:00
e79a7fbf1e removed debug message that spamed log files 2023-10-03 10:12:30 +02:00
Ralph Lange
e0a7c52160 Merge pull request #81 from simon-ess/update_seq_url
Update default sequencer url
2023-09-15 10:08:05 +02:00
Simon Rose
6e190542d6 Update default sequencer url
Due to issues at CSR-bessy, sequencer is no longer hosted there. M.
Davidsaver is currently maintaining a mirror of that repository, which
we can point to instead.
2023-09-15 10:05:12 +02:00
Ralph Lange
a8bffdcfb7 Merge pull request #79 from dirk-zimoch/colors 2023-05-24 18:21:44 +02:00
Ralph Lange
8ea51154c0 enable compiler color output if available 2023-05-24 18:18:16 +02:00
Ralph Lange
4248dffeca Pull Request #79: enable compiler color output if available 2023-05-24 17:47:04 +02:00
9721faa716 enable compiler color output if available 2023-05-22 11:36:42 +02:00
Michael Davidsaver
c8b2773316 gha: drop ubuntu-18.04 2023-05-04 09:11:19 -07:00
Ralph Lange
1e0e326f74 Merge pull request #73 from mdavidsaver/split-extra
(closes #73)
2023-03-09 11:59:08 +00:00
Ralph Lange
bd0cd5434c Do not run tests on pc386-qemu@4.10
These started to fail with apparent reason.
2023-03-09 11:40:07 +00:00
Ralph Lange
819c2abba0 Readme: add paragraph on EXTRA args for make 2023-03-09 11:37:26 +00:00
Ralph Lange
6491f0116f Merge pull request #76 from FreddieAkeroyd/retry-choco
(closes #76)
2023-03-09 10:23:36 +00:00
Ralph Lange
f47280547b Fix unit tests to allow shlex.split() on EXTRA* 2023-03-09 10:04:31 +00:00
Freddie Akeroyd
e32822b9a3 Retry choco install 2023-03-09 00:09:47 +00:00
Michael Davidsaver
918feccf51 use shlex.split on $EXTRA* 2023-02-01 09:04:27 -08:00
Ralph Lange
fd925d83b6 Merge pull request #71 from mdavidsaver/master
GHA update to actions/checkout@v3
2022-10-17 12:17:43 +02:00
Michael Davidsaver
cd21488ec7 GHA update to actions/checkout@v3 2022-10-12 10:16:02 -07:00
12 changed files with 283 additions and 219 deletions

View File

@@ -45,9 +45,9 @@ skip_commits:
install:
# fetch submodules (like ci-scripts)
- cmd: git submodule update --init --recursive
- git submodule update --init --recursive
# for the sequencer
- cinst re2c
- choco install re2c
#---------------------------------#
# build matrix configuration #

View File

@@ -19,28 +19,54 @@ jobs:
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, ubuntu-20.04, ubuntu-18.04, windows-2022, windows-2019, macos-12, macos-11]
os: [ubuntu-24.04, ubuntu-22.04, windows-2025, windows-2022, macos-15, macos-14]
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Show initial environment
run: python cue-test.py env
run: python3 cue-test.py env
- name: Run unit tests
run: python cue-test.py
run: python3 cue-test.py
build-linux:
name: ${{ matrix.cmp }} / ${{ matrix.configuration }} / ${{ matrix.os }}
name: B-${{ matrix.base }} ${{ matrix.cmp }} ${{ matrix.configuration }} @ ${{ matrix.os }}
runs-on: ${{ matrix.os }}
env:
CMP: ${{ matrix.cmp }}
BCFG: ${{ matrix.configuration }}
BASE: ${{ matrix.base }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-22.04, ubuntu-20.04, ubuntu-18.04]
os: [ubuntu-24.04, ubuntu-22.04]
cmp: [gcc, clang]
configuration: [default, static, debug, static-debug]
base: ["7.0"]
include:
- os: ubuntu-24.04
cmp: gcc
configuration: default
base: "3.15"
name: "B-3.15 Ub-24 gcc-13"
- os: ubuntu-24.04
cmp: gcc
configuration: static
base: "3.15"
name: "B-3.15 Ub-24 gcc-13, static"
- os: ubuntu-24.04
cmp: gcc
configuration: default
base: "3.14"
name: "B-3.14 Ub-24 gcc-13"
- os: ubuntu-24.04
cmp: gcc
configuration: static
base: "3.14"
name: "B-3.14 Ub-24 gcc-13, static"
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Prepare and compile dependencies
run: python cue.py prepare
- name: Build main module (example app)
@@ -51,19 +77,34 @@ jobs:
run: python cue.py test-results
build-macos:
name: ${{ matrix.cmp }} / ${{ matrix.configuration }} / ${{ matrix.os }}
name: B-${{ matrix.base }} ${{ matrix.cmp }} ${{ matrix.configuration }} @ ${{ matrix.os }}
runs-on: ${{ matrix.os }}
env:
CMP: ${{ matrix.cmp }}
BCFG: ${{ matrix.configuration }}
BASE: ${{ matrix.base }}
strategy:
fail-fast: false
matrix:
os: [macos-12, macos-11]
os: [macos-15, macos-14]
cmp: [clang]
configuration: [default, debug]
base: ["7.0"]
include:
- os: macos-15
cmp: clang
configuration: default
base: "3.15"
name: "B-3.15 Mac-15"
# Base 3.14 does not support MacOS-aarch64
# - os: macos-15
# cmp: clang
# configuration: default
# base: "3.14"
# name: "B-3.14 Mac-15"
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Prepare and compile dependencies
run: python cue.py prepare
- name: Build main module (example app)
@@ -74,26 +115,33 @@ jobs:
run: python cue.py test-results
build-windows:
name: ${{ matrix.cmp }} / ${{ matrix.configuration }} / ${{ matrix.os }}
name: B-${{ matrix.base }} ${{ matrix.cmp }} ${{ matrix.configuration }} @ ${{ matrix.os }}
runs-on: ${{ matrix.os }}
env:
CMP: ${{ matrix.cmp }}
BCFG: ${{ matrix.configuration }}
BASE: ${{ matrix.base }}
strategy:
fail-fast: false
matrix:
os: [windows-2022, windows-2019]
cmp: [gcc, vs2022, vs2019]
os: [windows-2025, windows-2022]
cmp: [gcc, vs2022]
configuration: [default, static, debug, static-debug]
exclude:
- os: windows-2022
cmp: vs2019
- os: windows-2019
base: [ "7.0" ]
include:
- os: windows-2025
cmp: vs2022
configuration: static
base: "3.15"
name: "B-3.15 Win-25 MSC-22 static"
- os: windows-2025
cmp: vs2022
configuration: static
base: "3.14"
name: "B-3.14 Win-25 MSC-22 static"
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Prepare and compile dependencies
run: python cue.py prepare
- name: Build main module (example app)
@@ -105,18 +153,19 @@ jobs:
build-cross:
name: cross ${{ matrix.cross }} / ${{ matrix.cmp }} / ${{ matrix.configuration }}
runs-on: ubuntu-20.04
runs-on: ubuntu-latest
env:
CMP: gcc
BCFG: default
CI_CROSS_TARGETS: ${{ matrix.cross }}
TEST: ${{ matrix.test }}
APT: re2c
strategy:
fail-fast: false
matrix:
# configuration: [default, static, debug, static-debug]
configuration: [default]
cross:
cross:
- linux-aarch64
- linux-arm@arm-linux-gnueabi
- linux-arm@arm-linux-gnueabihf
@@ -127,8 +176,11 @@ jobs:
- RTEMS-pc386-qemu@4.9
- RTEMS-pc386-qemu@4.10
- RTEMS-pc686-qemu@5
include:
- cross: RTEMS-pc386-qemu@4.10
test: NO
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
- name: Prepare and compile dependencies
run: python cue.py prepare
- name: Build main module (example app)

View File

@@ -189,6 +189,19 @@ Collect the results of your tests and print a summary.
`exec`\
Execute the remainder of the line using the default command shell.
## Extra arguments to `make`
You can add additional arguments to the make runs that the `cue.py` script
starts. Put your additional arguments into environment variables named
`EXTRA`, `EXTRA1`, ... `EXTRA5`.
The variables may contain multiple arguments, separated by whitespace.
Use regular shell script quoting (single/double quotes, backslash escapes)
if you need spaces inside an extra argument.
The YAML syntax needed to set environment variables depends on the CI
service and platform. (See the full example configuration file.)
## Setup Files
Your module might depend on EPICS Base and a few other support modules.

View File

@@ -41,9 +41,9 @@ skip_commits:
install:
# fetch submodules (like ci-scripts)
- cmd: git submodule update --init --recursive
- git submodule update --init --recursive
# for the sequencer
- cinst re2c
- choco install re2c
#---------------------------------#
# build matrix configuration #

View File

@@ -18,7 +18,7 @@ skip_commits:
- '.travis.yml'
install:
- cmd: git submodule update --init --recursive
- git submodule update --init --recursive
image: Visual Studio 2022

View File

@@ -8,7 +8,6 @@
from __future__ import print_function
import sys, os, shutil, fileinput
import distutils.util
import re
import subprocess as sp
import unittest
@@ -81,10 +80,10 @@ class TestSourceSet(unittest.TestCase):
def test_EmptySetupDirsPath(self):
del os.environ['SETUP_PATH']
self.assertRaisesRegexp(NameError, '\(SETUP_PATH\) is empty', cue.source_set, 'test01')
self.assertRaisesRegex(NameError, '\(SETUP_PATH\) is empty', cue.source_set, 'test01')
def test_InvalidSetupName(self):
self.assertRaisesRegexp(NameError, 'does not exist in SETUP_PATH', cue.source_set, 'xxdoesnotexistxx')
self.assertRaisesRegex(NameError, 'does not exist in SETUP_PATH', cue.source_set, 'xxdoesnotexistxx')
def test_ValidSetupName(self):
capturedOutput = getStringIO()
@@ -121,7 +120,7 @@ class TestSourceSet(unittest.TestCase):
sys.stdout = capturedOutput
cue.source_set('test03')
sys.stdout = sys.__stdout__
self.assertRegexpMatches(capturedOutput.getvalue(), 'Ignoring already included setup file')
self.assertRegex(capturedOutput.getvalue(), 'Ignoring already included setup file')
class TestUpdateReleaseLocal(unittest.TestCase):
@@ -270,12 +269,12 @@ class TestAddDependencyOptions(unittest.TestCase):
cue.detect_context()
if os.path.exists(cue.ci['cachedir']):
shutil.rmtree(cue.ci['cachedir'], onerror=cue.remove_readonly)
self.location = os.path.join(cue.ci['cachedir'], 'mcoreutils-master')
self.location = os.path.join(cue.ci['cachedir'], 'mcoreutils-main')
self.testfile = os.path.join(self.location, '.ci', 'LICENSE')
os.path.join(cue.ci['cachedir'], 'mcoreutils-master')
os.path.join(cue.ci['cachedir'], 'mcoreutils-main')
cue.source_set('defaults')
cue.complete_setup('MCoreUtils')
cue.setup['MCoreUtils'] = 'master'
cue.setup['MCoreUtils'] = 'main'
def test_Default(self):
cue.add_dependency('MCoreUtils')
@@ -530,7 +529,7 @@ class TestTravisDetectContext(unittest.TestCase):
sys.stdout = capturedOutput
cue.detect_context()
sys.stdout = sys.__stdout__
self.assertRegexpMatches(capturedOutput.getvalue(), "Variable 'STATIC' not supported anymore")
self.assertRegex(capturedOutput.getvalue(), "Variable 'STATIC' not supported anymore")
def test_MisspelledBcfgGetsWarning(self):
os.environ['BCFG'] = 'static-dubug'
@@ -538,7 +537,7 @@ class TestTravisDetectContext(unittest.TestCase):
sys.stdout = capturedOutput
cue.detect_context()
sys.stdout = sys.__stdout__
self.assertRegexpMatches(capturedOutput.getvalue(), "Unrecognized build configuration setting")
self.assertRegex(capturedOutput.getvalue(), "Unrecognized build configuration setting")
@unittest.skipIf(ci_service != 'appveyor', 'Run appveyor tests only on appveyor')
@@ -691,7 +690,7 @@ class TestAppveyorDetectContext(unittest.TestCase):
sys.stdout = capturedOutput
cue.detect_context()
sys.stdout = sys.__stdout__
self.assertRegexpMatches(capturedOutput.getvalue(), "Variable 'STATIC' not supported anymore")
self.assertRegex(capturedOutput.getvalue(), "Variable 'STATIC' not supported anymore")
def test_MisspelledConfigurationGetsWarning(self):
os.environ['CONFIGURATION'] = 'static-dubug'
@@ -699,11 +698,11 @@ class TestAppveyorDetectContext(unittest.TestCase):
sys.stdout = capturedOutput
cue.detect_context()
sys.stdout = sys.__stdout__
self.assertRegexpMatches(capturedOutput.getvalue(), "Unrecognized build configuration setting")
self.assertRegex(capturedOutput.getvalue(), "Unrecognized build configuration setting")
class TestSetupForBuild(unittest.TestCase):
args = Namespace(paths=[])
args = Namespace(extra_env_vars=[])
if ci_os == 'windows':
choco_installs = ['make']
if ci_service != 'appveyor':
@@ -722,7 +721,7 @@ class TestSetupForBuild(unittest.TestCase):
def test_AddPathsOption(self):
os.environ['FOOBAR'] = 'BAR'
args = Namespace(paths=['/my/{FOOBAR}/dir', '/my/foobar'])
args = Namespace(extra_env_vars=['PATH=/my/{FOOBAR}/dir', 'PATH=/my/foobar'])
cue.setup_for_build(args)
self.assertTrue(re.search('/my/BAR/dir', os.environ['PATH']), 'Expanded path not in PATH')
self.assertTrue(re.search('/foobar', os.environ['PATH']), 'Plain path not in PATH')
@@ -841,7 +840,7 @@ class TestSetupForBuild(unittest.TestCase):
def test_ExtraMakeArgs(self):
os.environ['EXTRA'] = 'bla'
for ind in range(1,5):
os.environ['EXTRA{0}'.format(ind)] = 'bla {0}'.format(ind)
os.environ['EXTRA{0}'.format(ind)] = '"bla {0}"'.format(ind)
cue.setup_for_build(self.args)
self.assertTrue(cue.extra_makeargs[0] == 'bla', 'Extra make arg [0] not set')
for ind in range(1,5):
@@ -864,7 +863,8 @@ class TestHooks(unittest.TestCase):
pass
with open(self.bla_file, 'w') as f:
f.write('''LINE1=YES
LINE2=NO''')
LINE2=NO
''')
def test_patchfile(self):
hook = os.path.join(builddir, 'test.patch')
@@ -888,7 +888,7 @@ LINE2=NO''')
@unittest.skipIf(ci_os != 'linux', 'CrossCompatibilityHandling tests only apply to linux')
class TestCrossCompatibilityHandling(unittest.TestCase):
args = Namespace(paths=[])
args = Namespace(extra_env_vars=[])
def setUp(self):
cue.clear_lists()

129
cue.py
View File

@@ -4,14 +4,22 @@
from __future__ import print_function
import sys, os, stat, shutil
import sys, os, stat, shlex, shutil
import fileinput
import logging
import re
import time
import threading
from glob import glob
import subprocess as sp
import distutils.util
import sysconfig
import shutil
try:
from os import cpu_count
except ImportError:
def cpu_count():
pass # undetermined
logger = logging.getLogger(__name__)
@@ -31,6 +39,11 @@ def log_modified():
sys.stdout.write(F.read())
sys.stdout.write(os.linesep)
def whereis(cmd):
if hasattr(shutil, 'which'): # >= py3.3
loc = shutil.which(cmd)
print('{0}Found exec {1} at {2!r} {3}'.format(ANSI_CYAN, cmd, loc, ANSI_RESET))
def prepare_env():
'''HACK
github actions yaml configuration doesn't allow
@@ -129,7 +142,10 @@ def detect_context():
ci['cachedir'] = os.environ['CACHEDIR']
if 'CHOCO' in os.environ:
ci['choco'].extend(os.environ['CHOCO'].split())
if os.environ['CHOCO'] == 'NO':
ci['choco'] = []
else:
ci['choco'].extend(os.environ['CHOCO'].split())
if 'APT' in os.environ:
ci['apt'].extend(os.environ['APT'].split())
@@ -141,7 +157,7 @@ def detect_context():
if 'TEST' in os.environ and os.environ['TEST'].lower() == 'no':
ci['test'] = False
ci['parallel_make'] = 2
ci['parallel_make'] = cpu_count() or 2
if 'PARALLEL_MAKE' in os.environ:
ci['parallel_make'] = int(os.environ['PARALLEL_MAKE'])
@@ -313,7 +329,7 @@ def host_info():
print('PYTHONPATH')
for dname in sys.path:
print(' ', dname)
print('platform =', distutils.util.get_platform())
print('platform =', sysconfig.get_platform())
if ci['os'] == 'windows':
print('{0}Available Visual Studio versions{1}'.format(ANSI_CYAN, ANSI_RESET))
@@ -421,9 +437,11 @@ def update_release_local(var, location):
def set_setup_from_env(dep):
for postf in ['', '_DIRNAME', '_REPONAME', '_REPOOWNER', '_REPOURL',
'_VARNAME', '_RECURSIVE', '_DEPTH', '_HOOK']:
if dep + postf in os.environ:
setup[dep + postf] = os.environ[dep + postf]
logger.debug('ENV assignment: %s = %s', dep + postf, setup[dep + postf])
env = dep + postf
val = os.environ.get(env)
if val:
setup[env] = val
logger.debug('ENV assignment: %s = %s', env, setup[env])
def call_git(args, **kws):
@@ -600,6 +618,13 @@ def add_dependency(dep):
sys.stdout.flush()
sp.check_call(['patch', '-p1', '-i', os.path.join(ci['scriptsdir'], 'add-msi-to-314.patch')],
cwd=place)
# Post 3.14 we have checks for readline.h
print('Patching COMMANDLINE_LIBRARY to EPICS')
sys.stdout.flush()
sp.check_call(['patch', '-p1', '-i', os.path.join(ci['scriptsdir'], 'dont_use_readline_314.patch')],
cwd=place)
else:
# force including RELEASE.local for non-base modules by overwriting their configure/RELEASE
release = os.path.join(place, "configure", "RELEASE")
@@ -686,8 +711,10 @@ def setup_for_build(args):
if ci['os'] == 'windows':
if os.path.exists(r'C:\Strawberry\perl\bin'):
# Put strawberry perl in front of the PATH (so that Git Perl is further behind)
# Put Chocolatey\bin ahead to select correct make.exe
logger.debug('Adding Strawberry Perl in front of the PATH')
os.environ['PATH'] = os.pathsep.join([r'C:\Strawberry\c\bin',
os.environ['PATH'] = os.pathsep.join([r'C:\ProgramData\Chocolatey\bin',
r'C:\Strawberry\c\bin',
r'C:\Strawberry\perl\site\bin',
r'C:\Strawberry\perl\bin',
os.environ['PATH']])
@@ -755,30 +782,52 @@ def setup_for_build(args):
if re.match('^test-results:', line):
has_test_results = True
# Check make version
if re.match(r'^GNU Make 3', sp.check_output(['make', '-v']).decode('ascii')):
is_make3 = True
logger.debug('Check if make is a 3.x series: %s', is_make3)
# apparently %CD% is handled automagically
# apparently %CD% is handled automagically, so use getcwd() instead
os.environ['TOP'] = os.getcwd()
os.environ['MAKE'] = 'make'
os.environ['EPICS_BASE'] = places['EPICS_BASE']
addpaths = []
for path in args.paths:
changed_vars = set()
for extra_env_var in args.extra_env_vars:
try:
addpaths.append(path.format(**os.environ))
key_value = extra_env_var.split('=')
key = key_value[0]
value = key_value[1]
expanded_value = value.format(**os.environ)
# Update the environment right now so later variables have access
if key in os.environ:
old_value = [os.environ[key]]
else:
old_value = []
os.environ[key] = os.pathsep.join(old_value + [expanded_value])
changed_vars.add(key)
except KeyError:
print('Environment')
[print(' ', K, '=', repr(V)) for K, V in os.environ.items()]
raise
os.environ['PATH'] = os.pathsep.join([os.environ['PATH']] + addpaths)
for key in changed_vars:
print("{0}{2} = {3}{1}".format(ANSI_CYAN, ANSI_RESET, key, os.environ[key]))
# os.environ completely updated at this point
logger.debug('Final PATH')
for loc in os.environ['PATH'].split(os.pathsep):
logger.debug(' %r', loc)
# Check make version
if re.match(r'^GNU Make 3', sp.check_output(['make', '-v']).decode('ascii')):
is_make3 = True
logger.debug('Check if make is a 3.x series: %s', is_make3)
# Add EXTRA make arguments
for tag in ['EXTRA', 'EXTRA1', 'EXTRA2', 'EXTRA3', 'EXTRA4', 'EXTRA5']:
val = os.environ.get(tag, "")
if len(val)>0:
extra_makeargs.append(val)
extra_makeargs.extend(shlex.split(val))
def fix_etc_hosts():
@@ -829,9 +878,8 @@ def handle_old_cross_variables():
os.environ["CI_CROSS_TARGETS"] = ""
if "RTEMS" in os.environ:
if 'RTEMS_TARGET' in os.environ:
rtems_target = os.environ['RTEMS_TARGET']
else:
rtems_target = os.environ.get('RTEMS_TARGET')
if not rtems_target:
if os.environ['RTEMS'] == '5':
rtems_target = 'RTEMS-pc686-qemu'
else:
@@ -855,8 +903,10 @@ def handle_old_cross_variables():
if "WINE" in os.environ:
if os.environ['WINE'] == '32':
new_cross_target = ":win32-x86-mingw"
else:
elif os.environ['WINE'] == '64':
new_cross_target = ":windows-x64-mingw"
else:
raise RuntimeError("Invalid $WINE, must be 32/64")
os.environ["CI_CROSS_TARGETS"] += new_cross_target
print(
@@ -1208,11 +1258,27 @@ PERL = C:/Strawberry/perl/bin/perl -CSD'''
with open(os.path.join(places['EPICS_BASE'], 'configure', 'CONFIG_SITE'), 'a') as f:
f.write(extra_config)
# enable color in error and warning messages if the (cross) compiler supports it
with open(os.path.join(places['EPICS_BASE'], 'configure', 'CONFIG'), 'a') as f:
f.write('''
ifdef T_A
COLOR_FLAG_$(T_A) := $(shell $(CPP) -fdiagnostics-color -E - </dev/null >/dev/null 2>/dev/null && echo -fdiagnostics-color)
USR_CPPFLAGS += $(COLOR_FLAG_$(T_A))
endif''')
fold_end('set.up.epics_build', 'Configuring EPICS build system')
if ci['os'] == 'windows' and ci['choco']:
fold_start('install.choco', 'Installing CHOCO packages')
sp.check_call(['choco', 'install'] + ci['choco'] + ['-y', '--limitoutput', '--no-progress'])
for i in range(0,3):
try:
sp.check_call(['choco', 'install'] + ci['choco'] + ['-y', '--limitoutput', '--no-progress'])
except Exception as e:
print(e)
print("Retrying choco install attempt {} after 30 seconds".format(i+1))
time.sleep(30)
else:
break
fold_end('install.choco', 'Installing CHOCO packages')
if ci['os'] == 'linux' and ci['apt']:
@@ -1229,23 +1295,28 @@ PERL = C:/Strawberry/perl/bin/perl -CSD'''
setup_for_build(args)
print('{0}EPICS_HOST_ARCH = {1}{2}'.format(ANSI_CYAN, os.environ['EPICS_HOST_ARCH'], ANSI_RESET))
whereis('make')
print('{0}$ make --version{1}'.format(ANSI_CYAN, ANSI_RESET))
sys.stdout.flush()
call_make(['--version'], parallel=0)
whereis('perl')
print('{0}$ perl --version{1}'.format(ANSI_CYAN, ANSI_RESET))
sys.stdout.flush()
sp.check_call(['perl', '--version'])
if re.match(r'^vs', ci['compiler']):
whereis('cl')
print('{0}$ cl{1}'.format(ANSI_CYAN, ANSI_RESET))
sys.stdout.flush()
sp.check_call(['cl'])
else:
cc = ci['compiler']
whereis(cc)
print('{0}$ {1} --version{2}'.format(ANSI_CYAN, cc, ANSI_RESET))
sys.stdout.flush()
sp.check_call([cc, '--version'])
if cxx:
whereis(cxx)
print('{0}$ {1} --version{2}'.format(ANSI_CYAN, cxx, ANSI_RESET))
sys.stdout.flush()
sp.check_call([cxx, '--version'])
@@ -1318,8 +1389,6 @@ def test_results(args):
def doExec(args):
'exec user command with vcvars'
setup_for_build(args)
os.environ['MAKE'] = 'make'
os.environ['EPICS_BASE'] = places['EPICS_BASE']
fold_start('exec.command', 'Execute command {}'.format(args.cmd))
sp.check_call(' '.join(args.cmd), shell=True)
fold_end('exec.command', 'Execute command {}'.format(args.cmd))
@@ -1389,8 +1458,10 @@ def getargs():
p = ArgumentParser()
p.add_argument('--no-vcvars', dest='vcvars', default=True, action='store_false',
help='Assume vcvarsall.bat has already been run')
p.add_argument('--add-path', dest='paths', default=[], action='append',
help='Append directory to $PATH or %%PATH%%. Expands {ENVVAR}')
p.add_argument('--add-path', dest='extra_env_vars', type=lambda x: "PATH={}".format(x), default=[], action='append',
help='Append directory to $PATH or %%PATH%%. Expands {ENVVAR}. Equivalent to: "--add-env PATH=<PATHS>"')
p.add_argument('--add-env', dest='extra_env_vars', default=[], action='append',
help='Append directory to the specified $ENVVAR or %%ENVVAR%%. Expands {OTHER_ENVVAR}. Example: "--add-env \'LD_LIBRARY_PATH={EPICS_BASE}/lib/{EPICS_HOST_ARCH}\'"')
p.add_argument('-T', '--timeout', type=timespec, metavar='DLY',
help='Terminate make after delay. DLY interpreted as second, or may be qualified with "S", "M", or "H". (default no timeout)')
subp = p.add_subparsers()

View File

@@ -18,7 +18,7 @@ NTYPES_REPONAME=normativeTypesCPP
NTYPES_REPOOWNER=epics-base
# Sequencer
SNCSEQ_REPOURL=https://www-csr.bessy.de/control/SoftDist/sequencer/repo/branch-2-2.git
SNCSEQ_REPOURL=https://github.com/mdavidsaver/sequencer-mirror.git
SNCSEQ_DEPTH=0
SNCSEQ_DIRNAME=seq

View File

@@ -0,0 +1,24 @@
diff -urN a/configure/os/CONFIG_SITE.Common.linux-x86 b/configure/os/CONFIG_SITE.Common.linux-x86
--- a/configure/os/CONFIG_SITE.Common.linux-x86 2023-02-08 18:55:20.000000000 +0100
+++ b/configure/os/CONFIG_SITE.Common.linux-x86 2025-12-02 10:56:20.064200334 +0100
@@ -22,7 +22,7 @@
# comment them all out to build without readline support.
# No other libraries needed (recent Fedora, Ubuntu etc.):
-COMMANDLINE_LIBRARY = READLINE
+#COMMANDLINE_LIBRARY = READLINE
# Needs -lncurses (RHEL 5 etc.):
#COMMANDLINE_LIBRARY = READLINE_NCURSES
diff -urN a/configure/os/CONFIG_SITE.Common.linux-x86_64 b/configure/os/CONFIG_SITE.Common.linux-x86_64
--- a/configure/os/CONFIG_SITE.Common.linux-x86_64 2023-02-08 18:55:20.000000000 +0100
+++ b/configure/os/CONFIG_SITE.Common.linux-x86_64 2025-12-02 10:56:28.328188418 +0100
@@ -22,7 +22,7 @@
# comment them all out to build without readline support.
# No other libraries needed (recent Fedora, Ubuntu etc.):
-COMMANDLINE_LIBRARY = READLINE
+#COMMANDLINE_LIBRARY = READLINE
# Needs -lncurses (RHEL 5 etc.):
#COMMANDLINE_LIBRARY = READLINE_NCURSES

View File

@@ -41,113 +41,57 @@ jobs:
matrix:
# Job names also name artifacts, character limitations apply
include:
- os: ubuntu-20.04
- os: ubuntu-24.04
cmp: gcc
configuration: default
wine: "64"
name: "Ub-20 gcc-9 + MinGW"
name: "Ub-24 gcc + MinGW"
- os: ubuntu-20.04
- os: ubuntu-24.04
cmp: gcc
configuration: static
wine: "64"
name: "Ub-20 gcc-9 + MinGW, static"
name: "Ub-24 gcc + MinGW, static"
- os: ubuntu-20.04
- os: ubuntu-24.04
cmp: gcc
configuration: static
extra: "CMD_CXXFLAGS=-std=c++11"
name: "Ub-20 gcc-9 C++11, static"
name: "Ub-24 gcc C++11, static"
- os: ubuntu-18.04
cmp: clang
configuration: default
name: "Ub-18 clang-9"
- os: ubuntu-20.04
- os: ubuntu-24.04
cmp: clang
configuration: default
extra: "CMD_CXXFLAGS=-std=c++11"
name: "Ub-20 clang-10 C++11"
name: "Ub-24 clang C++11"
- os: ubuntu-20.04
- os: ubuntu-22.04
cmp: gcc
configuration: default
rtems: "4.10"
name: "Ub-20 gcc-9 + RT-4.10"
cross: "RTEMS-pc686-qemu@5"
name: "Ub-22 gcc + RT-5.1 pc686"
- os: ubuntu-20.04
- os: ubuntu-22.04
cmp: gcc
configuration: default
rtems: "4.9"
name: "Ub-20 gcc-9 + RT-4.9"
- os: ubuntu-20.04
cmp: gcc
configuration: default
rtems: "5"
rtems_target: RTEMS-pc686-qemu
name: "Ub-20 gcc-9 + RT-5.1 pc686"
- os: ubuntu-20.04
cmp: gcc
configuration: default
rtems: "5"
rtems_target: RTEMS-beatnik
cross: "RTEMS-beatnik@5"
test: NO
name: "Ub-20 gcc-9 + RT-5.1 beatnik"
name: "Ub-22 gcc + RT-5.1 beatnik"
- os: ubuntu-18.04
- os: macos-latest
cmp: clang
configuration: default
name: "MacOS clang"
- os: windows-2022
cmp: gcc
configuration: default
name: "Ub-18 gcc-7"
name: "Win2022 MinGW"
- os: ubuntu-18.04
cmp: gcc-8
utoolchain: true
configuration: default
name: "Ub-18 gcc-8"
- os: ubuntu-20.04
cmp: gcc-8
utoolchain: true
configuration: default
name: "Ub-20 gcc-8"
- os: ubuntu-20.04
cmp: clang
configuration: default
name: "Ub-20 clang-10"
- os: macos-11
cmp: clang
configuration: default
name: "MacOS clang-13"
- os: macos-12
cmp: clang
configuration: default
name: "MacOS clang-13"
- os: windows-2019
cmp: gcc
configuration: default
name: "Win2019 MinGW"
- os: windows-2019
- os: windows-2022
cmp: gcc
configuration: static
name: "Win2019 MinGW, static"
- os: windows-2019
cmp: vs2019
configuration: default
name: "Win2019 MSC-19"
- os: windows-2019
cmp: vs2019
configuration: static
name: "Win2019 MSC-19, static"
name: "Win2022 MinGW, static"
- os: windows-2022
cmp: vs2022
@@ -159,8 +103,14 @@ jobs:
configuration: static
name: "Win2022 MSC-22, static"
- os: ubuntu-latest
cmp: gcc
configuration: default
name: "Cross linux-aarch64"
cross: linux-aarch64
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: true
- name: Automatic core dumper analysis
@@ -170,13 +120,6 @@ jobs:
sudo apt-get update
sudo apt-get -y install qemu-system-x86 g++-mingw-w64-x86-64 gdb
if: runner.os == 'Linux'
- name: "apt-get install ${{ matrix.cmp }}"
run: |
sudo apt-get -y install software-properties-common
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get -y install ${{ matrix.cmp }}
if: matrix.utoolchain
- name: Prepare and compile dependencies
run: python .ci/cue.py prepare
- name: Build main module
@@ -184,44 +127,10 @@ jobs:
- name: Run main module tests
run: python .ci/cue.py -T 15M test
- name: Upload tapfiles Artifact
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: tapfiles ${{ matrix.name }}
path: '**/O.*/*.tap'
- name: Collect and show test results
run: python .ci/cue.py test-results
build-cross:
name: cross ${{ matrix.cross }} / ${{ matrix.cmp }} / ${{ matrix.configuration }}
runs-on: ubuntu-20.04
env:
CMP: gcc
BCFG: default
CI_CROSS_TARGETS: ${{ matrix.cross }}
APT: re2c
strategy:
fail-fast: false
matrix:
# configuration: [default, static, debug, static-debug]
configuration: [default]
cross:
- linux-aarch64
- linux-arm@arm-linux-gnueabi
- linux-arm@arm-linux-gnueabihf
- linux-ppc
- linux-ppc64
- win32-x86-mingw
- windows-x64-mingw
- RTEMS-pc386-qemu@4.9
- RTEMS-pc386-qemu@4.10
- RTEMS-pc686-qemu@5
steps:
- uses: actions/checkout@v2
- name: Prepare and compile dependencies
run: python cue.py prepare
- name: Build main module
run: python cue.py build
- name: Run main module tests
run: python cue.py -T 15M test
- name: Collect and show test results
run: python cue.py test-results
if: ${{ always() }}
run: python .ci/cue.py -T 5M test-results

View File

@@ -31,44 +31,39 @@ jobs:
strategy:
fail-fast: false
matrix:
- os: ubuntu-18.04
cmp: gcc
configuration: default
base: "7.0"
name: "7.0 Ub-18 gcc-7"
- os: ubuntu-18.04
cmp: gcc
configuration: static
base: "7.0"
name: "7.0 Ub-18 gcc-7 static"
- os: ubuntu-20.04
include:
- os: ubuntu-24.04
cmp: gcc
configuration: default
base: "3.15"
name: "3.15 Ub-20 gcc-9"
name: "3.15 Ub-24 gcc"
- os: ubuntu-20.04
- os: ubuntu-24.04
cmp: gcc
configuration: default
base: "7.0"
name: "7.0 Ub-24 gcc"
- os: ubuntu-24.04
cmp: gcc
configuration: static
base: "3.15"
name: "3.15 Ub-20 gcc-9 static"
name: "3.15 Ub-24 gcc static"
- os: ubuntu-20.04
- os: ubuntu-24.04
cmp: gcc
configuration: debug
base: "3.15"
name: "3.15 Ub-20 gcc-9 debug"
name: "3.15 Ub-24 gcc debug"
- os: ubuntu-20.04
- os: ubuntu-24.04
cmp: clang
configuration: default
base: "3.15"
name: "3.15 Ub-20 clang-10"
name: "3.15 Ub-24 clang"
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v4
with:
submodules: true
- name: Prepare and compile dependencies

View File

@@ -1,7 +1,7 @@
diff -ruN a/bla.txt b/bla.txt
--- a/bla.txt 2020-06-19 18:54:43.129076711 +0200
+++ b/bla.txt 2020-06-19 18:55:05.093948316 +0200
@@ -1,3 +1,3 @@
@@ -1,2 +1,2 @@
-LINE1=YES
+LINE1=NO
LINE2=NO