on:
push:
branches: [main]
- paths: ["src/**", "setup.*", "pyproject.toml", ".github/workflows/*"]
+ paths: ["src/**", "pyproject.toml", ".github/workflows/*"]
pull_request:
- paths: ["src/**", "setup.*", "pyproject.toml", ".github/workflows/*"]
+ paths: ["src/**", "pyproject.toml", ".github/workflows/*"]
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }}
matrix: ${{ steps.set-config.outputs.matrix }}
steps:
- - uses: actions/checkout@v3
- - uses: actions/setup-python@v3
+ - uses: actions/checkout@v4
+ - uses: actions/setup-python@v4
+ with:
+ python-version: "*"
- name: Install diff-shades and support dependencies
run: |
- python -m pip install click packaging urllib3
+ python -m pip install 'click==8.1.3' packaging urllib3
python -m pip install https://github.com/ichard26/diff-shades/archive/stable.zip
- name: Calculate run configuration & metadata
needs: configure
runs-on: ubuntu-latest
env:
+ HATCH_BUILD_HOOKS_ENABLE: "1"
# Clang is less picky with the C code it's given than gcc (and may
# generate faster binaries too).
- CC: clang-12
+ CC: clang-14
strategy:
fail-fast: false
matrix:
steps:
- name: Checkout this repository (full clone)
- uses: actions/checkout@v3
+ uses: actions/checkout@v4
with:
# The baseline revision could be rather old so a full clone is ideal.
fetch-depth: 0
- - uses: actions/setup-python@v3
+ - uses: actions/setup-python@v4
+ with:
+ python-version: "*"
- name: Install diff-shades and support dependencies
run: |
python -m pip install https://github.com/ichard26/diff-shades/archive/stable.zip
- python -m pip install click packaging urllib3
- python -m pip install -r .github/mypyc-requirements.txt
+ python -m pip install 'click==8.1.3' packaging urllib3
# After checking out old revisions, this might not exist so we'll use a copy.
cat scripts/diff_shades_gha_helper.py > helper.py
git config user.name "diff-shades-gha"
- name: Attempt to use cached baseline analysis
id: baseline-cache
- uses: actions/cache@v2.1.7
+ uses: actions/cache@v3
with:
path: ${{ matrix.baseline-analysis }}
key: ${{ matrix.baseline-cache-key }}
GITHUB_TOKEN: ${{ github.token }}
run: >
${{ matrix.baseline-setup-cmd }}
- && python setup.py --use-mypyc bdist_wheel
- && python -m pip install dist/*.whl && rm build dist -r
+ && python -m pip install .
- name: Analyze baseline revision
if: steps.baseline-cache.outputs.cache-hit != 'true'
GITHUB_TOKEN: ${{ github.token }}
run: >
${{ matrix.target-setup-cmd }}
- && python setup.py --use-mypyc bdist_wheel
- && python -m pip install dist/*.whl
+ && python -m pip install .
- name: Analyze target revision
run: >
${{ matrix.baseline-analysis }} ${{ matrix.target-analysis }}
- name: Upload diff report
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v3
with:
name: ${{ matrix.mode }}-diff.html
path: diff.html
- name: Upload baseline analysis
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v3
with:
name: ${{ matrix.baseline-analysis }}
path: ${{ matrix.baseline-analysis }}
- name: Upload target analysis
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v3
with:
name: ${{ matrix.target-analysis }}
path: ${{ matrix.target-analysis }}
- name: Upload summary file (PR only)
if: github.event_name == 'pull_request' && matrix.mode == 'preview-changes'
- uses: actions/upload-artifact@v2
+ uses: actions/upload-artifact@v3
with:
name: .pr-comment.json
path: .pr-comment.json
if: always()
run: >
diff-shades show-failed --check --show-log ${{ matrix.target-analysis }}
- --check-allow 'sqlalchemy:test/orm/test_relationship_criteria.py'