## Run the Taskwarrior tests, using stable rust to build TaskChampion. name: tests on: [push, pull_request] jobs: # OSX tests do not run in Docker, and use the actions-rs Rust installaction tests-osx: name: tests (Mac OS X latest) runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: Cache cargo registry uses: actions/cache@v2 with: path: ~/.cargo/registry key: ${{ runner.os }}-stable-cargo-registry-${{ hashFiles('**/Cargo.lock') }} - name: Cache cargo build uses: actions/cache@v2 with: path: target key: ${{ runner.os }}-stable-cargo-build-target-${{ hashFiles('**/Cargo.lock') }} - uses: actions-rs/toolchain@v1 with: toolchain: "stable" override: true - name: Test OSX run: bash test/scripts/test_osx.sh env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} tests: strategy: fail-fast: false matrix: include: - name: "Centos 8" runner: ubuntu-latest dockerfile: centos8 - name: "Fedora 32" runner: ubuntu-latest dockerfile: fedora32 - name: "Fedora 33" runner: ubuntu-latest dockerfile: fedora33 - name: "Fedora 34" runner: ubuntu-latest dockerfile: fedora34 - name: "Fedora 35" runner: ubuntu-latest dockerfile: fedora35 - name: "Debian Testing" runner: ubuntu-latest dockerfile: debiantesting - name: "Ubuntu 18.04" runner: ubuntu-latest dockerfile: ubuntu1804 - name: "Ubuntu 20.04" runner: ubuntu-latest dockerfile: ubuntu2004 - name: "Ubuntu 22.04" runner: ubuntu-latest dockerfile: ubuntu2204 - name: "OpenSUSE 15" runner: ubuntu-latest dockerfile: opensuse15 - name: "Archlinux Base (Rolling)" runner: ubuntu-latest dockerfile: arch 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 }}/taskwarrior_cache GITHUB_USER: ${{ github.actor }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CONTAINER: ${{ matrix.dockerfile }} run: docker-compose build test-$CONTAINER - name: Test ${{ matrix.name }} run: docker-compose run test-$CONTAINER env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} CONTAINER: ${{ matrix.dockerfile }}