ys memos
Blog

Golangのpkg.go.devの更新を促すリクエストをGitHub Actionsで送る


golang

2025/06/02


GoのパッケージはGitHubなどのリポジトリに配置し、それを pkg.go.dev がDocumentationする仕組みがある。

リポジトリを更新しても、pkg.go.devのドキュメントは自動的に更新されないため、時間が解決するのを待つか、手動でリクエストを送る必要がある。

新規Versionをリリースするごとにこれをやるのは骨が折れるので、これをコマンドで行う方法、およびGitHub Actionsを使って自動でリクエストする方法を紹介する。


各種更新方法は以下の通りであった。

過度に負荷をかけないように注意すること。


$ curl -X POST https://proxy.golang.org/github.com/<username>/<reponame>/@v/v0.1.0.info

$ curl -X POST https://pkg.go.dev/fetch/github.com/<username>/<reponame>@v0.1.0

トリガーは、releaseを作成したときとする。これにより、過度にリクエストを送ることを防ぎつつ、latestが更新された時に発火するようになる。

release作成時に、そこに紐づくtagは、 v0.1.0 のようなセマンティックバージョニングをとることを前提とする。

name: Update pkg.go.dev documentation
on:
  release:
    types: [created]
jobs:
  request:
    runs-on: ubuntu-latest
    steps:
      - name: Request proxy.golang.org cache
        run: |
          curl -X POST https://proxy.golang.org/github.com/<username>/<reponame>/@v/${{ github.event.release.tag_name }}.info
      - name: Request pkg.go.dev documentation update
        run: |
          curl -X POST https://pkg.go.dev/fetch/github.com/<username>/<reponame>@${{ github.event.release.tag_name }}

OSS開発が捗る!


pkg.go.devにまだ登録されていないバージョンを開こうとしたときのRequestの内容

関連タグを探す