CI (integration tests) #578
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 | |
push: | |
branches: | |
- master | |
workflow_dispatch: # Allows us to manually trigger the integration tests. | |
concurrency: | |
group: integration-tests-global-lock | |
cancel-in-progress: false | |
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@v4 | |
- uses: julia-actions/setup-julia@v2 | |
with: | |
version: '1' | |
arch: x64 | |
- uses: actions/cache@v4 | |
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 "[email protected]" | |
- run: git config --global user.name "GitHub Actions" | |
- uses: julia-actions/julia-runtest@v1 | |
env: | |
COMPATHELPER_RUN_INTEGRATION_TESTS: "true" | |
INTEGRATION_TEST_REPO_GITHUB: "bcbi-test/compathelper_integration_test_repo.jl" | |
INTEGRATION_PAT_GITHUB: ${{ secrets.INTEGRATION_PAT_GITHUB }} | |
INTEGRATION_REPO_SSH_KEY_GITHUB: ${{ secrets.INTEGRATION_REPO_SSH_KEY_GITHUB }} | |
INTEGRATION_TEST_REPO_GITLAB: "InveniaBot/compathelper_integration_test_repo.jl" | |
INTEGRATION_PAT_GITLAB: ${{ secrets.INTEGRATION_PAT_GITLAB }} | |
INTEGRATION_REPO_SSH_KEY_GITLAB: ${{ secrets.INTEGRATION_REPO_SSH_KEY_GITLAB }} | |
- uses: julia-actions/julia-processcoverage@v1 | |
- uses: codecov/codecov-action@v4 | |
with: | |
file: lcov.info | |
token: ${{ secrets.CODECOV_TOKEN }} |