Skip to main content
Version: Next

Parse Release Intent Workflow

View Source

Parse and validate release intent configuration.

Overviewโ€‹

This workflow parses the release intent section of intent.yaml, validates the configuration against JSON schema, and determines which artifacts should be released.

When to Useโ€‹

  • โœ… You need to parse release configuration
  • โœ… You want to validate release intent
  • โœ… You're implementing release workflows
  • โœ… You need artifact release decisions

Inputsโ€‹

InputTypeDefaultDescription
config_pathstring'.github/tag_and_release/intent.yaml'Path to config file

Outputsโ€‹

OutputDescription
release_enabledWhether releases are enabled
version_levelVersion bump level (auto, patch, minor, major)
python_artifactPython package release mode (auto, force, skip)
docker_artifactDocker image release mode (auto, force, skip)
docs_artifactDocumentation release mode
docs_sectionsDocumentation sections to version
docs_strategyDocumentation versioning strategy
release_notesRelease notes content

Usage Examplesโ€‹

Basic Usageโ€‹

jobs:
intent:
uses: Chisanan232/GitHub-Action_Reusable_Workflows-Python/.github/workflows/rw_parse_release_intent.yaml@master

release:
needs: intent
if: needs.intent.outputs.release_enabled == 'true'
runs-on: ubuntu-latest
steps:
- name: Check release mode
run: |
echo "Python: ${{ needs.intent.outputs.python_artifact }}"
echo "Docker: ${{ needs.intent.outputs.docker_artifact }}"
echo "Docs: ${{ needs.intent.outputs.docs_artifact }}"

Conditional Artifact Releaseโ€‹

jobs:
intent:
uses: Chisanan232/GitHub-Action_Reusable_Workflows-Python/.github/workflows/rw_parse_release_intent.yaml@master

python-package:
needs: intent
if: needs.intent.outputs.python_artifact != 'skip'
uses: ./.github/workflows/rw_python_package.yaml

docker-image:
needs: intent
if: needs.intent.outputs.docker_artifact != 'skip'
uses: ./.github/workflows/rw_docker_operations.yaml

Configurationโ€‹

See Release Intent Configuration for complete configuration options.