Skip to content

Commit

Permalink
WIP: Upload some binaries as artifacts in CI jobs & create i386 build
Browse files Browse the repository at this point in the history
These are the ones that are distributed in official releases.

TODO: try to get the DOS & CP/M binaries going, too
  • Loading branch information
dfandrich committed Mar 26, 2024
1 parent e84ca98 commit a042589
Showing 1 changed file with 34 additions and 5 deletions.
39 changes: 34 additions & 5 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -82,30 +82,53 @@ jobs:
chmod 755 wine-wrapper
# Run wine once to set it up, which displays some logs that would mess up tests
WINEDEBUG=-all wine cmd /c exit
- name: 'Compile with mingw32'
run: make clean && make linux LINUX_CC=x86_64-w64-mingw32-gcc
- name: 'Run tests with mingw32+wine'
run: make test TESTWRAPPER=./wine-wrapper
- name: 'Compile with mingw32-posix'
run: make clean && make linux LINUX_CC=x86_64-w64-mingw32-gcc-10-posix
- name: 'Run tests with mingw32-posix+wine'
run: make test TESTWRAPPER=./wine-wrapper
- name: 'Compile with mingw32'
run: make clean && make linux LINUX_CC=x86_64-w64-mingw32-gcc
- name: 'Run tests with mingw32+wine'
run: make test TESTWRAPPER=./wine-wrapper
- name: 'Strip binary'
run: x86_64-w64-mingw32-strip fvcbm.exe
- uses: actions/upload-artifact@v4
with:
name: 'fvcbm-windows.exe'
path: fvcbm.exe

alpine-3_19:
alpine-3_19-x86_64:
name: 'Alpine 3.19 with MUSL'
runs-on: ubuntu-latest
container: 'alpine:3.19'
steps:
- uses: actions/checkout@v4
- name: 'Install deps'
run: >
cat /etc/os-release &&
apk add --no-cache
build-base
groff
- name: 'Compile with gcc with MUSL'
run: make linux
- name: 'Run tests with gcc with MUSL'
run: make test
- name: 'Install i386 chroot'
run: |
OSVER="$(sed -nE '/^VERSION_ID=/s/^.*=([0-9]+\.[0-9]+).*$/\1/p' /etc/os-release)
apk -p i386root -X https://dl-cdn.alpinelinux.org/alpine/v${OSVER}/main -U --allow-untrusted --initdb --arch x86 add alpine-baselayout build-base groff
cat i386root/etc/os-release
git clone . i386root/root/fvcbm
- name: 'Compile with gcc with MUSL on i386'
run: chroot i386root make -C /root/fvcbm linux
- name: 'Run tests with gcc with MUSL on i386'
run: chroot i386root make -C /root/fvcbm test
- name: 'Strip binary'
run: strip i386root/root/fvcbm/fvcbm
- uses: actions/upload-artifact@v4
with:
name: 'fvcbm-linux-x86'
path: i386root/root/fvcbm/fvcbm

osx-12-x86_64:
name: 'macOS 12 on x86_64'
Expand All @@ -120,6 +143,12 @@ jobs:
run: make clean && make linux LINUX_CC=cc LINUX_CFLAGS='-O2 -DUNIX -arch arm64 -arch x86_64'
- name: 'Run tests with fat binary with gcc on x86_64'
run: make test
- name: 'Strip binary'
run: strip fvcbm
- uses: actions/upload-artifact@v4
with:
name: 'fvcbm-macos'
path: fvcbm

osx-14-aarch64:
name: 'macOS 14 on aarch64'
Expand Down

0 comments on commit a042589

Please sign in to comment.