name: Tests on: push: branches: ["develop", "release-*"] pull_request: concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true jobs: complement: if: "${{ !failure() && !cancelled() }}" runs-on: ubuntu-latest strategy: fail-fast: false matrix: include: - arrangement: workers database: Postgres steps: - name: Run actions/checkout@v2 for synapse uses: actions/checkout@v2 with: path: synapse - name: Prepare Complement's Prerequisites run: synapse/.ci/scripts/setup_complement_prerequisites.sh - run: | set -o pipefail synapse/scripts-dev/complement.sh --build-only while :; do POSTGRES=${{ (matrix.database == 'Postgres') && 1 || '' }} WORKERS=${{ (matrix.arrangement == 'workers') && 1 || '' }} SYNAPSE_TEST_LOG_LEVEL=DEBUG COMPLEMENT_DIR=`pwd`/complement synapse/scripts-dev/complement.sh -f -run TestRestrictedRoomsLocalJoin -json 2>&1 | gotestfmt | tee /tmp/xxx if grep FAIL /tmp/xxx; then break fi done shell: bash name: Run Complement Tests # a job which marks all the other jobs as complete, thus allowing PRs to be merged. tests-done: if: ${{ always() }} needs: - complement runs-on: ubuntu-latest steps: - uses: matrix-org/done-action@v2 with: needs: ${{ toJSON(needs) }} # The newsfile lint may be skipped on non PR builds skippable: lint-newsfile