Skip to content

419 [davidbrownell] on 85/merge #419

419 [davidbrownell] on 85/merge

419 [davidbrownell] on 85/merge #419

Workflow file for this run

# ----------------------------------------------------------------------
# |
# | standard.yaml
# |
# | David Brownell <db@DavidBrownell.com>
# | 2024-01-21 14:09:59
# |
# ----------------------------------------------------------------------
# |
# | Copyright David Brownell 2024
# | Distributed under the MIT License.
# |
# ----------------------------------------------------------------------
name: "Standard"
run-name: ${{ github.run_number }} [${{ github.actor }}] on ${{ github.ref_name }}
on:
pull_request:
branches:
- main
push:
branches:
- main
schedule:
- cron: '0 0 * * *' # Once a day at 12am UTC
workflow_dispatch:
jobs:
# ----------------------------------------------------------------------
action_contexts:
name: "Display GitHub Action Contexts"
uses: davidbrownell/dbrownell_DevTools/.github/workflows/callable_display_action_contexts.yaml@CI-v0.21.0
# ----------------------------------------------------------------------
validate:
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
python_version:
- "3.12"
- "3.11"
- "3.10"
# - "3.9" # Not supported
# - "3.8" # Not supported
name: Validate
uses: davidbrownell/dbrownell_DevTools/.github/workflows/callable_validate_python.yaml@CI-v0.21.0
with:
operating_system: ${{ matrix.os }}
python_version: ${{ matrix.python_version }}
secrets: inherit
# ----------------------------------------------------------------------
package_coverage:
needs: validate
name: Postprocess Coverage Info
uses: davidbrownell/dbrownell_DevTools/.github/workflows/callable_package_python_coverage.yaml@CI-v0.21.0
with:
gist_id: f15146b1b8fdc0a5d45ac0eb786a84f7
gist_filename: dbrownell_DevTools_coverage.json
secrets: inherit
# ----------------------------------------------------------------------
package:
needs: validate
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
python_version:
- "3.12"
- "3.11"
- "3.10"
# - "3.9" # Not supported
# - "3.8" # Not supported
name: Package
uses: davidbrownell/dbrownell_DevTools/.github/workflows/callable_create_python_package.yaml@CI-v0.21.0
with:
operating_system: ${{ matrix.os }}
python_version: ${{ matrix.python_version }}
# ----------------------------------------------------------------------
validate_package:
needs: package
strategy:
fail-fast: false
matrix:
os:
- macos-latest
- ubuntu-latest
- windows-latest
python_version:
- "3.12"
- "3.11"
- "3.10"
# - "3.9" # Not supported
# - "3.8" # Not supported
name: Package Validation
uses: davidbrownell/dbrownell_DevTools/.github/workflows/callable_validate_python_package.yaml@CI-v0.21.0
with:
operating_system: ${{ matrix.os }}
python_version: ${{ matrix.python_version }}
validation_command: python -c "from dbrownell_DevTools import __version__; print(__version__)"
# ----------------------------------------------------------------------
create_docker_image:
needs:
- validate
strategy:
fail-fast: false
matrix:
python_version:
- "3.12"
- "3.11"
- "3.10"
# - "3.9" # Not supported
# - "3.8" # Not supported
name: Create Docker Image
uses: davidbrownell/dbrownell_DevTools/.github/workflows/callable_create_docker_image.yaml@CI-v0.21.0
with:
operating_system: ubuntu-latest
python_version: ${{ matrix.python_version }}
name_suffix: -${{ matrix.python_version }}
docker_description: "dbrownell_DevTools - ${{ matrix.python_version }}"
push_image_as_package: true
container_registry_username: ${{ github.actor }}
# ----------------------------------------------------------------------
publish:
needs:
- validate_package
- create_docker_image
name: Publish
uses: davidbrownell/dbrownell_DevTools/.github/workflows/callable_publish_python.yaml@CI-v0.21.0
with:
release_sources_configuration_filename: .github/release_sources.yaml
secrets: inherit