name: CI on: create: tags: push: branches: - main pull_request: jobs: build: name: Native Build runs-on: ${{ matrix.os }} strategy: fail-fast: false matrix: os: - ubuntu-latest - macos-latest steps: - uses: actions/checkout@v1 with: submodules: true - name: Install ninja (macOS) run: brew install ninja if: matrix.os == 'macos-latest' - name: Install ninja (Linux) run: sudo apt install ninja-build if: matrix.os == 'ubuntu-latest' - name: Build run: NINJA_FLAGS=-v make package shell: bash - name: Run the testsuite run: NINJA_FLAGS=-v make check - name: Upload artifacts uses: actions/upload-artifact@v1 with: # Upload the dist folder. Give it a name according to the OS it was built for. name: ${{ format( 'dist-{0}', matrix.os) }} path: dist winbuild: name: Windows Build runs-on: windows-latest strategy: fail-fast: false matrix: include: - arch: x64 sys: clang64 env: clang-x86_64 - arch: x86 sys: clang32 env: clang-i686 steps: - uses: msys2/setup-msys2@v2 with: install: >- base-devel git mingw-w64-${{ matrix.env }}-cmake mingw-w64-${{ matrix.env }}-ninja mingw-w64-${{ matrix.env }}-toolchain msystem: ${{ matrix.sys }} update: true release: false - uses: actions/checkout@v3 with: fetch-depth: 0 submodules: true - name: Build shell: msys2 {0} run: | make package make check - name: Does it work sans msys2? run: | C:\wasi-sdk\bin\clang.exe --version C:\wasi-sdk\bin\llvm-ar.exe --version C:\wasi-sdk\bin\wasm-ld.exe --version - name: Upload artifacts uses: actions/upload-artifact@v3 with: # Upload the dist folder. Give it a name according to the OS it was built for. name: ${{ format( 'dist-windows-latest-{0}', matrix.arch) }} path: dist dockerbuild: name: Docker Build runs-on: ubuntu-latest steps: - uses: actions/checkout@v1 with: submodules: true - name: Run docker_build script run: ./docker_build.sh - name: Upload artifacts uses: actions/upload-artifact@v1 with: # Upload the dist folder. Give it a name according to the OS it was built for. name: dist-ubuntu-xenial path: dist