Update dependency: deps/k_release #2886
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: 'Test' | |
on: | |
pull_request: | |
workflow_dispatch: | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
version-bump: | |
name: 'Version Bump' | |
runs-on: 'ubuntu-latest' | |
steps: | |
- uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.JENKINS_GITHUB_PAT }} | |
fetch-depth: 0 | |
ref: ${{ github.event.pull_request.head.sha }} | |
- name: 'Configure GitHub user' | |
run: | | |
git config user.name devops | |
git config user.email [email protected] | |
- name: 'Update version' | |
run: | | |
og_version=$(git show origin/${GITHUB_BASE_REF}:package/version) | |
./package/version.sh bump ${og_version} | |
./package/version.sh sub | |
new_version=$(cat package/version) | |
git add --update && git commit --message "Set Version: $(cat package/version)" || true | |
- name: 'Push updates' | |
run: git push origin HEAD:${GITHUB_HEAD_REF} | |
code-quality-checks: | |
needs: version-bump | |
name: 'Code Quality Checks' | |
runs-on: ubuntu-latest | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v4 | |
- name: 'Install Poetry' | |
uses: Gr1N/setup-poetry@v8 | |
- name: 'Run code quality checks' | |
run: make -C kmir check | |
unit-tests: | |
needs: code-quality-checks | |
name: 'Unit Tests' | |
runs-on: ubuntu-latest | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v4 | |
- name: 'Install Poetry' | |
uses: Gr1N/setup-poetry@v8 | |
- name: 'Run unit tests' | |
run: make -C kmir test-unit | |
integration-tests: | |
needs: code-quality-checks | |
name: 'Integration Tests' | |
runs-on: [self-hosted, linux, normal] | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.JENKINS_GITHUB_PAT }} | |
submodules: recursive | |
- name: 'Set up Docker' | |
uses: ./.github/actions/with-docker | |
with: | |
container-name: mir-semantics-ci-${{ github.sha }} | |
- name: 'Build kmir' | |
run: docker exec --user user mir-semantics-ci-${GITHUB_SHA} make build | |
- name: 'Run integration tests' | |
run: docker exec --user user mir-semantics-ci-${GITHUB_SHA} make -C kmir test-integration | |
- name: 'Tear down Docker' | |
if: always() | |
run: docker stop --time 0 mir-semantics-ci-${GITHUB_SHA} | |
stable-mir-json-integration-tests: | |
needs: code-quality-checks | |
name: "Integration with stable-mir-json" | |
runs-on: [self-hosted, linux, normal] | |
steps: | |
- name: 'Check out code' | |
uses: actions/checkout@v4 | |
with: | |
token: ${{ secrets.JENKINS_GITHUB_PAT }} | |
submodules: recursive | |
- name: "Set up nightly Rust" # https://github.com/rust-lang/rustup/issues/3409 | |
uses: dtolnay/rust-toolchain@master | |
with: | |
toolchain: nightly-2024-11-29 # Hardcoded version, same as stable-mir-json | |
- name: 'remove override' | |
run: | | |
cd deps/stable-mir-json | |
rustup override unset | |
rustup override unset --nonexistent | |
rustup toolchain uninstall stable-mir-json | echo "rustup toolchain uninstall stable-mir-json: FAILED" | |
rustup toolchain remove stable-mir-json | echo "rustup toolchain remove stable-mir-json: FAILED" | |
- name: 'Build stable-mir-json' | |
run: | | |
make stable-mir-json | |
- name: 'Set up Docker' | |
uses: ./.github/actions/with-docker | |
with: | |
container-name: mir-smir-ci-${{ github.sha }} | |
- name: 'Build kmir (within docker)' | |
run: docker exec --user user mir-smir-ci-${GITHUB_SHA} make build | |
- name: 'Run parser tests (within docker)' | |
run: make smir-parse-tests POETRY_RUN='docker exec --user user mir-smir-ci-${GITHUB_SHA} poetry -C kmir run' | |
- name: 'Tear down Docker' | |
if: always() | |
run: docker stop --time 0 mir-smir-ci-${GITHUB_SHA} |