{"id":13531060,"url":"https://github.com/andrewslotin/go-proxy-pull-action","last_synced_at":"2025-04-10T01:10:01.461Z","repository":{"id":37475298,"uuid":"266804497","full_name":"andrewslotin/go-proxy-pull-action","owner":"andrewslotin","description":"Pull the new release of a module to the Go proxy cache","archived":false,"fork":false,"pushed_at":"2025-03-03T11:42:07.000Z","size":14,"stargazers_count":26,"open_issues_count":0,"forks_count":8,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-10T01:09:56.456Z","etag":null,"topics":["documentation","go","go-modules","golang","hacktoberfest"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrewslotin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-05-25T14:44:45.000Z","updated_at":"2025-03-03T11:39:27.000Z","dependencies_parsed_at":"2024-06-17T12:58:46.839Z","dependency_job_id":null,"html_url":"https://github.com/andrewslotin/go-proxy-pull-action","commit_stats":{"total_commits":12,"total_committers":4,"mean_commits":3.0,"dds":"0.41666666666666663","last_synced_commit":"50fea06a976087614babb9508e5c528b464f4645"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewslotin%2Fgo-proxy-pull-action","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewslotin%2Fgo-proxy-pull-action/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewslotin%2Fgo-proxy-pull-action/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewslotin%2Fgo-proxy-pull-action/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrewslotin","download_url":"https://codeload.github.com/andrewslotin/go-proxy-pull-action/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248137886,"owners_count":21053775,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["documentation","go","go-modules","golang","hacktoberfest"],"created_at":"2024-08-01T07:00:59.487Z","updated_at":"2025-04-10T01:10:01.439Z","avatar_url":"https://github.com/andrewslotin.png","language":"Shell","funding_links":[],"categories":["Community Resources"],"sub_categories":["Utility"],"readme":"Go proxy warming action\n=======================\n\nThis action ensures that a newly released version of a Go module is pulled to the specified proxy.\n\nEach time there is a new tag created in repository with a name that looks like a [semantic version](https://blog.golang.org/publishing-go-modules), the action gets triggered, pulling this version with `go get` via the\nconfigured proxy (https://proxy.golang.org by default).\n\nThe action also recognizes the tags that version submodules stored within the same repository,\ne.g. `contrib/awesomity/v1.2.3`.\n\nUsage\n-----\n\nTo renew the documentation on [pkg.go.dev](https://pkg.go.dev) create a new workflow file with following context:\n\n```yaml\non:\n  release:\n    types:\n      - created\n    tags:\n      - 'v[0-9]+.[0-9]+.[0-9]+'\n      - '**/v[0-9]+.[0-9]+.[0-9]+'\n\njobs:\n  build:\n    name: Renew documentation\n    runs-on: ubuntu-latest\n    steps:\n    - name: Pull new module version\n      uses: andrewslotin/go-proxy-pull-action@master\n```\n\nThis will trigger the action each time whenever a new release is published for a tag that looks either like `vX.Y.Z` or\n`submodule/path/vX.Y.Z`.\n\n### Custom proxy\n\nThe action accepts `gopath` parameter to specify the URL of a self-hosted or any other Go proxy instead of https://proxy.golang.org. For example to make sure that [GoCenter](https://gocenter.io) has the latest version of your module provide `https://gocenter.io` as a value for `goproxy` parameter:\n\n```yaml\n- name: Pull new module version\n  uses: andrewslotin/go-proxy-pull-action@master\n  with:\n    goproxy: https://gocenter.io\n```\n\n### Custom import path\n\nIn case your module uses custom import path, such as `example.com/myproject`, an attempt to download it using its GitHub reporitory URL will result in an error. In this case you need to provide the import path of your package as an input:\n\n```yaml\n- name: Pull new module version\n  uses: andrewslotin/go-proxy-pull-action@v1.1.0\n  with:\n      import_path: example.com/myproject\n```\n\nWhy?\n----\n\nAlthough the Go module proxies are capable of pulling the missing versions on-demand, there are cases when\nthis needs to be done before anyone has requested a new version via `go get` through this proxy. An example\nwould be updating the `pkg.go.dev` documentation of your library upon release.\n\nCurrently the [pkg.go.dev](https://pkg.go.dev), unlike [godoc.org](https://godoc.org) does not track new\nmodule versions, displaying the last one it knows about as the latest one. The proposed workaround\n[suggests](https://github.com/golang/go/issues/37005#issuecomment-599541549) pulling the new version via\n`go get` after it has been released, which is now automated with this GitHub action.\n\nLicense\n-------\n\nThe scripts and documentation in this project are released under the [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewslotin%2Fgo-proxy-pull-action","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewslotin%2Fgo-proxy-pull-action","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewslotin%2Fgo-proxy-pull-action/lists"}