diff --git a/.github/workflows/cd.yml b/.github/workflows/cd.yml new file mode 100644 index 00000000..1e7e5e4b --- /dev/null +++ b/.github/workflows/cd.yml @@ -0,0 +1,32 @@ +name: CD + +on: + release: + types: [ published ] + +jobs: + notify-pkg: + runs-on: ubuntu-latest + + steps: + - name: Refresh Go Modules + env: + BASE_URL: "https://pkg.go.dev/fetch" + REPO_URL: "github.com/${{ github.repository }}" + RELEASE_TAG: "${{ github.event.release.tag_name }}" + run: | + # If the tag contains '/', replace the last '/' with '@' + if [[ "$RELEASE_TAG" == *"/"* ]]; then + FORMATTED_TAG="/${RELEASE_TAG%/*}@${RELEASE_TAG##*/}" + else + FORMATTED_TAG="@${RELEASE_TAG}" + fi + + FULL_URL="${BASE_URL}/${REPO_URL}${FORMATTED_TAG}" + echo "Sending POST request to $FULL_URL" + + # Send the POST request + curl -X POST "$FULL_URL" \ + -H "Content-Type: application/json" \ + --fail \ + || echo "Failed to notify pkg.go.dev"