name: Prepare Release on: workflow_dispatch: inputs: version: description: 'Version to release (without v prefix, e.g., 0.2.5)' required: true type: string jobs: prepare: runs-on: local-ubuntu-latest permissions: contents: write steps: - name: Validate version format run: | if ! echo "${{ inputs.version }}" | grep -qE '^[0-9]+\.[0-9]+\.[0-9]+$'; then echo "::error::Version must be in format X.Y.Z (e.g., 0.2.5)" exit 1 fi - name: Checkout uses: actions/checkout@v4 with: token: ${{ secrets.GITHUB_TOKEN }} - name: Configure git run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" - name: Update package.json version working-directory: ./headlamp-sealed-secrets run: | jq --arg version "${{ inputs.version }}" '.version = $version' package.json > package.json.tmp mv package.json.tmp package.json - name: Update artifacthub-pkg.yml version run: | VERSION="${{ inputs.version }}" RELEASE_URL="https://github.com/${{ github.repository }}/releases/download/v${VERSION}/headlamp-sealed-secrets-${VERSION}.tar.gz" sed -i "s|^version:.*|version: ${VERSION}|" artifacthub-pkg.yml sed -i "s|^appVersion:.*|appVersion: ${VERSION}|" artifacthub-pkg.yml sed -i "s|headlamp/plugin/archive-url:.*|headlamp/plugin/archive-url: \"${RELEASE_URL}\"|" artifacthub-pkg.yml # Set placeholder checksum - will be updated after release sed -i "s|headlamp/plugin/archive-checksum:.*|headlamp/plugin/archive-checksum: sha256:PLACEHOLDER_WILL_BE_UPDATED_AFTER_RELEASE|" artifacthub-pkg.yml - name: Commit version bump run: | git add headlamp-sealed-secrets/package.json artifacthub-pkg.yml git commit -m "chore: bump version to ${{ inputs.version }}" git push origin main - name: Create and push tag run: | git tag "v${{ inputs.version }}" git push origin "v${{ inputs.version }}" - name: Summary run: | echo "✓ Version bumped to ${{ inputs.version }}" echo "✓ Tag v${{ inputs.version }} created" echo "" echo "The release workflow will now run automatically." echo "After it completes, the checksum will be updated on main."