{"id":15546681,"url":"https://github.com/aleksi/golang-tip","last_synced_at":"2026-05-13T06:05:14.323Z","repository":{"id":37364281,"uuid":"357470462","full_name":"AlekSi/golang-tip","owner":"AlekSi","description":"Daily builds of active Go development branches","archived":false,"fork":false,"pushed_at":"2025-03-20T03:59:13.000Z","size":63,"stargazers_count":18,"open_issues_count":12,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-19T21:08:21.493Z","etag":null,"topics":["docker","golang","golang-tip"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-2-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AlekSi.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":"2021-04-13T07:58:17.000Z","updated_at":"2025-03-19T09:28:21.000Z","dependencies_parsed_at":"2023-12-11T06:52:17.531Z","dependency_job_id":"173fc67e-4d5c-4d43-a3bd-c9b416ccdb9b","html_url":"https://github.com/AlekSi/golang-tip","commit_stats":{"total_commits":81,"total_committers":3,"mean_commits":27.0,"dds":0.3950617283950617,"last_synced_commit":"6e2301221b01afa01cf6b52c3c9d22ae5663c1c9"},"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlekSi%2Fgolang-tip","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlekSi%2Fgolang-tip/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlekSi%2Fgolang-tip/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AlekSi%2Fgolang-tip/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AlekSi","download_url":"https://codeload.github.com/AlekSi/golang-tip/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250487531,"owners_count":21438612,"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":["docker","golang","golang-tip"],"created_at":"2024-10-02T13:03:21.992Z","updated_at":"2026-05-13T06:05:14.312Z","avatar_url":"https://github.com/AlekSi.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"This repo is semi-deprecated in favor of new [official `golang:XXX-tip` images](https://hub.docker.com/_/golang)\nthat are rebuilt weekly but support more architectures.\n\n---\n\n# golang-tip\n\n[![Build](https://github.com/AlekSi/golang-tip/actions/workflows/build.yml/badge.svg?branch=main\u0026event=schedule)](https://github.com/AlekSi/golang-tip/actions/workflows/build.yml)\n[![Go Report Card](https://goreportcard.com/badge/github.com/AlekSi/golang-tip)](https://goreportcard.com/report/github.com/AlekSi/golang-tip)\n\nDaily builds of [active Go development branches](https://github.com/golang/go/branches/active).\nAvailable as:\n* Docker images (based on [Go \"Official Image\"](https://github.com/docker-library/golang))\non both [Docker Hub](https://hub.docker.com/r/aleksi/golang-tip)\nand [GitHub Container Registry](https://github.com/users/AlekSi/packages/container/package/golang-tip)\n* [.tar.gz files](https://github.com/AlekSi/golang-tip/releases/tag/tip)\n\nThey may be used on CI/CD to avoid rebuilding Go from the source code every time, saving time and resources. They may also be used for local development.\n\n\n# Quickstart\n\nExamples for `master` / tip branch:\n\n```sh\ndocker pull aleksi/golang-tip:master\n# or\ndocker pull ghcr.io/aleksi/golang-tip:master\n\n# then use it as an official Go Docker image\n```\n\n```sh\n# for Linux\ncurl -o master.tmp.tar.gz -L https://github.com/AlekSi/golang-tip/releases/download/tip/master.linux-amd64.tmp.tar.gz\n\n# for macOS\ncurl -o master.tmp.tar.gz -L https://github.com/AlekSi/golang-tip/releases/download/tip/master.darwin-amd64.tmp.tar.gz\n\n# for both\nrm -rf /tmp/golang-tip \u0026\u0026 tar -C /tmp -xzf master.tmp.tar.gz\n/tmp/golang-tip/bin/go env\n```\n\n## Using golang-tip in GitHub Actions\n\nExamples for using golang-tip in a GitHub Action.\n\n### .tar.gz\n\n\u003e This example shows how to use golang-tip's .tar.gz release format\nwithin a GitHub Actions runner. We first purge an existing Go installation.\nIf you are looking to save on Actions minutes, this workflow takes\nless than half the time to run as the container example below.\n\n```yaml\n# Remove existing Go installation, install golang-tip from latest .tar.gz\n# More .tar.gz releases can be found here: https://github.com/AlekSi/golang-tip/releases/tag/tip\n\n# action.yml\n---\nname: Go unit tests with golang-tip\non:\n  pull_request:\njobs:\n  test-my-app-targz:\n    name: test my golang app using golang-tip .tar.gz release\n    runs-on: ubuntu-latest\n    steps:\n      - name: Remove existing go installation from Actions runner\n        run: |\n          sudo rm -fr /opt/hostedtoolcache/go /usr/local/go /usr/bin/go /bin/go\n      - name: Install latest golang-tip on Actions runner\n        run: |\n          curl -o go.tar.gz -L \\\n            https://github.com/AlekSi/golang-tip/releases/download/tip/master.linux-amd64.tar.gz\n          sudo tar -C /usr/local -xzf go.tar.gz\n          sudo ln -s /usr/local/go/bin/* /usr/local/bin/\n      - uses: actions/checkout@v2\n      - name: run tests\n        run: go test ./...\n```\n\n### Container image\n\n\u003e This example shows how you can use golang-tip's prebuilt container image\ndirectly within your GitHub Action Workflow. All `steps` are executed within\nthe container image at `ghcr.io/aleksi/golang-tip:master` for the `test-my-app`\nJob.\n\n```yaml\n# Run your Job within latest golang-tip built container.\n# Use head of golang-tip aka \"master\" or other available image tags here:\n# https://github.com/AlekSi/golang-tip/pkgs/container/golang-tip\n\n# action.yml\n---\nname: Go unit tests with golang-tip\non:\n  pull_request:\njobs:\n  test-my-app-oci:\n    name: test my golang app using golang-tip container release\n    runs-on: ubuntu-latest\n    container:\n      image: ghcr.io/aleksi/golang-tip:master\n    steps:\n      - uses: actions/checkout@v2\n      - name: run tests\n        run: go test ./...\n```\n\n# Branches\n\nCurrently built branches (see [here](https://github.com/AlekSi/golang-tip/blob/main/.github/workflows/build.yml)):\n* `master` a.k.a tip, the next Go version.\n* `release-branch.go1.26`\n* `release-branch.go1.25`\n\n# Docker\n\nDocker images are based on the latest stable Go image. The development version completely replaces stable Go in `/usr/local/go`.\n`GOLANG_VERSION` environment variable is set to the branch name.\n\n```dockerfile\nFROM aleksi/golang-tip:master\n```\n\nor\n\n```dockerfile\nFROM ghcr.io/aleksi/golang-tip:master\n```\n\n\n# .tar.gz\n\n`.tar.gz` files are provided in two variants. The main one behaves like [the official Go release](https://golang.org/doc/install) -\nit is expected to be unpacked into `/usr/local` as `/usr/local/go`:\n\n```sh\nrm -rf /usr/local/go \u0026\u0026 tar -C /usr/local -xzf master.linux-amd64.tar.gz\n```\n\nThe variant with `.tmp` in the file name is expected to be unpacked into `/tmp` as `/tmp/golang-tip` (that's the value of [GOROOT_FINAL](https://golang.org/doc/install/source#environment) set during compilation):\n\n```sh\nrm -rf /tmp/golang-tip \u0026\u0026 tar -C /tmp -xzf master.linux-amd64.tmp.tar.gz\n```\n\nThat allows that version to co-exist with other versions of Go and be installed without additional privileges.\n\n\n# Credits\n\nMade by Alexey Palazhchenko.\n\nInspired by [go-tip by Craig Peterson](https://github.com/captncraig/go-tip).\n\n\n# Contributing\n\nPull requests that add other branches, base Docker images, OSes, and CPU architectures are welcome.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleksi%2Fgolang-tip","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Faleksi%2Fgolang-tip","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Faleksi%2Fgolang-tip/lists"}