name: tests on: [push, pull_request] jobs: tests: strategy: fail-fast: false matrix: include: - 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 31" runner: ubuntu-latest container: fedora31 - name: "Fedora 32" runner: ubuntu-latest container: fedora32 - name: "Fedora 33" runner: ubuntu-latest container: fedora33 - name: "OpenSUSE 15.0" runner: ubuntu-latest container: opensuse1500 - name: "Ubuntu 16.04" runner: ubuntu-latest container: ubuntu1604 - name: "Ubuntu 18.04" runner: ubuntu-latest container: ubuntu1804 - name: "Ubuntu 20.04" runner: ubuntu-latest container: ubuntu2004 - name: "macOS 10.15" runner: macos-10.15 container: osx #- name: "macOS 11" # runner: macos-11 # container: osx runs-on: ${{ matrix.runner }} continue-on-error: ${{ matrix.continue-on-error == true }} steps: - uses: actions/checkout@v2 - 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