X-Git-Url: https://git.madduck.net/etc/vim.git/blobdiff_plain/98db4abc21477cbd247c8fbd4cf9e8d1cf61ca0f..5379d4f3f460ec9b7063dd1cc10f437b0edf9ae3:/.github/workflows/diff_shades.yml?ds=inline diff --git a/.github/workflows/diff_shades.yml b/.github/workflows/diff_shades.yml index a8a443e..e9deaba 100644 --- a/.github/workflows/diff_shades.yml +++ b/.github/workflows/diff_shades.yml @@ -3,10 +3,10 @@ name: diff-shades on: push: branches: [main] - paths-ignore: ["docs/**", "tests/**", "*.md"] + paths-ignore: ["docs/**", "tests/**", "**.md", "**.rst"] pull_request: - paths-ignore: ["docs/**", "tests/**", "*.md"] + paths-ignore: ["docs/**", "tests/**", "**.md", "**.rst"] workflow_dispatch: inputs: @@ -27,24 +27,33 @@ on: description: "Custom Black arguments (eg. -S)" required: false +concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.run_id }} + cancel-in-progress: true + jobs: analysis: name: analysis / linux runs-on: ubuntu-latest + env: + # Clang is less picky with the C code it's given than gcc (and may + # generate faster binaries too). + CC: clang-12 steps: - name: Checkout this repository (full clone) - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: fetch-depth: 0 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v3 - name: Install diff-shades and support dependencies run: | python -m pip install pip --upgrade 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 # 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" @@ -66,11 +75,14 @@ jobs: path: ${{ steps.config.outputs.baseline-analysis }} key: ${{ steps.config.outputs.baseline-cache-key }} - - name: Install baseline revision + - name: Build and install baseline revision if: steps.baseline-cache.outputs.cache-hit != 'true' env: GITHUB_TOKEN: ${{ github.token }} - run: ${{ steps.config.outputs.baseline-setup-cmd }} && python -m pip install . + run: > + ${{ steps.config.outputs.baseline-setup-cmd }} + && python setup.py --use-mypyc bdist_wheel + && python -m pip install dist/*.whl && rm build dist -r - name: Analyze baseline revision if: steps.baseline-cache.outputs.cache-hit != 'true' @@ -78,10 +90,13 @@ jobs: diff-shades analyze -v --work-dir projects-cache/ ${{ steps.config.outputs.baseline-analysis }} -- ${{ github.event.inputs.baseline-args }} - - name: Install target revision + - name: Build and install target revision env: GITHUB_TOKEN: ${{ github.token }} - run: ${{ steps.config.outputs.target-setup-cmd }} && python -m pip install . + run: > + ${{ steps.config.outputs.target-setup-cmd }} + && python setup.py --use-mypyc bdist_wheel + && python -m pip install dist/*.whl - name: Analyze target revision run: > @@ -118,13 +133,14 @@ jobs: python helper.py comment-body ${{ steps.config.outputs.baseline-analysis }} ${{ steps.config.outputs.target-analysis }} ${{ steps.config.outputs.baseline-sha }} ${{ steps.config.outputs.target-sha }} + ${{ github.event.pull_request.number }} - name: Upload summary file (PR only) if: github.event_name == 'pull_request' uses: actions/upload-artifact@v2 with: - name: .pr-comment-body.md - path: .pr-comment-body.md + name: .pr-comment.json + path: .pr-comment.json # This is last so the diff-shades-comment workflow can still work even if we # end up detecting failed files and failing the run.