docs: Update documentation and attempt to trigger Terraform Registry … #7
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: Pre-release | |
| on: | |
| push: | |
| branches: | |
| - main | |
| env: | |
| GO_VERSION: "1.24" | |
| permissions: | |
| contents: write | |
| id-token: write | |
| attestations: write | |
| jobs: | |
| pre-release: | |
| name: Pre-release | |
| runs-on: ubuntu-latest | |
| if: github.actor != 'dependabot[bot]' | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4 | |
| with: | |
| fetch-depth: 0 | |
| - name: Check for Go file changes | |
| id: go_changes | |
| run: | | |
| # Get the latest tag | |
| LATEST_TAG=$(git describe --tags --abbrev=0 2>/dev/null || echo "") | |
| if [ -z "$LATEST_TAG" ]; then | |
| echo "No previous tags found, assuming Go files changed" | |
| echo "changed=true" >> $GITHUB_OUTPUT | |
| else | |
| # Check if any Go files changed since the last tag | |
| GO_CHANGES=$(git diff --name-only ${LATEST_TAG}..HEAD -- '*.go' 'go.mod' 'go.sum' | wc -l) | |
| if [ "$GO_CHANGES" -gt 0 ]; then | |
| echo "Go files changed since ${LATEST_TAG}" | |
| echo "changed=true" >> $GITHUB_OUTPUT | |
| git diff --name-only ${LATEST_TAG}..HEAD -- '*.go' 'go.mod' 'go.sum' | |
| else | |
| echo "No Go files changed since ${LATEST_TAG}" | |
| echo "changed=false" >> $GITHUB_OUTPUT | |
| fi | |
| fi | |
| - name: Set up Go | |
| if: steps.go_changes.outputs.changed == 'true' | |
| uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # v5 | |
| with: | |
| go-version: ${{ env.GO_VERSION }} | |
| cache: true | |
| - name: Import GPG key | |
| if: steps.go_changes.outputs.changed == 'true' | |
| id: import_gpg | |
| uses: crazy-max/ghaction-import-gpg@e89d40939c28e39f97cf32126055eeae86ba74ec # v6 | |
| with: | |
| gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} | |
| passphrase: ${{ secrets.GPG_PASSPHRASE }} | |
| - name: Generate snapshot version | |
| if: steps.go_changes.outputs.changed == 'true' | |
| id: version | |
| run: | | |
| # Get the latest release tag (exclude pre-release tags) | |
| LATEST_TAG=$(git tag -l 'v*' | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | sort -V | tail -n1 || echo "v0.0.0") | |
| if [ -z "$LATEST_TAG" ]; then | |
| LATEST_TAG="v0.0.0" | |
| fi | |
| echo "Latest release tag: ${LATEST_TAG}" | |
| # Remove 'v' prefix | |
| VERSION=${LATEST_TAG#v} | |
| echo "Version without prefix: ${VERSION}" | |
| # Parse version components | |
| IFS='.' read -r major minor patch <<< "$VERSION" | |
| echo "Version components: major=${major}, minor=${minor}, patch=${patch}" | |
| # Generate new version | |
| NEW_VERSION="${major}.${minor}.$((patch + 1))-dev.$(date +%Y%m%d%H%M%S)+$(git rev-parse --short HEAD)" | |
| echo "Pre-release version: ${NEW_VERSION}" | |
| echo "version=${NEW_VERSION}" >> $GITHUB_OUTPUT | |
| - name: Run GoReleaser (snapshot) | |
| if: steps.go_changes.outputs.changed == 'true' | |
| uses: goreleaser/goreleaser-action@9c156ee8a17a598857849441385a2041ef570552 # v6 | |
| with: | |
| version: latest | |
| args: release --snapshot --skip=sign --clean --skip=validate | |
| env: | |
| GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| - name: Generate pre-release attestations | |
| if: steps.go_changes.outputs.changed == 'true' | |
| uses: actions/attest-build-provenance@e8998f949152b193b063cb0ec769d69d929409be # v2 | |
| with: | |
| subject-path: | | |
| dist/*.zip | |
| dist/*_checksums.txt | |
| - name: Upload artifacts | |
| if: steps.go_changes.outputs.changed == 'true' | |
| uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4 | |
| with: | |
| name: pre-release-artifacts | |
| path: dist/* | |
| - name: Create GitHub pre-release | |
| if: steps.go_changes.outputs.changed == 'true' | |
| uses: softprops/action-gh-release@72f2c25fcb47643c292f7107632f7a47c1df5cd8 # v2 | |
| with: | |
| name: "Development Build v${{ steps.version.outputs.version }}" | |
| tag_name: "v${{ steps.version.outputs.version }}" | |
| prerelease: true | |
| draft: false | |
| files: | | |
| dist/*.zip | |
| dist/*_checksums.txt | |
| body: | | |
| ## Development Build | |
| This is an automated development build from commit ${{ github.sha }}. | |
| **⚠️ This is a pre-release version and should not be used in production.** | |
| ### Commit Information | |
| - SHA: ${{ github.sha }} | |
| - Author: ${{ github.actor }} | |
| - Message: ${{ github.event.head_commit.message }} | |
| ### Installation | |
| Download the appropriate archive for your platform and extract the provider binary. |