From 5b13d6b08cb60d019e34b6ed05d220b8f8409fc6 Mon Sep 17 00:00:00 2001 From: Sivaanand Murugesan Date: Mon, 12 Aug 2024 16:37:33 +0530 Subject: [PATCH] Initial commit for autmated release --- .../workflows/crossplane-release-refresh.yml | 68 +++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 .github/workflows/crossplane-release-refresh.yml diff --git a/.github/workflows/crossplane-release-refresh.yml b/.github/workflows/crossplane-release-refresh.yml new file mode 100644 index 0000000..aaa95ac --- /dev/null +++ b/.github/workflows/crossplane-release-refresh.yml @@ -0,0 +1,68 @@ +name: Trigger PR for cross plane release + +#on: +# release: +# types: [published] # Trigger when a new release is published +on: + workflow_dispatch: + +jobs: + update-provider: + runs-on: ubuntu-latest + + steps: + - name: Checkout Repository + uses: actions/checkout@v3 + + - name: Set Up Git + run: | + git config --global user.name 'github-actions[bot]' + git config --global user.email 'github-actions[bot]@users.noreply.github.com' + + - name: Clone provider-palette repository + run: git clone https://github.com/crossplane-contrib/provider-palette.git + + - name: Get Latest Release + id: get_release + uses: actions/github-script@v6 + with: + script: | + const owner = 'spectrocloud'; + const repo = 'terraform-provider-spectrocloud'; + const latestRelease = await github.rest.repos.getLatestRelease({ + owner, + repo, + }); + core.setOutput('latest_version', latestRelease.data.tag_name); + console.log(`Latest release tag: ${latestRelease.data.tag_name}`); + + - name: Update Makefile + run: | + cd provider-palette + sed -i 's/^export TERRAFORM_PROVIDER_VERSION := .*/export TERRAFORM_PROVIDER_VERSION := ${{ steps.get_release.outputs.latest_version }}/' Makefile + + - name: Install goimports + run: go install golang.org/x/tools/cmd/goimports@latest + + - name: Run make commands + run: | + cd provider-palette + make submodules vendor vendor.check + make generate + + - name: Commit and Push Changes + run: | + cd provider-palette + git checkout -b update-terraform-provider-${{ github.event.release.tag_name }} + git add Makefile + git add . + git commit -m "Update Terraform Provider to version ${{ github.event.release.tag_name }}" + git push origin update-terraform-provider-${{ github.event.release.tag_name }} + + - name: Create Pull Request + uses: peter-evans/create-pull-request@v5 + with: + token: ${{ secrets.GITHUB_TOKEN }} + branch: update-terraform-provider-${{ github.event.release.tag_name }} + title: "Update Terraform Provider to version ${{ github.event.release.tag_name }}" + body: "This PR updates the Terraform Provider version to ${{ github.event.release.tag_name }}." \ No newline at end of file