Skip to content
Open
29 changes: 23 additions & 6 deletions .github/workflows/ci-cd.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,10 +23,25 @@ env:
FORCE_COLOR: 1 # Request colored output from CLI tools supporting it
MYPY_FORCE_COLOR: 1
PY_COLORS: 1
UPSTREAM_REPOSITORY_ID: >-
13258039

permissions: {}

jobs:

pre-setup:
name: Pre-Setup global build settings
runs-on: ubuntu-latest
outputs:
upstream-repository-id: ${{ env.UPSTREAM_REPOSITORY_ID }}
release-requested: >-
${{ github.event_name == 'push' && contains(github.ref, 'refs/tags/') }}
steps:
- name: Dummy
run: |
echo "Pre-setup step"

lint:
permissions:
contents: read # to fetch code (actions/checkout)
Expand Down Expand Up @@ -259,8 +274,9 @@ jobs:

benchmark:
name: Benchmark
needs: gen_llhttp

needs: [pre-setup, gen_llhttp]
if: >-
needs.pre-setup.outputs.upstream-repository-id == github.repository_id
runs-on: ubuntu-latest
timeout-minutes: 9
steps:
Expand Down Expand Up @@ -317,9 +333,8 @@ jobs:
pre-deploy:
name: Pre-Deploy
runs-on: ubuntu-latest
needs: check
# Run only on pushing a tag
if: github.event_name == 'push' && contains(github.ref, 'refs/tags/')
needs: [pre-setup, check]
if: fromJSON(needs.pre-setup.outputs.release-requested)
steps:
- name: Dummy
run: |
Expand Down Expand Up @@ -465,8 +480,10 @@ jobs:

deploy:
name: Deploy
needs: [build-tarball, build-wheels]
needs: [pre-setup, build-tarball, build-wheels]
runs-on: ubuntu-latest
if: >-
needs.pre-setup.outputs.upstream-repository-id == github.repository_id

permissions:
contents: write # IMPORTANT: mandatory for making GitHub Releases
Expand Down
3 changes: 3 additions & 0 deletions CHANGES/11737.contrib.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
The benchmark CI job now runs only in the upstream repository -- by :user:`Cycloctane`.

It used to always fail in forks, which this change fixed.
Loading