name: CI on: [push, pull_request] jobs: test: name: Test ${{ matrix.compiler }} on ${{ matrix.os }} strategy: matrix: compiler: [gcc, clang] os: [ubuntu-latest, macOS-latest] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v4 - name: Compile and run tests run: make && make test env: CC: ${{ matrix.compiler }} test_alpine: name: Test on Alpine Linux runs-on: ubuntu-latest container: docker://alpine steps: - uses: actions/checkout@v4 - name: Install build dependencies run: apk add build-base - name: Compile and run tests run: make && make test multiarch_test: name: Test on ${{ matrix.arch }} strategy: matrix: arch: [armv7, aarch64, s390x, ppc64le] runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: uraimo/run-on-arch-action@v3.0.1 name: Compile and run tests id: test with: arch: ${{ matrix.arch }} distro: ubuntu22.04 githubToken: ${{ github.token }} install: | apt-get update -q -y apt-get install -y gcc make rm -rf /var/lib/apt/lists/* run: make && make test acceptance_test: name: Acceptance Tests runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - name: Set up Ruby uses: ruby/setup-ruby@v1 with: ruby-version: '3.4' bundler-cache: true working-directory: test/acceptance - name: Compile fzy run: | make - name: Run acceptance tests run: make acceptance