fix(release): correct job names #8
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: Release | |
on: | |
push: | |
branches: | |
- main | |
permissions: | |
contents: write | |
pull-requests: write | |
repository-projects: read | |
# only required for workflows in private repositories | |
actions: read | |
concurrency: | |
group: release | |
jobs: | |
# This job creates the necessary labels for the release-please PRs | |
label-check: | |
name: Create release-please PR labels | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Add labels to the repository if not present | |
env: | |
GH_TOKEN: ${{ github.token }} | |
run: | | |
gh label create "autorelease: pending" -c FBCA04 -d "release-please PR tagging - Pending release" || true | |
gh label create "autorelease: tagged" -c D4C5F9 -d "release-please PR tagging - Ready for release" || true | |
gh label create "autorelease: snapshot" -c D4C5F9 -d "release-please PR tagging - Ready for release" || true | |
gh label create "autorelease: published" -c 0E8A16 -d "release-please PR tagging - Released" || true | |
prerelease-prep: | |
name: Create Prerelease Pull Request | |
needs: label-check | |
runs-on: ubuntu-latest | |
outputs: | |
releases_created: ${{ steps.release.outputs.releases_created }} | |
tag_name: ${{ steps.release.outputs.tag_name }} | |
steps: | |
- id: release | |
name: Run prerelease release-please | |
uses: googleapis/release-please-action@v4 | |
with: | |
config-file: ".github/prerelease-config.json" | |
manifest-file: ".github/prerelease-manifest.json" | |
prerelease-test: | |
name: Run Prerelease Tests | |
runs-on: ubuntu-latest | |
if: ${{ needs.prerelease-prep.outputs.releases_created == 'false' }} | |
needs: prerelease-prep | |
steps: | |
- name: End To End Test | |
run: | | |
echo "Running end to end tests for prerelease!" | |
prerelease: | |
name: Create Prerelease and Release Pull Request | |
runs-on: ubuntu-latest | |
if: ${{ needs.prerelease-prep.outputs.releases_created == 'true' && contains(needs.prerelease-prep.outputs.tag_name, 'rc') }} | |
needs: prerelease-prep | |
steps: | |
- name: Pre Release Step | |
run: | | |
echo "Running pre-release step!" | |
- name: Run release release-please | |
uses: googleapis/release-please-action@v4 | |
with: | |
config-file: ".github/release-config.json" | |
manifest-file: ".github/release-manifest.json" | |
release: | |
name: Create Release | |
runs-on: ubuntu-latest | |
if: ${{ needs.prerelease-prep.outputs.releases_created == 'true' && !contains(needs.prerelease-prep.outputs.tag_name, 'rc') }} | |
needs: prerelease-prep | |
steps: | |
- name: Release Step | |
run: | | |
echo "Running release step!" | |
- name: Checkout | |
uses: actions/checkout@v4 | |
- name: Sync prerelease manifest | |
env: | |
MANIFEST_PATH: .github/prerelease-manifest.json | |
RELEASE_TAG: ${{ needs.prerelease-prep.outputs.tag_name }} | |
run: | | |
jq --arg tag "${RELEASE_TAG//v/}" '.["."] = $tag' $MANIFEST_PATH > temp.json \ | |
&& mv temp.json $MANIFEST_PATH | |
- name: Commit change | |
run: | | |
git config user.name "github-actions[bot]" | |
git config user.email "github-actions[bot]@users.noreply.github.com" | |
git add . $MANIFEST_PATH | |
git commit -m "chore: sync release manifests" | |
git push | |
post-release: | |
name: Run Release Build Push Deploy | |
runs-on: ubuntu-latest | |
needs: release | |
steps: | |
- name: Post Release Step | |
run: | | |
echo "Running post release step!" |