Release #15
Workflow file for this run
This file contains hidden or 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: Release | |
| on: | |
| push: | |
| tags: | |
| - "v*" | |
| workflow_dispatch: | |
| inputs: | |
| operation: | |
| description: "Release operation: auto, prepare, or publish" | |
| required: false | |
| type: choice | |
| default: auto | |
| options: | |
| - auto | |
| - prepare | |
| - publish | |
| tag_name: | |
| description: "Optional v-prefixed tag for publish simulation" | |
| required: false | |
| type: string | |
| default: "" | |
| dry_run: | |
| description: "Dry run (no git push, no tag, no GitHub release, no Hex publish)" | |
| required: false | |
| type: boolean | |
| default: false | |
| hex_dry_run: | |
| description: "With prepare + dry_run, check Hex only; with publish, skip actual Hex publish" | |
| required: false | |
| type: boolean | |
| default: false | |
| skip_tests: | |
| description: "Skip tests before release" | |
| required: false | |
| type: boolean | |
| default: false | |
| version_override: | |
| description: "Optional bare SemVer override (for example 1.2.3, not v1.2.3)" | |
| required: false | |
| type: string | |
| default: "" | |
| permissions: | |
| actions: write | |
| contents: write | |
| jobs: | |
| release: | |
| if: ${{ !(github.event_name == 'workflow_dispatch' && inputs.operation == 'prepare' && inputs.dry_run == true && inputs.hex_dry_run == true) }} | |
| name: Release | |
| uses: agentjido/github-actions/.github/workflows/jido-release.yml@v5 | |
| with: | |
| operation: ${{ inputs.operation || 'auto' }} | |
| tag_name: ${{ inputs.tag_name || '' }} | |
| dry_run: ${{ inputs.dry_run || false }} | |
| hex_dry_run: ${{ inputs.hex_dry_run || false }} | |
| skip_tests: ${{ inputs.skip_tests || false }} | |
| version_override: ${{ inputs.version_override || '' }} | |
| secrets: | |
| HEX_API_KEY: ${{ secrets.HEX_API_KEY }} | |
| hex_dry_run: | |
| if: ${{ github.event_name == 'workflow_dispatch' && inputs.operation == 'prepare' && inputs.dry_run == true && inputs.hex_dry_run == true }} | |
| name: Hex dry run | |
| runs-on: ubuntu-24.04 | |
| permissions: | |
| contents: read | |
| steps: | |
| - name: Checkout candidate | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - name: Set up BEAM | |
| uses: erlef/setup-beam@54075bcc5e249e4758d363f27d099f55d843f124 # v1 | |
| with: | |
| otp-version: "29.0.5" | |
| elixir-version: "1.20.3" | |
| - name: Install Hex and Rebar | |
| run: | | |
| mix local.hex --if-missing --force | |
| mix local.rebar --if-missing --force | |
| - name: Get dependencies | |
| run: mix deps.get | |
| - name: Build package and docs without publishing | |
| env: | |
| HEX_API_KEY: ${{ secrets.HEX_API_KEY }} | |
| run: mix hex.publish --dry-run --yes | |
| - name: Summarize dry run | |
| if: always() | |
| run: | | |
| echo "## Jido Hex dry run" >> "$GITHUB_STEP_SUMMARY" | |
| echo "- Commit: $GITHUB_SHA" >> "$GITHUB_STEP_SUMMARY" | |
| echo "- No tag, Git push, GitHub release, or Hex upload is performed by this job." >> "$GITHUB_STEP_SUMMARY" |