Honor match directives when installing in a gap using layout.mode: use_gap #800
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 | |
on: | |
push: | |
paths-ignore: | |
- 'doc/**' | |
pull_request: | |
paths-ignore: | |
- 'doc/**' | |
jobs: | |
test: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
image: | |
- ubuntu-daily:jammy | |
- ubuntu-daily:noble | |
- ubuntu-daily:oracular | |
steps: | |
- uses: actions/checkout@v4 | |
- name: run | |
run: sudo ./scripts/test-in-lxd.sh ${{ matrix.image }} "make check" | |
lint: | |
runs-on: ubuntu-20.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
image: | |
- ubuntu-daily:jammy # match the core snap we're running against | |
- ubuntu-daily:noble # future core snap | |
- ubuntu-daily:oracular # latest | |
steps: | |
- uses: actions/checkout@v4 | |
- name: lint | |
run: sudo ./scripts/test-in-lxd.sh ${{ matrix.image }} "make lint" | |
format-black: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: psf/black@stable | |
with: | |
version: "~= 23.0" | |
src: "console_conf subiquity subiquitycore" | |
format-isort: | |
runs-on: ubuntu-20.04 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: isort/isort-action@v1 | |
with: | |
isort-version: "5.12.0" | |
sort-paths: "console_conf subiquity subiquitycore" | |
static-typing: | |
# In this job, we compare the output of mypy before and after the PR. | |
if: github.event_name == 'pull_request' | |
runs-on: ubuntu-22.04 # minimimum 22.04 for python3-typeshed | |
steps: | |
- name: Install mypy and typeshed | |
run: sudo apt-get install -y python3-mypy python3-typeshed | |
- name: Checkout the pull request branch | |
uses: actions/checkout@v4 | |
with: | |
# When no ref is specified, a merge commit (from PR branch to target | |
# branch) will be checked out. Use the last commit of the PR branch | |
# instead. | |
ref: ${{ github.event.pull_request.head.sha }} | |
# By default, no ancestors of the specified revision will be checked | |
# out (see shallow repositories). Let's fetch just enough revisions | |
# so that, later, we can access the most recent common ancestor. | |
# If it does not work, we can set fetch-depth: 0 | |
fetch-depth: $(( ${{ github.event.pull_request.commits }} + 1 )) | |
- name: Run mypy on pull request branch | |
run: python3 -m mypy --ignore-missing-imports --check-untyped-defs subiquity subiquitycore console_conf scripts/replay-curtin-log.py | tee /tmp/mypy-head.out | |
- name: Determine base commit (most recent common ancestor) | |
id: determine_base_commit | |
run: | | |
ancestor=$(git merge-base -- \ | |
"${{ github.event.pull_request.base.sha }}" \ | |
"${{ github.event.pull_request.head.sha }}") | |
echo "base_commit=$ancestor" >> "$GITHUB_OUTPUT" | |
- name: Checkout the base commit (most recent common ancestor) | |
uses: actions/checkout@v4 | |
with: | |
ref: ${{ steps.determine_base_commit.outputs.base_commit }} | |
- run: git show | |
- name: Run mypy on base commit | |
run: python3 -m mypy --ignore-missing-imports --check-untyped-defs subiquity subiquitycore console_conf scripts/replay-curtin-log.py | tee /tmp/mypy-base.out | |
- name: Produce the diff between the two mypy runs | |
run: diff --color=always --unified=0 /tmp/mypy-base.out /tmp/mypy-head.out | |
continue-on-error: true |