CI (integration tests) #619
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI (integration tests) | |
# We only run the integration tests with Bors. There is a specific reason for | |
# this. Using Bors makes it easier for us to limit the total number of | |
# concurrent jobs. This is important because it keeps us from triggering | |
# GitHub's abuse rate limits. | |
on: | |
merge_group: # GitHub Merge Queue | |
pull_request: # but we will skip the integration tests on PR builds, to avoid hitting rate limits | |
workflow_dispatch: # can manually trigger integration tests for PRs | |
push: | |
branches: | |
- master | |
# Make sure that the `GITHUB_TOKEN` only has read-only permissions | |
# https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#permissions | |
permissions: read-all | |
concurrency: | |
group: integration-tests-global-lock | |
cancel-in-progress: false | |
env: | |
JULIA_PKG_UNPACK_REGISTRY: 'true' | |
jobs: | |
integration: | |
# We don't actually want to run integration tests on pull requests, | |
# because we want to avoid hitting rate limits. | |
# So, if this is a PR build, mark the integration tests as "skipped". | |
if: github.event_name != 'pull_request' | |
name: Integration | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: julia-actions/setup-julia@v1 | |
with: | |
version: '1' | |
arch: x64 | |
- uses: actions/cache@v1 | |
env: | |
cache-name: cache-artifacts | |
with: | |
path: ~/.julia/artifacts | |
key: ${{ runner.os }}-test-${{ env.cache-name }}-${{ hashFiles('**/Project.toml') }} | |
restore-keys: | | |
${{ runner.os }}-test-${{ env.cache-name }}- | |
${{ runner.os }}-test- | |
${{ runner.os }}- | |
- uses: julia-actions/julia-buildpkg@v1 | |
- run: git config --global user.email "noreply@example.com" | |
- run: git config --global user.name "GitHub Actions" | |
- uses: julia-actions/julia-runtest@v1 | |
env: | |
AUTOMERGE_RUN_INTEGRATION_TESTS: "true" | |
AUTOMERGE_INTEGRATION_TEST_REPO: "bcbi-test/automerge-integration-test-repo" | |
BCBI_TEST_USER_GITHUB_TOKEN: ${{ secrets.BCBI_TEST_USER_GITHUB_TOKEN }} | |
INTEGRATION_TEST_READ_ONLY_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
- uses: julia-actions/julia-processcoverage@v1 | |
- uses: codecov/codecov-action@v1 | |
with: | |
file: lcov.info | |
token: ${{ secrets.CODECOV_TOKEN }} |