2929 - name : Checkout code
3030 uses : actions/checkout@v4
3131 with :
32- ref : {% raw %} ${{ github.event_name == 'push' && github.ref || github.event.inputs.tag }}{% endraw % }
32+ ref : {{" ${{ github.event_name == 'push' && github.ref || github.event.inputs.tag }}"} }
3333
3434 - name : Set up uv
3535 uses : astral-sh/setup-uv@v6
5050 - name : Download built package artifacts
5151 uses : actions/download-artifact@v4
5252 with :
53- name : distribution-packages-{% raw %}{{ github.event.inputs.tag }}{% endraw % }
53+ name : distribution-packages-{{"{{ github.event.inputs.tag }}"} }
5454 path : dist/
5555
5656 # --- Publish to TestPyPI Step ---
6161 env :
6262 # TestPyPI credentials stored as secrets in GitHub Settings -> Secrets
6363 TWINE_USERNAME : __token__ # Standard username when using API tokens
64- TWINE_PASSWORD : {% raw %} ${{ secrets.TESTPYPI_API_TOKEN }}{% endraw } # Use GitHub Encrypted Secret
64+ TWINE_PASSWORD : {{" ${{ secrets.TESTPYPI_API_TOKEN }}"} } # Use GitHub Encrypted Secret
6565 # Optional: If uv publish requires different config for repository URL, pass TWINE_REPOSITORY or similar
6666 run : uvx nox -s publish-package -- --repository testpypi # Call the publish-package session, passing repository arg
6767
@@ -73,13 +73,13 @@ jobs:
7373 uses : simple-changelog/action@v3 # Action to parse CHANGELOG.md
7474 with :
7575 path : CHANGELOG.md # Path to your CHANGELOG.md
76- tag : { "${{ github.event_name == 'push' && github.ref_name || github.event.inputs.tag }}" } # Pass the tag name
76+ tag : {{ "${{ github.event_name == 'push' && github.ref_name || github.event.inputs.tag }}"} } # Pass the tag name
7777
7878 # Define outputs from this job that other jobs (like create_github_release) can use.
7979 outputs :
8080 changelog_body :
8181 description : " Release notes body extracted from CHANGELOG.md"
82- value : {% raw %} ${{ steps.changelog.outputs.changes }}{% endraw % } # Output the extracted changelog body
82+ value : {{" ${{ steps.changelog.outputs.changes }}"} } # Output the extracted changelog body
8383
8484 # Job 2: Publish to Production PyPI
8585 # This job runs only if Job 1 completes successfully (implicit dependency)
9191 needs : build_and_testpypi
9292
9393 # Only run on tag push events, NOT on manual dispatch for the final PyPI publish
94- if : { "github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')" }
94+ if : " github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')"
9595 steps :
9696 - name : Download package artifacts
9797 uses : actions/download-artifact@v4
@@ -115,7 +115,7 @@ jobs:
115115 env :
116116 # Production PyPI credentials stored as secrets in GitHub Settings -> Secrets
117117 TWINE_USERNAME : __token__
118- TWINE_PASSWORD : {% raw %} ${{ secrets.PYPI_API_TOKEN }}{% endraw % } # Use GitHub Encrypted Secret
118+ TWINE_PASSWORD : {{" ${{ secrets.PYPI_API_TOKEN }}"} } # Use GitHub Encrypted Secret
119119 # Optional: TWINE_REPOSITORY if publishing to a custom production index
120120 run : uvx nox -s publish-package # Call the publish-package session (defaults to pypi.org)
121121
@@ -128,7 +128,7 @@ jobs:
128128 needs : build_and_testpypi
129129
130130 # Only run this job if triggered by a tag push
131- if : {% raw %}( github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v'){% endraw %}
131+ if : " github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v')"
132132
133133 steps :
134134 - name : Download package artifacts # Get built artifacts for release assets
@@ -138,22 +138,22 @@ jobs:
138138
139139 - name : Get tag name
140140 id : get_tag
141- run : echo "tag={% raw %} ${{ github.ref_name }}{% endraw % }" >> $GITHUB_OUTPUT
141+ run : echo "tag={{" ${{ github.ref_name }}"} }" >> $GITHUB_OUTPUT
142142
143143 - name : Create GitHub Release
144144 # Uses a standard action to create a release in GitHub based on the tag.
145145 uses : softprops/action-gh-release@v2
146146 with :
147147 # The Git tag the release is associated with
148- tag_name : {% raw %} ${{ steps.get_tag.outputs.tag }}{% endraw % }
148+ tag_name : {{" ${{ steps.get_tag.outputs.tag }}"} }
149149 # The name of the release (often the same as the tag)
150- name : Release {% raw %} ${{ steps.get_tag.outputs.tag }}{% endraw % }
150+ name : Release {{" ${{ steps.get_tag.outputs.tag }}"} }
151151 # The body of the release notes - access the output from the 'build_and_testpypi' job
152- body : {% raw %} ${{ needs.build_and_testpypi.outputs.changelog_body }}{% endraw % } # Access changelog body from dependent job output
152+ body : {{" ${{ needs.build_and_testpypi.outputs.changelog_body }}"} } # Access changelog body from dependent job output
153153
154154
155155 files : dist/* # Attach built sdist and wheel files as release assets
156156 # Optional: Mark as a draft release for manual review before publishing
157157 # draft: true
158158 # Optional: Mark as a pre-release for tags containing hyphens (e.g., v1.0.0-rc1)
159- prerelease : {% raw %} ${{ contains(steps.get_tag.outputs.tag, '-') }}{% endraw % } # Checks if tag contains hyphen (e.g. v1.0.0-rc.1)
159+ prerelease : {{" ${{ contains(steps.get_tag.outputs.tag, '-') }}"} } # Checks if tag contains hyphen (e.g. v1.0.0-rc.1)
0 commit comments