Skip to content

Commit

Permalink
ci(cloude-release): add repository workflow for cloud release
Browse files Browse the repository at this point in the history
Signed-off-by: jerensl <[email protected]>
  • Loading branch information
jerensl committed Sep 16, 2024
1 parent 86eb072 commit e44b3ca
Show file tree
Hide file tree
Showing 3 changed files with 95 additions and 1 deletion.
94 changes: 94 additions & 0 deletions .github/workflows/release-docs.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
name: Publish Version Dispatcher
on:
repository_dispatch:
types: [cloud_version]

jobs:
release_notes_docs_cloud_latest:
name: Release notes cloud with latest version
if: ${{ github.event.action == 'cloud_version' }} && ${{ github.event.client_payload.latest }}
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.RELEASEDRAFTER_PAT }}
repository: layer5io/docs
- name: Get Latest Meshery Cloud Release
id: meshery-cloud
env:
ACCESS_TOKEN: ${{ secrets.RELEASEDRAFTER_PAT }}
run: |
release_tag=$(curl -sL -H "Authorization: token $ACCESS_TOKEN" -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/layer5io/meshery-cloud/releases/latest | jq -r ".tag_name")
echo "release_tag=$release_tag" >> $GITHUB_OUTPUT
current_tag=$(<build/meshery-cloud.version)
echo "current_tag=$current_tag" >> $GITHUB_OUTPUT
- name: Get Release Info
if: steps.meshery-cloud.outputs.current_tag != steps.meshery-cloud.outputs.release_tag
env:
ACCESS_TOKEN: ${{ secrets.RELEASEDRAFTER_PAT }}
run: |
curl -sL -H "Authorization: token $ACCESS_TOKEN" -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/layer5io/meshery-cloud/releases/latest > latest_release.json
export RELEASE_TAG=$( cat latest_release.json | jq '.["tag_name"]' | tr -d '"')
export PRERELEASE=$( cat latest_release.json | jq '.["prerelease"]' | tr -d '"')
export RELEASE_BODY=$( cat latest_release.json | jq '.["body"]' | tr -d '"')
export DATE=$( cat latest_release.json | jq '.["published_at"]' | tr -d '"')
printf '%b\n' "---\ntitle: $RELEASE_TAG\ndate: $DATE\ntag: $RELEASE_TAG\nprerelease: $PRERELEASE\n---\n\n$RELEASE_BODY" > ./content/en/cloud/reference/releases/$RELEASE_TAG.md
- name: Update current release version
if: steps.meshery-cloud.outputs.current_tag != steps.meshery-cloud.outputs.release_tag
run: |
echo ${{ steps.meshery-cloud.outputs.release_tag }} > build/meshery-cloud.version
- uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.RELEASEDRAFTER_PAT }}
title: Release Notes Meshery Cloud version ${{ steps.meshery-cloud.outputs.release_tag }}
body: |
Updates [Meshery Cloud][1] to ${{ steps.meshery-cloud.outputs.release_tag }}
Auto-generated by [l5io][2]
[1]: https://meshery.layer5.io
[2]: https://github.com/l5io
push-to-fork: layer5io/docs
branch: meshery-cloud-release-${{ steps.meshery-cloud.outputs.release_tag }}
release_notes_docs_cloud_custom:
name: Release notes cloud with costum version
if: ${{ github.event.action == 'cloud_version' }} && ${{ !github.event.client_payload.latest}}
runs-on: ubuntu-22.04
steps:
- name: Checkout
uses: actions/checkout@v4
with:
token: ${{ secrets.RELEASEDRAFTER_PAT }}
repository: layer5io/docs
- name: Get Latest Meshery Cloud Release
id: meshery-cloud
env:
ACCESS_TOKEN: ${{ secrets.RELEASEDRAFTER_PAT }}
run: |
release_tag=$(curl -sL -H "Authorization: token $ACCESS_TOKEN" -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/layer5io/meshery-cloud/releases/tags/${{github.event.client_payload.version}} | jq -r ".tag_name")
echo "release_tag=$release_tag" >> $GITHUB_OUTPUT
current_tag=$(<build/meshery-cloud.version)
echo "current_tag=$current_tag" >> $GITHUB_OUTPUT
- name: Get Release Info
if: steps.meshery-cloud.outputs.current_tag != steps.meshery-cloud.outputs.release_tag
env:
ACCESS_TOKEN: ${{ secrets.RELEASEDRAFTER_PAT }}
run: |
curl -sL -H "Authorization: token $ACCESS_TOKEN" -H "Accept: application/vnd.github.v3+json" https://api.github.com/repos/layer5io/meshery-cloud/releases/tags/${{github.event.client_payload.version}} > latest_release.json
export RELEASE_TAG=$( cat latest_release.json | jq '.["tag_name"]' | tr -d '"')
export PRERELEASE=$( cat latest_release.json | jq '.["prerelease"]' | tr -d '"')
export RELEASE_BODY=$( cat latest_release.json | jq '.["body"]' | tr -d '"')
export DATE=$( cat latest_release.json | jq '.["published_at"]' | tr -d '"')
printf '%b\n' "---\ntitle: $RELEASE_TAG\ndate: $DATE\ntag: $RELEASE_TAG\nprerelease: $PRERELEASE\n---\n\n$RELEASE_BODY" > ./content/en/cloud/reference/releases/$RELEASE_TAG.md
- uses: peter-evans/create-pull-request@v7
with:
token: ${{ secrets.RELEASEDRAFTER_PAT }}
title: Release Notes Meshery Cloud version ${{ steps.meshery-cloud.outputs.release_tag }}
body: |
Updates [Meshery Cloud][1] to ${{ steps.meshery-cloud.outputs.release_tag }}
Auto-generated by [l5io][2]
[1]: https://meshery.layer5.io
[2]: https://github.com/l5io
push-to-fork: layer5io/docs
branch: meshery-cloud-release-${{ steps.meshery-cloud.outputs.release_tag }}
1 change: 1 addition & 0 deletions build/meshery-cloud.version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
1.0.0
1 change: 0 additions & 1 deletion meshery-cloud.version

This file was deleted.

0 comments on commit e44b3ca

Please sign in to comment.