name: tests on: [push, pull_request] jobs: tests: strategy: fail-fast: false matrix: include: - name: "Alpine Edge" runner: ubuntu-latest container: alpine-edge - name: "Alpine Latest" runner: ubuntu-latest container: alpine-latest - name: "Archlinux Base" runner: ubuntu-latest container: archlinux - name: "Centos 7" runner: ubuntu-latest container: centos7 - name: "Centos 8" runner: ubuntu-latest container: centos8 - name: "Debian Stable" runner: ubuntu-latest container: debianstable - name: "Debian Testing" runner: ubuntu-latest container: debiantesting - name: "Fedora 36" runner: ubuntu-latest container: fedora36 - name: "Fedora 37" runner: ubuntu-latest container: fedora37 - name: "OpenSUSE 15.0" runner: ubuntu-latest container: opensuse1500 - name: "Ubuntu 18.04" runner: ubuntu-latest container: ubuntu1804 - name: "Ubuntu 20.04" runner: ubuntu-latest container: ubuntu2004 - name: "Ubuntu 22.04" runner: ubuntu-latest container: ubuntu2204 - name: "macOS 11" runner: macos-11 container: osx-11 - name: "macOS 12" runner: macos-12 container: osx-12 runs-on: ${{ matrix.runner }} continue-on-error: ${{ matrix.continue-on-error == true }} steps: - uses: actions/checkout@v3 - name: Build ${{ matrix.name }} env: DOCKER_REGISTRY: docker.pkg.github.com DOCKER_CACHE_IMAGE: docker.pkg.github.com/${{ github.repository }}/timewarrior_cache GITHUB_USER: ${{ github.actor }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CONTAINER: ${{ matrix.container }} run: if [[ !( "${CONTAINER}" =~ osx-* ) ]] ; then docker-compose build "test-${CONTAINER}" ; fi - name: Test ${{ matrix.name }} env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CONTAINER: ${{ matrix.container }} run: if [[ !( "${CONTAINER}" =~ osx-* ) ]]; then docker-compose run "test-${CONTAINER}" ; else bash test/scripts/test_osx.sh ; fi