Add a fan-in aggregate status step.
This will be used as the single status check in GH branch protection
rules.
name: CI
on: [push, pull_request]
+defaults:
+ run:
+ shell: bash
env:
_PEX_TEST_PYENV_ROOT: .pyenv_test
# We use this to skip exposing same-versioned Pythons present on Linux hosts. These otherwise can
@@ -13,7 +16,7 @@ concurrency:
jobs:
org-check:
name: Check GitHub Organization
- if: ${{ github.repository_owner == 'pantsbuild' }}
+ if: github.repository_owner == 'pantsbuild'
runs-on: ubuntu-20.04
steps:
- name: Noop
@@ -82,7 +85,6 @@ jobs:
skip="${{ env._PEX_TEST_PYENV_VERSIONS }}"
fi
echo "::set-output name=skip::${skip}"
- shell: bash
- name: Checkout Pex
uses: actions/checkout@v2
- name: Setup Python ${{ join(matrix.python-version, '.') }}
@@ -118,7 +120,6 @@ jobs:
skip="${{ env._PEX_TEST_PYENV_VERSIONS }}"
fi
echo "::set-output name=skip::${skip}"
- shell: bash
- name: Checkout Pex
uses: actions/checkout@v2
- name: Setup PyPy ${{ join(matrix.pypy-version, '.') }}
@@ -155,7 +156,6 @@ jobs:
skip="${{ env._PEX_TEST_PYENV_VERSIONS }}"
fi
echo "::set-output name=skip::${skip}"
- shell: bash
- name: Checkout Pex
uses: actions/checkout@v2
- name: Setup Python ${{ join(matrix.python-version, '.') }}
@@ -191,7 +191,6 @@ jobs:
skip="${{ env._PEX_TEST_PYENV_VERSIONS }}"
fi
echo "::set-output name=skip::${skip}"
- shell: bash
- name: Checkout Pex
uses: actions/checkout@v2
- name: Setup PyPy ${{ join(matrix.pypy-version, '.') }}
@@ -215,3 +214,21 @@ jobs:
uses: pantsbuild/actions/run-tox@95209b287c817c78a765962d40ac6cea790fc511
with:
tox-env: pypy${{ matrix.pypy-version[0] }}-integration
+ final-status:
+ name: Gather Final Status
+ needs:
+ - checks
+ - cpython-unit-tests
+ - pypy-unit-tests
+ - cpython-integration-tests
+ - pypy-integration-tests
+ runs-on: ubuntu-20.04
+ steps:
+ - name: Check Non-Success
+ if: |
+ contains(needs.*.result, 'cancelled') ||
+ contains(needs.*.result, 'failure') ||
+ contains(needs.*.result, 'skipped')
+ run: "false"
+ - name: Success
+ run: "true"
\ No newline at end of file
