| name: PR Checks |
| |
| # Pre-merge CI to run on push and pull_request events, even if this seems |
| # redundant, we avoid concurrency with the below configuration. |
| # |
| on: |
| push: |
| pull_request: |
| |
| # Use the concurrency feature to ensure we don't run redundant workflows |
| # |
| concurrency: |
| group: ${{ github.repository }}-${{ github.ref }}-${{ github.workflow }} |
| cancel-in-progress: true |
| |
| jobs: |
| tests: |
| runs-on: ubuntu-20.04 |
| continue-on-error: ${{ matrix.allow-failure || false }} |
| |
| strategy: |
| fail-fast: false |
| matrix: |
| |
| # The names here should map to a valid service defined in |
| # "../compose/ci.docker-compose.yml" |
| test-name: |
| - debian-10 |
| - fedora-32 |
| - fedora-33 |
| - ubuntu-18.04 |
| - centos-7.7.1908 |
| - lint |
| |
| steps: |
| - name: Check out repository |
| uses: actions/checkout@v2 |
| # BuildStream requires tags to be able to find its version. |
| with: |
| fetch-depth: 0 |
| |
| - name: Run tests with Docker Compose |
| run: | |
| ${GITHUB_WORKSPACE}/.github/run-ci.sh ${{ matrix.test-name }} |
| |
| docs: |
| runs-on: ubuntu-20.04 |
| steps: |
| - name: Check out repository |
| uses: actions/checkout@v2 |
| # BuildStream requires tags to be able to find its version. |
| with: |
| fetch-depth: 0 |
| |
| - name: Give `testuser` ownership of the source directory |
| run: sudo chown -R 1000:1000 ${GITHUB_WORKSPACE} |
| |
| - name: Build documentation using Docker Compose |
| run: | |
| docker-compose \ |
| --env-file ${GITHUB_WORKSPACE}/.github/common.env \ |
| --file ${GITHUB_WORKSPACE}/.github/compose/ci.docker-compose.yml \ |
| run \ |
| docs |
| |
| - name: Upload artifacts |
| uses: actions/upload-artifact@v2 |
| with: |
| name: docs |
| path: doc/build/html |