You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
113 lines
2.3 KiB
113 lines
2.3 KiB
--- |
|
name: Build test |
|
'on': |
|
push: |
|
branches: |
|
- main |
|
pull_request: |
|
branches: |
|
- main |
|
|
|
# ensure that the workflow is only triggered once per PR, subsequent pushes to the PR will cancel |
|
# and restart the workflow. See https://docs.github.com/en/actions/using-jobs/using-concurrency |
|
concurrency: |
|
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }} |
|
cancel-in-progress: true |
|
|
|
jobs: |
|
build-make: |
|
runs-on: ubuntu-latest |
|
|
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
os: [ "alpine", "archlinux", "fedora", "ubuntu:23.10" ] |
|
|
|
container: |
|
image: ${{ matrix.os }} |
|
|
|
steps: |
|
- name: Checkout |
|
uses: actions/checkout@v4 |
|
|
|
- name: Install Dependencies |
|
run: | |
|
./scripts/install-deps.sh |
|
|
|
- name: Build |
|
run: | |
|
make |
|
|
|
- name: Run check |
|
run: | |
|
make check |
|
|
|
build-meson: |
|
runs-on: ubuntu-latest |
|
|
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
os: [ "alpine", "archlinux", "fedora", "ubuntu:23.10" ] |
|
|
|
container: |
|
image: ${{ matrix.os }} |
|
|
|
steps: |
|
- name: Checkout |
|
uses: actions/checkout@v4 |
|
|
|
- name: Install Dependencies |
|
run: | |
|
./scripts/install-deps.sh |
|
|
|
- name: Setup |
|
run: meson setup -D python=enabled -D yaml=enabled build |
|
|
|
- name: Build |
|
run: meson compile -C build |
|
|
|
- name: Run check |
|
run: if ! meson test -C build; then cat build/meson-logs/testlog.txt; false; fi |
|
|
|
build-windows: |
|
runs-on: windows-latest |
|
strategy: |
|
fail-fast: false |
|
matrix: |
|
include: |
|
- { sys: mingw32 } |
|
- { sys: mingw64 } |
|
- { sys: ucrt64 } |
|
- { sys: clang64 } |
|
name: ${{ matrix.sys }} |
|
defaults: |
|
run: |
|
shell: msys2 {0} |
|
steps: |
|
- name: Checkout |
|
uses: actions/checkout@v4 |
|
with: |
|
fetch-depth: 0 |
|
|
|
- name: Setup MSYS2 |
|
uses: msys2/setup-msys2@v2 |
|
with: |
|
msystem: ${{matrix.sys}} |
|
update: true |
|
install: >- |
|
git |
|
flex |
|
bison |
|
pacboy: >- |
|
toolchain:p |
|
meson:p |
|
ninja:p |
|
libyaml:p |
|
swig:p |
|
python-setuptools-scm:p |
|
|
|
- name: '🚧 Build' |
|
run: | |
|
meson setup -Dtools=true -Dtests=false build |
|
meson compile -C build
|
|
|