Release PR #48
This file contains hidden or 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 PR | |
| on: | |
| workflow_dispatch: | |
| inputs: | |
| current_version: | |
| description: "Current version to replace" | |
| required: true | |
| default: "3.3.2" | |
| new_version: | |
| description: "Version to release" | |
| required: true | |
| default: "3.4.3" | |
| current_helm_version: | |
| description: "Current helm version to replace" | |
| required: true | |
| default: "1.0.2" | |
| new_helm_version: | |
| description: "Helm version to release" | |
| required: true | |
| default: "1.1.3" | |
| current_operator_version: | |
| description: "Current operator version to replace" | |
| required: true | |
| default: "2.3.0" | |
| new_operator_version: | |
| description: "Operator version to release" | |
| required: true | |
| default: "2.3.1" | |
| k8s_versions: | |
| description: "Kubernetes versions this release has been tested on" | |
| required: true | |
| default: "x.xx-x.xx" | |
| release_date: | |
| description: "Date for this release" | |
| required: true | |
| default: "%d %b %Y" | |
| dry_run: | |
| description: "Don't create any PR's" | |
| type: boolean | |
| default: false | |
| debug: | |
| description: "Enable debug logging" | |
| type: boolean | |
| default: false | |
| defaults: | |
| run: | |
| shell: bash | |
| permissions: | |
| contents: read | |
| jobs: | |
| release: | |
| permissions: | |
| contents: write | |
| pull-requests: write | |
| id-token: write | |
| runs-on: ubuntu-24.04 | |
| steps: | |
| - name: Branch | |
| id: branch | |
| run: | | |
| version=${{ inputs.new_version }} | |
| version=${version%.*} | |
| echo "branch=release-$version" >> $GITHUB_OUTPUT | |
| - name: Checkout Repository | |
| uses: actions/checkout@1af3b93b6815bc44a9784bd300feb67ff0d1eeb3 # v6.0.0 | |
| with: | |
| ref: ${{ steps.branch.outputs.branch }} | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Azure login | |
| uses: azure/login@a457da9ea143d694b1b9c7c869ebb04ebe844ef5 # v2.3.0 | |
| with: | |
| client-id: ${{ secrets.AZURE_COMMON_VAULT_CLIENT_ID }} | |
| tenant-id: ${{ secrets.AZURE_COMMON_VAULT_TENANT_ID }} | |
| subscription-id: ${{ secrets.AZURE_COMMON_VAULT_SUBSCRIPTION_ID }} | |
| - name: Setup secrets | |
| id: secrets | |
| run: | | |
| echo "Setting secrets for job" | |
| NGINX_PAT=$(az keyvault secret show --name nginx-bot-pat --vault-name ${{ secrets.COMMON_KEYVAULT_NAME }} --query value -o tsv) | |
| echo "::add-mask::$NGINX_PAT" | |
| echo "NGINX_PAT=$NGINX_PAT" >> $GITHUB_OUTPUT | |
| - name: Replace | |
| run: | | |
| .github/scripts/release-version-update.sh \ | |
| ${{ inputs.current_version }} \ | |
| ${{ inputs.current_helm_version }} \ | |
| ${{ inputs.current_operator_version }} \ | |
| ${{ inputs.new_version }} \ | |
| ${{ inputs.new_helm_version }} \ | |
| ${{ inputs.new_operator_version }} | |
| pip install --require-hashes -r .github/scripts/requirements.txt --no-deps | |
| .github/scripts/release-docs.sh \ | |
| ${{ inputs.new_version }} \ | |
| ${{ inputs.new_helm_version }} \ | |
| ${{ inputs.new_operator_version }} \ | |
| "${{ inputs.k8s_versions }}" \ | |
| "${{ inputs.release_date }}" | |
| env: | |
| GITHUB_USERNAME: ${{ github.actor }} | |
| GITHUB_EMAIL: ${{ github.actor_id }}+${{ github.actor }}@users.noreply.github.com | |
| GITHUB_TOKEN: ${{ steps.secrets.outputs.NGINX_PAT }} | |
| DRY_RUN: ${{ inputs.dry_run && 'true' || 'false' }} | |
| DEBUG: ${{ inputs.debug && 'true' || 'false' }} | |
| - name: Create Pull Request | |
| uses: peter-evans/create-pull-request@84ae59a2cdc2258d6fa0732dd66352dddae2a412 # v7.0.9 | |
| with: | |
| token: ${{ steps.secrets.outputs.NGINX_PAT }} | |
| commit-message: Release ${{ github.event.inputs.new_version }} | |
| title: Release ${{ github.event.inputs.new_version }} | |
| branch: docs/release-${{ github.event.inputs.new_version }} | |
| body: | | |
| This automated PR updates the docs for ${{ github.event.inputs.new_version }} release. | |
| if: ${{ ! inputs.dry_run }} |