Bump the everything-else group across 1 directory with 3 updates #610
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Python 🐍🐍🐍 Tests 🦂 | |
on: | |
push: | |
branches-ignore: | |
- 'main' | |
paths: | |
- 'python/**' | |
- '!python/**.md' | |
- '!python/.vscode/**' | |
- '.github/workflows/python-*' | |
pull_request: | |
branches: | |
- 'main' | |
paths: | |
- 'python/**' | |
- '!python/**.md' | |
- '!python/.vscode/**' | |
- '.github/workflows/python-*' | |
schedule: # 9AM on the 15th | |
- cron: 0 22 14 1,2,3,10,11,12 * # AEDT Months | |
- cron: 0 23 14 4,5,6,7,8,9 * # AEST Months | |
workflow_call: | |
permissions: {} | |
defaults: | |
run: | |
shell: bash | |
working-directory: python | |
env: | |
development_python_version: 3.10.12 | |
jobs: | |
quick-test: | |
name: Python 🐍🐍🐍 Quick Test 🦂 | |
if: ${{ github.event_name == 'push' && !(github.event.ref == 'refs/heads/main') }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: 🏁 Checkout | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: 🐍🐍🐍 Set up Python | |
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 | |
with: | |
python-version: ${{ env.development_python_version }} | |
- name: 🧱 Install build dependencies | |
run: make venv | |
- name: 🦂 Test with pytest | |
run: make test | |
- name: 🧹 Lint | |
run: make lint | |
- name: ⚖ Does the checked source match the built result? | |
run: make verify_built_checkin | |
full-test: | |
name: Python 🐍🐍🐍 Full Test 🦂 | |
if: >- | |
${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' || | |
(github.event_name == 'push' && github.event.ref == 'refs/heads/main') }} | |
runs-on: '${{ matrix.os }}' | |
strategy: | |
fail-fast: false | |
matrix: | |
python-version: ['3.10', '3.11', '3.12'] | |
os: [ubuntu-latest, macOS-latest, windows-latest] | |
steps: | |
- name: 🏁 Checkout | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: 🐍🐍🐍 Set up Python ${{ matrix.python-version }} | |
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 | |
with: | |
python-version: ${{ matrix.python-version }} | |
- name: 🧱 Install build dependencies | |
run: make venv | |
- name: 🦂 Test with pytest | |
run: make tox | |
- name: 🧹 Lint | |
run: make lint | |
- name: ⚖ Does the checked source match the built result? | |
run: make verify_built_checkin | |
built-example: | |
name: Python 🐍🐍🐍 Build Example 🦛 | |
if: >- | |
${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' || | |
(github.event_name == 'push' && github.event.ref == 'refs/heads/main') }} | |
runs-on: ubuntu-latest | |
steps: | |
- name: 🏁 Checkout | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: 🐍🐍🐍 Set up Python | |
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 | |
with: | |
python-version: ${{ env.development_python_version }} | |
- name: 🧱 Install build dependencies | |
run: make venv | |
- name: 🧱 Build | |
run: make build | |
- name: 🆙 Upload dists | |
uses: actions/upload-artifact@50769540e7f4bd5e21e526ee35c689e35e0d6874 # v4.4.0 | |
with: | |
name: Package | |
path: python/dist/collatz-*-none-any.whl | |
if-no-files-found: error | |
retention-days: 1 | |
usage-demonstration: | |
name: Python 🐍🐍🐍 Usage Demonstration 🦏 | |
needs: [built-example] | |
if: >- | |
${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' || | |
(github.event_name == 'push' && github.event.ref == 'refs/heads/main') }} | |
runs-on: ubuntu-latest | |
defaults: | |
run: | |
working-directory: python/.demo | |
steps: | |
- name: 🏁 Checkout | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: 🐍🐍🐍 Set up Python | |
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 | |
with: | |
python-version: ${{ env.development_python_version }} | |
- name: 🆒 Download dists | |
uses: actions/download-artifact@fa0a91b85d4f404e444e00e005971372dc801d16 # v4.1.8 | |
with: | |
name: Package | |
path: python/.demo | |
- name: 🦛 Install this package | |
run: make install | |
- name: 🦏 Run usage demonstration | |
run: make demo | |
codeql: | |
name: Python 🐍🐍🐍 CodeQL 🛡👨💻🛡 | |
if: >- | |
${{ github.event_name == 'pull_request' || github.event_name == 'workflow_dispatch' || | |
(github.event_name == 'push' && github.event.ref == 'refs/heads/main') }} | |
permissions: | |
actions: read | |
contents: read | |
security-events: write | |
uses: ./.github/workflows/github-codeql.yaml | |
with: | |
language: 'python' | |
docs: | |
name: Python 🐍🐍🐍 Docs 📄 Quick Test 🦂 | |
runs-on: ubuntu-latest | |
steps: | |
- name: 🏁 Checkout | |
uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7 | |
- name: 🐍🐍🐍 Set up Python | |
uses: actions/setup-python@f677139bbe7f9c59b41e40162b753c062f5d49a3 # v5.2.0 | |
with: | |
python-version: ${{ env.development_python_version }} | |
- name: 🧱 Install build dependencies | |
run: make venv | |
- name: 📄 Docs | |
run: make docs |