Merge pull request #1677 from ogayot/ci-diff-mypy
workflow: produce a diff of the mypy errors before/after a PR
This commit is contained in:
commit
e58cf53f26
|
@ -30,3 +30,42 @@ jobs:
|
|||
- uses: actions/checkout@v2
|
||||
- name: lint
|
||||
run: sudo ./scripts/test-in-lxd.sh ${{ matrix.image }} "make lint"
|
||||
|
||||
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
|
||||
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@v3
|
||||
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 system_setup 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@v3
|
||||
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 system_setup 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
|
||||
|
|
|
@ -187,8 +187,8 @@ class FilesystemController(SubiquityController, FilesystemManipulator):
|
|||
self._on_volume: Optional[snapdapi.OnVolume] = None
|
||||
self._source_handler: Optional[AbstractSourceHandler] = None
|
||||
self._system_mounter: Optional[Mounter] = None
|
||||
self._role_to_device: Dict[str: _Device] = {}
|
||||
self._device_to_structure: Dict[_Device: snapdapi.OnVolume] = {}
|
||||
self._role_to_device: Dict[str, _Device] = {}
|
||||
self._device_to_structure: Dict[_Device, snapdapi.OnVolume] = {}
|
||||
self.use_tpm: bool = False
|
||||
self.locked_probe_data: bool = False
|
||||
# If probe data come in while we are doing partitioning, store it in
|
||||
|
|
Loading…
Reference in New Issue