diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml index 61b7aca..6590388 100644 --- a/.github/workflows/cd.yml +++ b/.github/workflows/cd.yml @@ -59,28 +59,63 @@ jobs: build-args: | GIT_COMMIT=${{ github.sha }} release: - name: Release Helm Chart and Create Github Release + name: Create GitHub release if: startsWith(github.ref, 'refs/tags/') # Limit job to tag pushes + runs-on: ubuntu-22.04 + needs: publish permissions: contents: write - runs-on: ubuntu-latest + discussions: write + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Release + uses: softprops/action-gh-release@v1 + with: + generate_release_notes: true + draft: false + bump: + name: Bump Chart Version + if: startsWith(github.ref, 'refs/tags/') # Limit job to tag pushes + runs-on: ubuntu-22.04 + needs: [release] + permissions: + contents: write + discussions: write + pull-requests: write steps: - name: Checkout uses: actions/checkout@v3 with: - fetch-depth: 0 - - - name: Configure Git + persist-credentials: false + fetch-depth: 0 # otherwise, you will failed to push refs to dest repo + - uses: actions/setup-go@v5 + with: + go-version: "1.23.3" + - name: Push Chart + uses: pluralsh/chart-releaser@v0.1.3 + with: + path: ./charts/osbuilder + release: ${{github.ref_name}} + - name: Read Chart Version + id: chart_version + uses: mikefarah/yq@master + with: + cmd: yq ".version" charts/osbuilder/Chart.yaml + - name: Update Chart Version + uses: mikefarah/yq@master + with: + cmd: yq -i '.dependencies[] |= select(.name == "controller").version="${{ steps.chart_version.outputs.result }}"' charts/osbuilder/Chart.yaml + - name: Helm Dependencies run: | - git config user.name "$GITHUB_ACTOR" - git config user.email "$GITHUB_ACTOR@users.noreply.github.com" - - - name: Install Helm - uses: azure/setup-helm@v4 - env: - GITHUB_TOKEN: "${{ secrets.GITHUB_TOKEN }}" - - - name: Run chart-releaser - uses: helm/chart-releaser-action@v1.6.0 - env: - CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}" \ No newline at end of file + cd charts/osbuilder + helm update dependencies + - name: Create Pull Request + uses: peter-evans/create-pull-request@v5 + with: + title: Release ${{github.ref_name}} + body: Automated Pull Request to release ${{github.ref_name}} + commit-message: Updated chart to release ${{github.ref_name}} + branch: release-${{github.ref_name}} + labels: release + base: master \ No newline at end of file