Go application GitHub repository template.

Go Repository Template

GitHub Release Go Reference go.mod Build Status Go Report Card Codecov

This is a GitHub repository template for Go. It has been created for ease-of-use for anyone who wants to:

  • quickly get into Go without losing too much time on environment setup,
  • create a new repoisitory with basic Continous Integration.

It includes:

Star this repository if you find it valuable and worth maintaining.

Watch this repository to get notified about new releases, issues, etc.

Usage

  1. Sign up on Codecov and configure Codecov GitHub Application for all repositories.
  2. Click the Use this template button (alt. clone or download this repository).
  3. Replace all occurences of golang-templates/seed to your_org/repo_name in all files.
  4. Rename folder cmd/seed to cmd/app_name and update .goreleaser.yml accordingly.
  5. Update LICENSE and README.md.

Build

  • Terminal: make to get help for make targets.
  • Visual Studio Code: TerminalRun Build Task... (CTRL+ALT+B) to execute a fast build.

Release

The release workflow is triggered each time a tag with v prefix is pushed.

CAUTION: Make sure to understand the consequences before you bump the major version. More info: Go Wiki, Go Blog.

Maintainance

Remember to update Go version in .github/workflows, Makefile and devcontainer.json.

Notable files:

FAQ

Why Visual Studio Code editor configuration

Developers that use Visual Studio Code can take advantage of the editor configuration. While others do not have to care about it. Setting configs for each repo is unnecessary time consuming. VS Code is the most popular Go editor (survey) and it is officially supported by the Go team.

You can always remove the .devcontainer and .vscode directories if it really does not help you.

Why GitHub Actions, not any other CI server

GitHub Actions is out-of-the-box if you are already using GitHub. Here you can learn how to use it for Go.

However, changing to any other CI server should be very simple, because this repository has build logic and tooling installation in Makefile.

You can also use the docker make target to run the build using a docker container.

How can I build on Windows

Install tdm-gcc and copy C:\TDM-GCC-64\bin\mingw32-make.exe to C:\TDM-GCC-64\bin\make.exe.

Alternatively use WSL (Windows Subsystem for Linux) or develop inside a Remote Container. However, take into consideration that then you are not going to use "bare-metal" Windows.

How can I create an application installation script

  1. Install GoDownloader.
  2. Execute:
godownloader --repo=your_org/repo_name > ./install.sh
  1. Push install.sh to your repository.
  2. Add installation instructions to your README.md e.g.:
curl -sSfL https://raw.githubusercontent.com/your_org/repo_name/master/install.sh | sh -s -- -b /usr/local/bin

How can I create a Docker image, deb/rpm/snap package, Homebrew Tap, Scoop App Manifest etc.

Take a look at GoReleaser docs as well as its repo how it is dogfooding its functionality.

How can I create a library instead of an application

You can change the .goreleaser.yml to contain:

build:
  skip: true
release:
  github:
  prerelease: auto

Alternatively, you can completly remove the usage of GoReleaser if you prefer handcrafted release notes.

Why the code coverage results are not accurate

By default go test records code coverage for the package that is currently tested. If you want to get more accurate (cross-package) coverage, then consider using go-acc. Read more.

How to automate generating git tags for next release version

Auto-tagging can be done in many ways e.g. by using GitHub Actions like:

However, creating a release tag manually is often the optimal approach. Take notice that this template executes a release workflow each time a git tag with v prefix is pushed.

Contributing

Simply create an issue or a pull request.

Owner
Comments
  • Refine test coverage

    Refine test coverage

    Addresses https://github.com/golang-templates/seed/issues/41

    • Refine test make target to get better coverage result and create HTML coverage report
    • Upload the test coverage HTML report as build artifact. See: https://github.com/golang-templates/seed/suites/870302777/artifacts/10110210
  • Add modd configuration

    Add modd configuration

    Example modd.conf

    **/*.go {
        prep:  go test -race -count 1 -timeout 30s -parallel 1 -coverprofile /tmp/cover.out  ./... && go tool cover -func=/tmp/cover.out 
    }
    

    this run tests and show coverage report by function every time you save a go file

  • Bump github.com/goreleaser/goreleaser from 1.10.2 to 1.11.0 in /tools

    Bump github.com/goreleaser/goreleaser from 1.10.2 to 1.11.0 in /tools

    Bumps github.com/goreleaser/goreleaser from 1.10.2 to 1.11.0.

    Release notes

    Sourced from github.com/goreleaser/goreleaser's releases.

    v1.11.0

    Changelog

    New Features

    Bug fixes

    Dependency updates

    • 4f5666b: feat(deps): bump github.com/caarlos0/ctrlc from 1.1.0 to 1.2.0 (#3316) (@​dependabot[bot])
    • 7ed4197: feat(deps): bump github.com/caarlos0/env/v6 from 6.9.3 to 6.10.0 (#3338) (@​dependabot[bot])
    • db373b2: feat(deps): bump github.com/disgoorg/disgo from 0.13.16 to 0.13.17 (#3341) (@​dependabot[bot])
    • c70d6d4: feat(deps): bump github.com/goreleaser/nfpm/v2 from 2.16.0 to 2.17.0 (#3267) (@​dependabot[bot])
    • 1bbcc39: feat(deps): bump github.com/invopop/jsonschema from 0.5.0 to 0.6.0 (#3286) (@​dependabot[bot])

    ... (truncated)

    Commits
    • 4a67c76 feat(deps): update cosign to 1.11.1
    • d853ee2 docs: schema update
    • d3d338d chore(deps): bump github/codeql-action from 2.1.20 to 2.1.21 (#3345)
    • c9a9916 docs: update install page
    • d7acf21 fix: source archive add subfolders (#3343)
    • 12c4256 chore: docs auto-update
    • e67975e feat: add extra files to source archives (#3102)
    • 7ed4197 feat(deps): bump github.com/caarlos0/env/v6 from 6.9.3 to 6.10.0 (#3338)
    • 6778972 chore(deps): bump actions/setup-go from 3.2.1 to 3.3.0 (#3340)
    • ffe7c2c feat(deps): bump github.com/xanzy/go-gitlab from 0.73.0 to 0.73.1 (#3342)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/golangci/golangci-lint from 1.47.2 to 1.48.0 in /tools

    Bump github.com/golangci/golangci-lint from 1.47.2 to 1.48.0 in /tools

    Bumps github.com/golangci/golangci-lint from 1.47.2 to 1.48.0.

    Release notes

    Sourced from github.com/golangci/golangci-lint's releases.

    v1.48.0

    Changelog

    • 368c41cd build(deps): bump github.com/daixiang0/gci from 0.5.0 to 0.6.0 (#3035)
    • 2d8fea81 build(deps): bump github.com/daixiang0/gci from 0.6.0 to 0.6.2 (#3058)
    • aeb5860c build(deps): bump github.com/kisielk/errcheck from 1.6.1 to 1.6.2 (#3059)
    • 0559b922 build(deps): bump revgrep to HEAD (#3054)
    • 6313fa9a contextcheck: disable linter (#3050)
    • 0ba1388a feat: add usestdlibvars (#3016)
    • 1557692e feat: go1.19 support (#3037)
    • 15cba447 gci: add missing custom-order setting (#3052)
    • 9a1b9492 ifshort: deprecate linter (#3034)
    • f8f8f9a6 nolint: drop allow-leading-space option and add "nolint:all" (#3002)

    v1.47.3

    Changelog

    • 72fc41ce build(deps): bump github.com/BurntSushi/toml from 1.1.0 to 1.2.0 (#3009)
    • 57d61afb build(deps): bump github.com/GaijinEntertainment/go-exhaustruct/v2 from 2.2.0 to 2.2.2 (#3030)
    • 9cb17e4f build(deps): bump github.com/alingse/asasalint from 0.0.10 to 0.0.11 (#3003)
    • 2ab46788 build(deps): bump github.com/daixiang0/gci from 0.4.3 to 0.5.0 (#3031)
    • 03d9b113 build(deps): bump github.com/ryancurrah/gomodguard from 1.2.3 to 1.2.4 (#3029)
    • e55f22c7 build(deps): bump github.com/sirupsen/logrus from 1.8.1 to 1.9.0 (#3010)
    • c7ed8b67 build(deps): bump github.com/sivchari/nosnakecase from 1.5.0 to 1.7.0 (#3008)
    • 95d57d99 build(deps): bump gitlab.com/bosi/decorder from 0.2.2 to 0.2.3 (#3033)
    • d186efe9 build(deps): bump honnef.co/go/tools from 0.3.2 to 0.3.3 (#3032)
    • 846fab81 cgo: fix linters ignoring Cgo files (#3025)
    • d44cd49a feat: remove some go1.18 limitations (#3001)
    • 886fbd71 gci: fix panic with invalid configuration option (#3019)
    Changelog

    Sourced from github.com/golangci/golangci-lint's changelog.

    v1.48.0

    1. new linters
    2. updated linters
      • contextcheck: disable linter
      • errcheck: from 1.6.1 to 1.6.2
      • gci: add missing custom-order setting
      • gci: from 0.5.0 to 0.6.0
      • ifshort: deprecate linter
      • nolint: drop allow-leading-space option and add "nolint:all"
      • revgrep: bump to HEAD
    3. documentation
      • remove outdated info on source install
    4. misc
      • go1.19 support

    v1.47.3

    1. updated linters:
      • remove some go1.18 limitations
      • asasalint: from 0.0.10 to 0.0.11
      • decorder: from 0.2.2 to v0.2.3
      • gci: fix panic with invalid configuration option
      • gci: from 0.4.3 to v0.5.0
      • go-exhaustruct: from 2.2.0 to 2.2.2
      • gomodguard: from 1.2.3 to 1.2.4
      • nosnakecase: from 1.5.0 to 1.7.0
      • honnef.co/go/tools: from 0.3.2 to v0.3.3
    2. misc
      • cgo: fix linters ignoring CGo files
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/goreleaser/goreleaser from 1.10.2 to 1.10.3 in /tools

    Bump github.com/goreleaser/goreleaser from 1.10.2 to 1.10.3 in /tools

    Bumps github.com/goreleaser/goreleaser from 1.10.2 to 1.10.3.

    Release notes

    Sourced from github.com/goreleaser/goreleaser's releases.

    v1.10.3

    Changelog

    Bug fixes

    • 315935aedc9908b078ae525b33ddb42b2fafcc54: fix(archive): always strip parent if set (#3256) (@​caarlos0)
    • 6fdb41f4af73fff5d57e35301b4349fb2771e018: fix: jsonschema (@​caarlos0)
    • 7f2b50b94d1c425bf41c83124ed4a4bdab1fd3a1: fix: jsonschema (@​caarlos0)
    • bc1e9db47b313558147d3eb09af9feca7891a3e1: fix: support ios/arm64 (@​caarlos0)

    Dependency updates

    • dccce660cbb44c9dc386e80b848b1ddbf3f69d18: feat(deps): bump golang from 1.18.3-alpine to 1.18.4-alpine (#3237) (@​dependabot[bot])
    • 0a30706297a543eed6a8f1dbd86f3ddfd62abee2: feat(deps): bump golang from c9a9074 to d84b1ff (#3253) (@​dependabot[bot])
    • 5e0f345e1be4facd625d0c0abb1a24310ef78b23: feat(deps): update cosign to 1.10.0 (#3247) (@​caarlos0)

    Documentation updates

    • 7aeebb12f238d9185b213b961d0bad654d504c62: docs: remove beta warning from docker manifests feature (@​caarlos0)
    • 999ca7afeae42082fcf67322e79e35f8d64b064f: docs: schema update (@​caarlos0)

    Other work

    • 236e987ced5aff044ed6acf5449f2b66e8b33bd7: refactor(build): remove unused param (#3248) (@​caarlos0)

    Full Changelog: https://github.com/goreleaser/goreleaser/compare/v1.10.2...v1.10.3

    What to do next?

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/goreleaser/goreleaser from 1.4.1 to 1.5.0 in /tools

    Bump github.com/goreleaser/goreleaser from 1.4.1 to 1.5.0 in /tools

    Bumps github.com/goreleaser/goreleaser from 1.4.1 to 1.5.0.

    Release notes

    Sourced from github.com/goreleaser/goreleaser's releases.

    v1.5.0

    Changelog

    New Features

    • df09e16f6d5e7dd31088f518b619bb149c5d3855: feat(deps): bump github.com/charmbracelet/keygen from 0.1.2 to 0.2.0 (#2867) (@​dependabot[bot])
    • a2b1b49d73b95807ebee27dea0436f6d24fb71ff: feat(deps): bump github.com/goreleaser/fileglob from 1.2.0 to 1.3.0 (#2896) (@​dependabot[bot])
    • 8fc93a1fbd8d36a8190f292d3beed4b26eed4c5d: feat(deps): bump github.com/xanzy/go-gitlab from 0.52.2 to 0.54.3 (#2820) (@​dependabot[bot])
    • 9cc1bb1595fc6ab726595ebbbe7e9611de3949c6: feat(deps): bump github.com/xanzy/go-gitlab from 0.54.3 to 0.54.4 (#2874) (@​dependabot[bot])
    • 8cb5cec7878e1a5051bd708c3dee367eb8a38ce8: feat(deps): bump github.com/xanzy/go-gitlab from 0.54.4 to 0.55.1 (#2902) (@​dependabot[bot])
    • 03f8fb05be17d1077d7fe5d3420e248087b17d3a: feat(deps): bump golang from 1.17.6-alpine to 1.17.7-alpine (#2900) (@​dependabot[bot])
    • 21414322053c2c4c2dbd926aa4f2c4f917792615: feat: add additional properties for ArtifactHub (#2858) (@​dirien)
    • dde453cf9cbcc8a4d5566dd995b8268bb2f6208a: feat: add goreleaser image to ArtifactHub (#2855) (@​dirien)
    • c42a2fdc7636554bf5e0ed4de8aab1c547e2b4fb: feat: allow a --output flag on goreleaser build (#2701) (@​caarlos0)
    • f585f3be698ae1d3b86895a6f082518483283d94: feat: allow to output on hooks (@​caarlos0)
    • 1bdfc9cdff4be20981414d3d35bc22da5f78c660: feat: allow to override build flags by goos/goarch/etc (#2860) (@​caarlos0)
    • c457d8fff7b24ce9f04c3c38d06e3e35af03e6c7: feat: allow to use .Path and .Name on universal binary post hooks (#2891) (@​caarlos0)
    • b7706b2fd85c4b0979ca91485cd2c25093c3c519: feat: bump mango and adapt to changed API (#2865) (@​muesli)
    • 9d481d46302b092fca546868ef6259373c4d56b4: feat: expose runtime goos and goarch on templates and metadata (#2859) (@​caarlos0)
    • 02a94ce23e04564bfb4272ea2c4800d609f9931f: feat: lintian overrides (#2892) (@​caarlos0)
    • 750d52063800fefdcc867b1c4493199f60fc974d: feat: make goreleaser.deb pass lintian validations (#2883) (@​caarlos0)
    • a5d3e7bf4b061d2ea58a4e8a6b3f242844a747fd: feat: replace cobra with coral (#2881) (@​caarlos0)
    • f3743ed66b7d90696e5bf3ab40d34f60aae78d3f: feat: template nfpms.maintainer (#2872) (@​caarlos0)
    • e3997f8802dd7fc71b85f454108e51536d95cf2d: feat: update go-github from v41 to v42 (@​caarlos0)
    • 02c22ce796102c2ee497ff229d606759a71d6bcf: feat: update nfpm to v1.3.0 (@​caarlos0)
    • 8f74c871bb216a794ec209a283293fae6fba0492: feat: update nfpm to v2.12.1 (@​caarlos0)
    • 114c3a83e667bc769242e1ccb231455bfba3c3c0: feat: upgrade nfpm to v2.12.0 (#2882) (@​caarlos0)
    • 456f8aa2b101ad414b0c94ce14ad6a836f821ace: feat: warn if loaded changelog is whitespace-only (#2885) (@​caarlos0)

    Bug fixes

    • 17aba5ce76cd925f1299df4d1efc99c6c93b9040: fix: aur error messages (#2880) (@​caarlos0)
    • 9df62d87ecb98213ce9842796506bdfa1adb9b7a: fix: build log print relative path instead of abs (@​caarlos0)
    • 3344ae374744b688dbd8a58fa234bc6f52f8911b: fix: go-crypto version (@​caarlos0)
    • 8db78f68a2e2f1e317b87bb5ec986ebe2cdf6033: fix: improve deprecate logs (#2841) (@​caarlos0)
    • 4095da684bee5ab8f5b1dd9777229778c9560984: fix: jsonschema on archives.files.info.group (@​caarlos0)
    • 5f30f3606a3c0acfa909811175cfd4777fd26855: fix: make --release-notes flags more deterministic (#2888) (@​caarlos0)
    • 120780605bf919ebdd1a8f877d9e4b345b53b143: fix: nfpm binaries should have 755 instead of 775 perms (#2873) (@​caarlos0)
    • 7f2233858f3e3e36dd4b88fb15a126e3376d7941: fix: pro schema (@​caarlos0)

    Other work

    • ca361f6f1c96d786d8f6b8bf834c1c360f0fc280: docs(cookbooks): update links to the new goreleaser-cross home (#2851) (@​troian)
    • a4176386b26c5210905af8d496ac97dac28152bd: docs(nfpm): two line "extended" description (#2864) (@​staticdev)

    Full Changelog: https://github.com/goreleaser/goreleaser/compare/v1.4.1...v1.5.0

    What to do next?

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/goreleaser/goreleaser from 0.178.0 to 1.2.5 in /tools

    Bump github.com/goreleaser/goreleaser from 0.178.0 to 1.2.5 in /tools

    Bumps github.com/goreleaser/goreleaser from 0.178.0 to 1.2.5.

    Release notes

    Sourced from github.com/goreleaser/goreleaser's releases.

    v1.2.5

    Changelog

    Bug fixes

    • bbd79a11a7c06b6ef3121d0c4a8820122c2d2489: fix: artifacts.json should be 0644 instead of 0600 (#2801) (@​caarlos0)

    Full Changelog: https://github.com/goreleaser/goreleaser/compare/v1.2.4...v1.2.5

    What to do next?

    v1.2.4

    Changelog

    Bug fixes

    • cbdf8caed49607c314ee02cb1a25cb60c1618802: fix: sbom binary filter (#2798) (@​cpanato)

    Full Changelog: https://github.com/goreleaser/goreleaser/compare/v1.2.3...v1.2.4

    What to do next?

    v1.2.3

    Changelog

    Bug fixes

    • 89ece5595a924dc6d3b3f2f1a741e420a209757b: fix: logext STDERR use warn instead of error (#2791) (@​caarlos0)
    • c47b5d4ed7786a9f46a7bed5d405ccb5cdef927d: fix: nfpm empty dirs (#2796) (@​caarlos0)

    Full Changelog: https://github.com/goreleaser/goreleaser/compare/v1.2.2...v1.2.3

    What to do next?

    v1.2.2

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/goreleaser/goreleaser from 0.176.0 to 0.178.0 in /tools

    Bump github.com/goreleaser/goreleaser from 0.176.0 to 0.178.0 in /tools

    Bumps github.com/goreleaser/goreleaser from 0.176.0 to 0.178.0.

    Release notes

    Sourced from github.com/goreleaser/goreleaser's releases.

    v0.178.0

    Changelog

    38dd86a2 Merge remote-tracking branch 'origin/master' 8afb5eaf feat: Add support for templating NFPM bindir (#2466) 68ff8e99 feat: support templates for scm urls (#2465) 5a01a10f fix: clean user information from remote url if it contains username and token (#2457) 077d3491 fix: downgrade go-reddit to 2.0.0 1e40bbac fix: link in example config to https (#2455)

    Docker images

    • docker pull goreleaser/goreleaser:v0.178.0
    • docker pull ghcr.io/goreleaser/goreleaser:v0.178.0

    Check out GoReleaser Pro as well!

    v0.177.0

    Changelog

    a9239e87 chore : fmt 5e906b25 chore(deps): bump github.com/caarlos0/env/v6 from 6.6.2 to 6.7.0 (#2444) 788add91 chore: fmt 70057e81 ci: auto assign project to issues/prs 96672164 feat: add support for checksum generation for extra files (#2406) b661a571 feat: allow to template brew message (#2447) 990fb63a feat: allow to use .tar as archive format d3db692a feat: announce: reddit (#2431) aa28f31a feat: announce: slack (#2429) 275e17bc feat: support links inside archives (#2436) b63e5447 feat: templateable nfpm key files (#2448) b132d00a fix: build dir that dont exist yet (#2435) 1052ce17 fix: log docker args on debug c2ffee8d fix: merge conflicts eb9950e7 fix: pin cosign installer action version c100de32 fix: rename checksums file c08bb7f2 refactor: order methods 19cd0e22 refactor: remove unneeded if 8858049a refactor: tar logic

    Docker images

    • docker pull goreleaser/goreleaser:v0.177.0
    • docker pull ghcr.io/goreleaser/goreleaser:v0.177.0

    Check out GoReleaser Pro as well!

    Commits
    • 68ff8e9 feat: support templates for scm urls (#2465)
    • 717051d docs: fix wording
    • 8afb5ea feat: Add support for templating NFPM bindir (#2466)
    • 7d22a32 docs: ghaction-import-gpg v4 (#2464)
    • 077d349 fix: downgrade go-reddit to 2.0.0
    • 38dd86a Merge remote-tracking branch 'origin/master'
    • 5a01a10 fix: clean user information from remote url if it contains username and token...
    • 6c21e39 docs: simplify cosign
    • 1e40bba fix: link in example config to https (#2455)
    • 3f650b1 docs: install
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • Bump github.com/goreleaser/goreleaser from 0.174.2 to 0.175.0 in /tools

    Bump github.com/goreleaser/goreleaser from 0.174.2 to 0.175.0 in /tools

    Bumps github.com/goreleaser/goreleaser from 0.174.2 to 0.175.0.

    Release notes

    Sourced from github.com/goreleaser/goreleaser's releases.

    v0.175.0

    Changelog

    43b91b6b chore(deps): bump code.gitea.io/sdk/gitea from 0.14.1 to 0.15.0 (#2402) 70939c7f chore(deps): bump github.com/xanzy/go-gitlab from 0.50.1 to 0.50.2 (#2383) 27150b09 chore(deps): bump github.com/xanzy/go-gitlab from 0.50.2 to 0.50.3 (#2392) 8eab9af2 chore(deps): bump golang from 1.16.6-alpine to 1.16.7-alpine (#2385) 5e006eb2 chore(deps): bump golang from 1.16.7-alpine to 1.17.0-alpine (#2410) d329a9c0 feat: add id to dockers and docker_manifests (#2399) 72b7f3b3 feat: remove deprecated docker options (#2400) a8136445 feat: support windows/arm64 (#2407) a4a96eab fix: main check when using gomod.proxy (#2390) 7f0edf6f fix: make scoop write .json when --skip-publish (#2380) 18695c26 fix: sort tags by version not day of the week (#2377) 3966921c fix: upload gcs blobs to bucket root (#2409)

    Docker images

    • docker pull goreleaser/goreleaser:v0.175.0
    • docker pull ghcr.io/goreleaser/goreleaser:v0.175.0

    Check out GoReleaser Pro as well!

    Commits
    • 5e006eb chore(deps): bump golang from 1.16.7-alpine to 1.17.0-alpine (#2410)
    • 3966921 fix: upload gcs blobs to bucket root (#2409)
    • 43b91b6 chore(deps): bump code.gitea.io/sdk/gitea from 0.14.1 to 0.15.0 (#2402)
    • a813644 feat: support windows/arm64 (#2407)
    • d329a9c feat: add id to dockers and docker_manifests (#2399)
    • 72b7f3b feat: remove deprecated docker options (#2400)
    • a4a96ea fix: main check when using gomod.proxy (#2390)
    • 27150b0 chore(deps): bump github.com/xanzy/go-gitlab from 0.50.2 to 0.50.3 (#2392)
    • 1d90ecb docs: add more blog posts
    • 8eab9af chore(deps): bump golang from 1.16.6-alpine to 1.16.7-alpine (#2385)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • trigger build when pushed to the main branch

    trigger build when pushed to the main branch

    This is really a trivial feature I have to admit, but I really love this project and hope to make it better ❤️

    Since the default branch for newly-created repositories is now main on Github, we as a GitHub template would be better if we also follow the change:

    • https://github.com/github/renaming
    • https://github.blog/changelog/2020-10-01-the-default-branch-for-newly-created-repositories-is-now-main/

    Once this pull request is merged, any maintain can rename our master branch to main very easily:

    • https://github.com/github/renaming#renaming-existing-branches
  • Bump actions/cache from v2 to v2.1.4

    Bump actions/cache from v2 to v2.1.4

    Bumps actions/cache from v2 to v2.1.4.

    Release notes

    Sourced from actions/cache's releases.

    v2.1.4

    • Make caching more verbose #650
    • Use GNU tar on macOS if available #701
    Commits
    • 26968a0 Make save/restore logs akin (#509)
    • aeaf731 Use @actions/cache version 1.0.6 (#525)
    • 56a8a2f Merge pull request #514 from eregon/recommend-setup-ruby-bundler-cache
    • 1bfe3ac Recommend ruby/setup-ruby's bundler-cache: true option
    • 3543324 Merge pull request #434 from DanielHabenicht/patch-1
    • 3303695 Merge pull request #507 from odin-delrio/patch-1
    • e64ab30 Improved gradle cache key calculation example
    • 26c48dc Merge pull request #506 from actions/cache-matrix-example
    • 72f66cf Added a cache example when using matrix
    • 9f3a4d3 Merge pull request #443 from guilleijo/pipenv-example
    • Additional commits viewable in compare view

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
Modern Go Application example

Modern Go Application Go application boilerplate and example applying modern practices This repository tries to collect the best practices of applicat

Jan 3, 2023
A command line tool that builds and (re)starts your web application everytime you save a Go or template fileA command line tool that builds and (re)starts your web application everytime you save a Go or template file

# Fresh Fresh is a command line tool that builds and (re)starts your web application everytime you save a Go or template file. If the web framework yo

Nov 22, 2021
Tcell-game-template - A small template repository for simple tcell based games

tcell game template This is a template repository used for making small terminal

Jan 22, 2022
Golang-action - A template repository for writing custom GitHub Actions in Golang

Golang Action A template repository for writing custom GitHub Actions in Golang.

Feb 12, 2022
Updates labels for a Github repository using a template file.

Github Labeler The purpose of this application is to sync your default labels with a repository hosted by Github. Labeler automatically merges your la

Mar 6, 2022
Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application.

goview Goview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application. Contents Inst

Dec 25, 2022
yview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application.

wview wview is a lightweight, minimalist and idiomatic template library based on golang html/template for building Go web application. Contents Instal

Dec 5, 2021
Go-grpc-template - A small template for quickly bootstrapping a, developer platform independent gRPC golang application
Go-grpc-template - A small template for quickly bootstrapping a, developer platform independent gRPC golang application

go-grpc-template A small template for quickly bootstrapping a developer platform

Jan 20, 2022
A GitHub CLI extension that displays collaboration-related information about a GitHub repository.
A GitHub CLI extension that displays collaboration-related information about a GitHub repository.

collab-scanner GitHub CLI extension A GitHub CLI extension that displays collaboration-related information on a repository. Install gh extension insta

Dec 30, 2022
Go-github-app - Template for building GitHub Apps in Go.

Template for GitHub Apps built with Golang Blog Posts - More Information About This Repo You can find more information about this project/repository a

Dec 25, 2022
Go-github-actions - `go-github-actions` is a package for developing GitHub Actions

go-github-actions go-github-actions is a package for developing GitHub Actions.

Feb 6, 2022
Image - This repository holds supplementary Go image librariesThis repository holds supplementary Go image libraries

Go Images This repository holds supplementary Go image libraries. Download/Insta

Jan 5, 2022
This is the repository I made while learning Go Programming Language & You can follow this repository to learn it
This is the repository I made while learning Go Programming Language & You can follow this repository to learn it

Golang Arena ?? Hey Folks! Welcome to Golang Arena . This is the repository I made while learning Go Programming Language & You can follow this reposi

Jan 31, 2022
Template repository for a Go monorepo, complete with CI and automatic docker builds

Utility Warehouse template Go monorepo This repo is an abbreviated copy of one used by one of the teams inside Utility Warehouse. It's been built for

Dec 19, 2022
A template repository to quickly scaffold a Kubewarden policy written with Go language

go-policy-template This is a template repository that can be used to to quickly scaffold a Kubewarden policy written with Go language. Don't forget to

Sep 7, 2022
Template Repository For Bug Reporting
 Template Repository For Bug Reporting

Template Repository For Bug Reporting Create a Repository From the Template First and foremost, create a repository from this template repository (the

Jun 25, 2022
A go template repository for easily bootstrapping new go applications

Template go Repository tl;dr This is a template go repository with actions already set up to create compiled releases What does this Template provide?

Nov 5, 2021
Template repository for testing CLI features of applications written in Go

Go CLI testing example This repository provides a template on how to create a testable CLI applications in Go language. As an example, this applicatio

Sep 8, 2022
Template Repository For Bug Reporting
Template Repository For Bug Reporting

Template Repository For Bug Reporting Create a Repository From the Template First and foremost, create a repository from this template repository (the

Nov 26, 2021
The template repository is used for creating secondary sources written in Golang.
The template repository is used for creating secondary sources written in Golang.

Source Template The template repository is used for creating secondary sources written in Golang. Getting Started Follow this getting started guide to

Dec 28, 2021