mlibc/.github/workflows/ci.yml
Geert Custers 6f19e32d1c Revert "ci: continue-on-error for now"
This reverts commit d091ce8d6a.
2021-01-02 14:20:22 +01:00

69 lines
2.4 KiB
YAML

name: Continuous Integration
on: [push, pull_request]
jobs:
build-mlibc:
strategy:
matrix:
builds: [mlibc, mlibc-static, mlibc-ansi-only]
name: Build mlibc
runs-on: ubuntu-20.04
steps:
- name: Install prerequisites
# Note: the default jsonschema is too old.
# xbstrap should fix this by demanding a recent version.
run: |
sudo apt-get install ninja-build
sudo pip3 install setuptools
sudo pip3 install -U jsonschema
sudo pip3 install meson xbstrap
- name: Prepare directories
run: |
mkdir src/
mkdir src/mlibc/
mkdir build/
- name: Checkout
uses: actions/checkout@v2
with:
path: src/mlibc/
- name: Prepare src/
run: |
cp mlibc/ci/bootstrap.yml .
touch mlibc/checkedout.xbstrap
working-directory: src/
- name: Prepare build/
run: 'xbstrap init ../src'
working-directory: build/
- name: Build mlibc
run: 'xbstrap install ${{matrix.builds}}'
working-directory: build/
- name: Test mlibc
run: 'meson test -C pkg-builds/${{matrix.builds}}'
working-directory: build/
- name: Build GCC
run: 'xbstrap install-tool gcc'
working-directory: build/
compile-sysdeps:
strategy:
matrix:
sysdeps: [dripos, lemon, qword]
name: Compile sysdeps
runs-on: ubuntu-20.04
steps:
- name: Install prerequisites
# Note: the default jsonschema is too old.
# xbstrap should fix this by demanding a recent version.
run: |
sudo apt-get install ninja-build
sudo pip3 install setuptools
sudo pip3 install -U jsonschema
sudo pip3 install meson xbstrap
- name: Checkout
uses: actions/checkout@v2
- name: Compile sysdeps
run: |
meson "-Dc_args=['-fno-stack-protector']" "-Dcpp_args=['-fno-stack-protector']" "-Dbuild_tests=true" --cross-file ci/${{matrix.sysdeps}}.cross-file compile-${{matrix.sysdeps}}
ninja -C compile-${{matrix.sysdeps}}