Demo app showing an end-to-end CI pipeline with Github Actions, goreleaser and ko

Motivation 💪

I created this repository for learning and education purposes to help everyone to level up their (open source) projects with good documentation and code/release automation. I spend a lot of time learning and experimenting with different tools and integrations to manage the projects I'm working, thus trying to give some inspiration to save you precious time 😀

Of course there's many ways to automate the release process for your (Go) applications, so consider the examples shared in this repository ONE but not THE way.

Even though this repository puts a focus on building and releasing Go applications, the Github Actions workflows and explanations provided apply to any language/environment.

💡 Note: Check out this online README generator to bootstrap a nice landing page for your users.

About 💡

This repository shows an end-to-end release management approach for Go applications using Github Actions as a pipeline for continuous integration (CI), goreleaser for artifact and release management, ko to build OCI-compliant container images, and Kubernetes in Docker (kind) for end-to-end testing.

Another goodie: depending on your repository settings and usage, you are likely to stay within the generous Github Actions free tier.

Github Actions is also deeply integrated into Github Packages, a software package hosting service that allows you to host your software packages, e.g. container images.

Even if you don't use Github Actions (yet), I hope the repository still provides value since the tools used here can be used standalone, too.

Project Status 🚦

Build Tests Latest Release Go Report Card codecov go.mod Go version

Features 🤩

Based on a trivial Go demo application this repository was built to show the power of Github Actions and related Go tools with the following highlights:

💫   Add Continuous Integration and end-to-end release automation with Github Actions ("workflows")
💫   Add status badges to your project README.md
💫   Manage your repository (issues) and contributions (PRs) with automatic greetings and code quality checks
💫   Produce artifacts for different platforms and software management tools, e.g. Homebrew, Snaps, etc.
💫   Automate Github Releases incl. a (templatized) CHANGELOG.md
💫   Use ko to not worry about building container images and Dockerfiles
💫   Use ko with kind for super fast development and end-to-end testing against real APIs (Kubernetes)

Artifacts 💎

You can grab the resulting artifacts produced by the Github release workflow from the releases page.

Homebrew 🍺

As part of this project, a Homebrew formula is maintained and continuously updated as part of the release pipeline. Detailed installation instructions can be found in the dedicated repository.

Quick install via brew:

$ brew install embano1/ci-demo-app/demo-app

Docker 🐳

Multi-arch (platform) Docker images are pushed to Docker Hub as part of the release pipeline. Visit the Docker Hub Project page for details.

Run the app via docker:

$ # expose default port 8080 to 8080 on the Docker host
$ # interrupt with CTRL-C
$ docker run -it --rm -p 8080:8080 embano1/ci-demo-app:v0.2.7
2021-05-04T14:31:00.658Z      INFO    ci-demo-app     ci-demo-app/main.go:85  running server  {"commit": "e616df52", "address": ":8080"}
2021-05-04T14:31:02.933Z      INFO    ci-demo-app     ci-demo-app/main.go:81  got signal, attempting graceful shutdown        {"commit": "e616df52"}

Source Tarballs 👾

See Github Release page. A full CHANGELOG is also provided.

Navigating this Repository 🧭

If you want to see the Github Action workflows used in this repository in action please see this document.

If you are interested in the individual tools used here or you want to learn more about Github Actions, please see this document.

Out of Scope (for now)

  • Golang deep dive, advanced testing, etc. (this repo isn't about teaching Go)
  • Using Github Packages
  • Advanced 3rd party integration, e.g. Slack, bots to manage issues, comments, etc.
  • External (manual) workflow dispatch triggers
  • Branch protection and role based access control
  • Organization-wide workflows and templates
  • Detailed security and repository hardening and guidelines (see notes here)
  • Detailed guidelines for writing your custom Github Actions
  • Creating/distributing software artifacts other than Go binaries/Homebrew formulas (see goreleaser section in DETAILS to get some inspiration)

Credits 💐

A BIG THANK YOU to the Knative community for their endless inspiration 🙏

Owner
Michael Gasch
Staff Engineer at VMware interested in all things distributed|streaming|event-driven systems
Michael Gasch
Comments
  • chore(deps): Bump go.uber.org/zap from 1.22.0 to 1.23.0

    chore(deps): Bump go.uber.org/zap from 1.22.0 to 1.23.0

    Bumps go.uber.org/zap from 1.22.0 to 1.23.0.

    Release notes

    Sourced from go.uber.org/zap's releases.

    v1.23.0

    Enhancements:

    • #1147[]: Add a zapcore.LevelOf function to determine the level of a LevelEnabler or Core.
    • #1155[]: Add zap.Stringers field constructor to log arrays of objects that implement String() string.

    #1147: uber-go/zap#1147 #1155: uber-go/zap#1155

    Changelog

    Sourced from go.uber.org/zap's changelog.

    1.23.0 (24 Aug 2022)

    Enhancements:

    • #1147[]: Add a zapcore.LevelOf function to determine the level of a LevelEnabler or Core.
    • #1155[]: Add zap.Stringers field constructor to log arrays of objects that implement String() string.

    #1147: uber-go/zap#1147 #1155: uber-go/zap#1155

    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)
  • chore(deps): Bump k8s.io/api from 0.24.3 to 0.25.5

    chore(deps): Bump k8s.io/api from 0.24.3 to 0.25.5

    Bumps k8s.io/api from 0.24.3 to 0.25.5.

    Commits
    • dc789cf Update dependencies to v0.25.5 tag
    • be0bf1d Merge pull request #114320 from liggitt/net-1.25
    • 81c9a74 Update golang.org/x/net 1e63c2f
    • 70abe33 Merge pull request #113425aimuz/automated-cherry-pick-of-#112693
    • 8bf119c Fixed (CVE-2022-27664) Bump golang.org/x/net to v0.1.1-0.20221027164007-c6301...
    • e7b469b Merge pull request #112808cheftako/automated-cherry-pick-of-#112689
    • 1102e6f Updated vendor to the new preferred versions.
    • fce3016 Merge pull request #112161pohly/automated-cherry-pick-of-#112129
    • 29513a2 dependencies: update to ginkgo v2.1.6 and gomega v1.20.1
    • 5c4a1b1 Merge remote-tracking branch 'origin/master' into release-1.25
    • 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)
  • chore(deps): Bump k8s.io/apimachinery from 0.24.3 to 0.25.5

    chore(deps): Bump k8s.io/apimachinery from 0.24.3 to 0.25.5

    Bumps k8s.io/apimachinery from 0.24.3 to 0.25.5.

    Commits
    • 526d075 Merge pull request #114320 from liggitt/net-1.25
    • 9dfe992 Update golang.org/x/net 1e63c2f
    • 0cb034a Merge pull request #113425aimuz/automated-cherry-pick-of-#112693
    • 8e45274 Fixed (CVE-2022-27664) Bump golang.org/x/net to v0.1.1-0.20221027164007-c6301...
    • 4fbe8e4 Merge pull request #112218haoruan/automated-cherry-pick-of-#111936
    • cf171ba Merge pull request #112808cheftako/automated-cherry-pick-of-#112689
    • cb0507f Updated vendor to the new preferred versions.
    • 478dd6e Merge pull request #112527liggitt/automated-cherry-pick-of-#112526
    • 14bc1be Limit redirect proxy handling to redirected responses
    • 8252641 Merge pull request #112330enj/automated-cherry-pick-of-#112193
    • 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)
  • chore(deps): Bump k8s.io/client-go from 0.24.3 to 0.25.5

    chore(deps): Bump k8s.io/client-go from 0.24.3 to 0.25.5

    Bumps k8s.io/client-go from 0.24.3 to 0.25.5.

    Commits
    • e10d1ea Update dependencies to v0.25.5 tag
    • b2883ba Merge pull request #114320 from liggitt/net-1.25
    • fcb591b Update golang.org/x/net 1e63c2f
    • b63afdf Merge pull request #113425aimuz/automated-cherry-pick-of-#112693
    • 5aa9be7 Fixed (CVE-2022-27664) Bump golang.org/x/net to v0.1.1-0.20221027164007-c6301...
    • 166ab05 Merge pull request #112808cheftako/automated-cherry-pick-of-#112689
    • 4b5a638 Updated vendor to the new preferred versions.
    • 1904631 Merge pull request #112161pohly/automated-cherry-pick-of-#112129
    • 8f4eb75 Merge pull request #112336enj/automated-cherry-pick-of-#112017
    • e278668 dependencies: update to ginkgo v2.1.6 and gomega v1.20.1
    • 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)
  • chore(deps): Bump k8s.io/client-go from 0.24.3 to 0.25.4

    chore(deps): Bump k8s.io/client-go from 0.24.3 to 0.25.4

    Bumps k8s.io/client-go from 0.24.3 to 0.25.4.

    Commits
    • 7226b15 Update dependencies to v0.25.4 tag
    • 166ab05 Merge pull request #112808cheftako/automated-cherry-pick-of-#112689
    • 4b5a638 Updated vendor to the new preferred versions.
    • 1904631 Merge pull request #112161pohly/automated-cherry-pick-of-#112129
    • 8f4eb75 Merge pull request #112336enj/automated-cherry-pick-of-#112017
    • e278668 dependencies: update to ginkgo v2.1.6 and gomega v1.20.1
    • 1874bc6 exec auth: support TLS config caching
    • db7e2d8 Merge pull request #112055aanm/automated-cherry-pick-of-#111752
    • c9008f3 client-go/rest: check if url is nil to prevent nil pointer dereference
    • 1a46dfd Revert "client-go: remove no longer used finalURLTemplate"
    • 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)
  • chore(deps): Bump k8s.io/apimachinery from 0.24.3 to 0.25.4

    chore(deps): Bump k8s.io/apimachinery from 0.24.3 to 0.25.4

    Bumps k8s.io/apimachinery from 0.24.3 to 0.25.4.

    Commits
    • 4fbe8e4 Merge pull request #112218haoruan/automated-cherry-pick-of-#111936
    • cf171ba Merge pull request #112808cheftako/automated-cherry-pick-of-#112689
    • cb0507f Updated vendor to the new preferred versions.
    • 478dd6e Merge pull request #112527liggitt/automated-cherry-pick-of-#112526
    • 14bc1be Limit redirect proxy handling to redirected responses
    • 8252641 Merge pull request #112330enj/automated-cherry-pick-of-#112193
    • 10b456c Merge pull request #112161pohly/automated-cherry-pick-of-#112129
    • 4759a80 Add an option for aggregator
    • 3296217 dependencies: update to ginkgo v2.1.6 and gomega v1.20.1
    • b4db414 Marshal MicroTime to json and proto at the same precision
    • 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)
  • chore(deps): Bump k8s.io/api from 0.24.3 to 0.25.4

    chore(deps): Bump k8s.io/api from 0.24.3 to 0.25.4

    Bumps k8s.io/api from 0.24.3 to 0.25.4.

    Commits
    • 88912e3 Update dependencies to v0.25.4 tag
    • e7b469b Merge pull request #112808cheftako/automated-cherry-pick-of-#112689
    • 1102e6f Updated vendor to the new preferred versions.
    • fce3016 Merge pull request #112161pohly/automated-cherry-pick-of-#112129
    • 29513a2 dependencies: update to ginkgo v2.1.6 and gomega v1.20.1
    • 5c4a1b1 Merge remote-tracking branch 'origin/master' into release-1.25
    • 714e431 Merge pull request #111657 from aojea/hc_nodeport
    • 8608211 Merge pull request #109090 from sarveshr7/multicidr-rangeallocator
    • b88698c Merge pull request #111258 from dobsonj/kep-596-ga-feature-flag
    • 2f9e588 Merge pull request #111113 from mimowo/retriable-pod-failures-job-controller
    • 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)
  • chore(deps): Bump k8s.io/apimachinery from 0.24.3 to 0.25.3

    chore(deps): Bump k8s.io/apimachinery from 0.24.3 to 0.25.3

    Bumps k8s.io/apimachinery from 0.24.3 to 0.25.3.

    Commits
    • cf171ba Merge pull request #112808cheftako/automated-cherry-pick-of-#112689
    • cb0507f Updated vendor to the new preferred versions.
    • 478dd6e Merge pull request #112527liggitt/automated-cherry-pick-of-#112526
    • 14bc1be Limit redirect proxy handling to redirected responses
    • 8252641 Merge pull request #112330enj/automated-cherry-pick-of-#112193
    • 10b456c Merge pull request #112161pohly/automated-cherry-pick-of-#112129
    • 4759a80 Add an option for aggregator
    • 3296217 dependencies: update to ginkgo v2.1.6 and gomega v1.20.1
    • 117bd9b Merge pull request #111113 from mimowo/retriable-pod-failures-job-controller
    • 74deb3d Merge pull request #111696 from liggitt/go119mod
    • 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)
  • chore(deps): Bump k8s.io/client-go from 0.24.3 to 0.25.3

    chore(deps): Bump k8s.io/client-go from 0.24.3 to 0.25.3

    Bumps k8s.io/client-go from 0.24.3 to 0.25.3.

    Commits
    • 62756ee Update dependencies to v0.25.3 tag
    • 166ab05 Merge pull request #112808cheftako/automated-cherry-pick-of-#112689
    • 4b5a638 Updated vendor to the new preferred versions.
    • 1904631 Merge pull request #112161pohly/automated-cherry-pick-of-#112129
    • 8f4eb75 Merge pull request #112336enj/automated-cherry-pick-of-#112017
    • e278668 dependencies: update to ginkgo v2.1.6 and gomega v1.20.1
    • 1874bc6 exec auth: support TLS config caching
    • db7e2d8 Merge pull request #112055aanm/automated-cherry-pick-of-#111752
    • c9008f3 client-go/rest: check if url is nil to prevent nil pointer dereference
    • 1a46dfd Revert "client-go: remove no longer used finalURLTemplate"
    • 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)
  • chore(deps): Bump k8s.io/api from 0.24.3 to 0.25.3

    chore(deps): Bump k8s.io/api from 0.24.3 to 0.25.3

    Bumps k8s.io/api from 0.24.3 to 0.25.3.

    Commits
    • 8384a1b Update dependencies to v0.25.3 tag
    • e7b469b Merge pull request #112808cheftako/automated-cherry-pick-of-#112689
    • 1102e6f Updated vendor to the new preferred versions.
    • fce3016 Merge pull request #112161pohly/automated-cherry-pick-of-#112129
    • 29513a2 dependencies: update to ginkgo v2.1.6 and gomega v1.20.1
    • 5c4a1b1 Merge remote-tracking branch 'origin/master' into release-1.25
    • 714e431 Merge pull request #111657 from aojea/hc_nodeport
    • 8608211 Merge pull request #109090 from sarveshr7/multicidr-rangeallocator
    • b88698c Merge pull request #111258 from dobsonj/kep-596-ga-feature-flag
    • 2f9e588 Merge pull request #111113 from mimowo/retriable-pod-failures-job-controller
    • 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)
  • chore(deps): Bump sigstore/cosign-installer from 2.5.0 to 2.8.0

    chore(deps): Bump sigstore/cosign-installer from 2.5.0 to 2.8.0

    Bumps sigstore/cosign-installer from 2.5.0 to 2.8.0.

    Release notes

    Sourced from sigstore/cosign-installer's releases.

    v2.8.0

    What's Changed

    Full Changelog: https://github.com/sigstore/cosign-installer/compare/v2.7.0...v2.8.0

    v2.7.0

    What's Changed

    Full Changelog: https://github.com/sigstore/cosign-installer/compare/v2...v2.7.0

    v2.6.0

    What's Changed

    Full Changelog: https://github.com/sigstore/cosign-installer/compare/v2.5.1...v2.6.0

    v2.5.1

    What's Changed

    New Contributors

    Full Changelog: https://github.com/sigstore/cosign-installer/compare/v2...v2.5.1

    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)
  • chore(deps): Bump actions/stale from 5 to 7

    chore(deps): Bump actions/stale from 5 to 7

    Bumps actions/stale from 5 to 7.

    Release notes

    Sourced from actions/stale's releases.

    v7.0.0

    ⚠️ This version contains breaking changes ⚠️

    What's Changed

    Breaking Changes

    • In this release we prevent this action from managing the stale label on items included in exempt-issue-labels and exempt-pr-labels
    • We decided that this is outside of the scope of this action, and to be left up to the maintainer

    New Contributors

    Full Changelog: https://github.com/actions/stale/compare/v6...v7.0.0

    v6.0.1

    Update @​actions/core to 1.10.0 #839

    Full Changelog: https://github.com/actions/stale/compare/v6.0.0...v6.0.1

    v6.0.0

    :warning: Breaking change :warning:

    Issues/PRs default close-issue-reason is now not_planned(#789)

    V5.2.0

    Features: New option include-only-assigned enables users to process only issues/PRs that are already assigned. If there is no assignees and this option is set, issue will not be processed per: issue/596

    Fixes: Fix date comparison edge case PR/816

    Dependency Updates: PR/812

    Fix issue when days-before-close is more than days-before-stale

    fixes a bug introduced in #717

    fixed in #775

    v5.1.0

    [5.1.0]

    ... (truncated)

    Changelog

    Sourced from actions/stale's changelog.

    Changelog

    [7.0.0]

    :warning: Breaking change :warning:

    [6.0.1]

    Update @​actions/core to v1.10.0 (#839)

    [6.0.0]

    :warning: Breaking change :warning:

    Issues/PRs default close-issue-reason is now not_planned(#789)

    [5.1.0]

    Don't process stale issues right after they're marked stale [Add close-issue-reason option]#764#772 Various dependabot/dependency updates

    4.1.0 (2021-07-14)

    Features

    4.0.0 (2021-07-14)

    Features

    Bug Fixes

    • dry-run: forbid mutations in dry-run (#500) (f1017f3), closes #499
    • logs: coloured logs (#465) (5fbbfba)
    • operations: fail fast the current batch to respect the operations limit (#474) (5f6f311), closes #466
    • label comparison: make label comparison case insensitive #517, closes #516
    • filtering comments by actor could have strange behavior: "stale" comments are now detected based on if the message is the stale message not who made the comment(#519), fixes #441, #509, #518

    Breaking Changes

    ... (truncated)

    Commits
    • 6f05e42 draft release for v7.0.0 (#888)
    • eed91cb Update how stale handles exempt items (#874)
    • 10dc265 Merge pull request #880 from akv-platform/update-stale-repo
    • 9c1eb3f Update .md files and allign build-test.yml with the current test.yml
    • bc357bd Update .github/workflows/release-new-action-version.yml
    • 690ede5 Update .github/ISSUE_TEMPLATE/bug_report.md
    • afbcabf Merge branch 'main' into update-stale-repo
    • e364411 Update name of codeql.yml file
    • 627cef3 fix print outputs step (#859)
    • 975308f Merge pull request #876 from jongwooo/chore/use-cache-in-check-dist
    • 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)
  • chore(deps): Bump k8s.io/client-go from 0.24.3 to 0.26.0

    chore(deps): Bump k8s.io/client-go from 0.24.3 to 0.26.0

    Bumps k8s.io/client-go from 0.24.3 to 0.26.0.

    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)
  • chore(deps): Bump k8s.io/api from 0.24.3 to 0.26.0

    chore(deps): Bump k8s.io/api from 0.24.3 to 0.26.0

    Bumps k8s.io/api from 0.24.3 to 0.26.0.

    Commits
    • 2ee9a6c Update dependencies to v0.26.0 tag
    • 07ac8fe Merge remote-tracking branch 'origin/master' into release-1.26
    • 566ee01 Update golang.org/x/net 1e63c2f
    • b966dc9 sync: update go.mod
    • 053624e Merge pull request #111023 from pohly/dynamic-resource-allocation
    • 3590eda Merge pull request #113375 from atiratree/PodHealthyPolicy-api
    • 5a4f9a5 generated
    • 5cb3202 Merge pull request #113186 from ttakahashi21/KEP-3294
    • 993c43c api: add UnhealthyPodEvictionPolicy for PDBs
    • dfd6ea2 Generate code
    • 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)
  • chore(deps): Bump k8s.io/apimachinery from 0.24.3 to 0.26.0

    chore(deps): Bump k8s.io/apimachinery from 0.24.3 to 0.26.0

    Bumps k8s.io/apimachinery from 0.24.3 to 0.26.0.

    Commits
    • 5d4cdd2 Merge remote-tracking branch 'origin/master' into release-1.26
    • 6cbc4a3 Update golang.org/x/net 1e63c2f
    • 6561235 Merge pull request #113699 from liggitt/manjusaka/fix-107415
    • dad8cd8 Update workload selector validation
    • fe82462 Add extra value validation for matchExpression field in LabelSelector
    • 067949d update k8s.io/utils to fix util tracing panic
    • 0ceff90 Merge pull request #112223 from astraw99/fix-ownerRef-validate
    • 9e85d3a Merge pull request #112649 from howardjohn/set/optimize-everything-nothing
    • 88a1448 Rename and comment on why sharing is safe
    • b03a432 Merge pull request #113367 from pohly/dep-ginkgo-gomega
    • 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)
  • chore(deps): Bump go.uber.org/zap from 1.22.0 to 1.24.0

    chore(deps): Bump go.uber.org/zap from 1.22.0 to 1.24.0

    Bumps go.uber.org/zap from 1.22.0 to 1.24.0.

    Release notes

    Sourced from go.uber.org/zap's releases.

    v1.24.0

    Enhancements:

    • #1148[]: Add Level to both Logger and SugaredLogger that reports the current minimum enabled log level.
    • #1185[]: SugaredLogger turns errors to zap.Error automatically.

    Thanks to @​Abirdcfly, @​craigpastro, @​nnnkkk7, and @​sashamelentyev for their contributions to this release.

    #1148: uber-go/zap#1148 #1185: uber-go/zap#1185

    v1.23.0

    Enhancements:

    • #1147[]: Add a zapcore.LevelOf function to determine the level of a LevelEnabler or Core.
    • #1155[]: Add zap.Stringers field constructor to log arrays of objects that implement String() string.

    #1147: uber-go/zap#1147 #1155: uber-go/zap#1155

    Changelog

    Sourced from go.uber.org/zap's changelog.

    1.24.0 (30 Nov 2022)

    Enhancements:

    • #1148[]: Add Level to both Logger and SugaredLogger that reports the current minimum enabled log level.
    • #1185[]: SugaredLogger turns errors to zap.Error automatically.

    Thanks to @​Abirdcfly, @​craigpastro, @​nnnkkk7, and @​sashamelentyev for their contributions to this release.

    #1148: https://github.coml/uber-go/zap/pull/1148 #1185: https://github.coml/uber-go/zap/pull/1185

    1.23.0 (24 Aug 2022)

    Enhancements:

    • #1147[]: Add a zapcore.LevelOf function to determine the level of a LevelEnabler or Core.
    • #1155[]: Add zap.Stringers field constructor to log arrays of objects that implement String() string.

    #1147: uber-go/zap#1147 #1155: uber-go/zap#1155

    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)
  • chore(deps): Bump golangci/golangci-lint-action from 3.2.0 to 3.3.1

    chore(deps): Bump golangci/golangci-lint-action from 3.2.0 to 3.3.1

    Bumps golangci/golangci-lint-action from 3.2.0 to 3.3.1.

    Release notes

    Sourced from golangci/golangci-lint-action's releases.

    v3.3.1

    What's Changed

    Full Changelog: https://github.com/golangci/golangci-lint-action/compare/v3...v3.3.1

    v3.3.0

    What's Changed

    ... (truncated)

    Commits
    • 0ad9a09 build(deps-dev): bump @​typescript-eslint/parser from 5.41.0 to 5.42.0 (#599)
    • 235ea57 build(deps-dev): bump eslint from 8.26.0 to 8.27.0 (#598)
    • a6ed001 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.41.0 to 5.42.0 ...
    • 3a7156a build(deps-dev): bump @​typescript-eslint/parser from 5.40.1 to 5.41.0 (#596)
    • 481f8ba build(deps): bump @​types/semver from 7.3.12 to 7.3.13 (#595)
    • 06edb37 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.40.1 to 5.41.0 ...
    • c2f79a7 build(deps): bump @​actions/cache from 3.0.5 to 3.0.6 (#593)
    • d6eac69 build(deps-dev): bump @​typescript-eslint/eslint-plugin from 5.40.0 to 5.40.1 ...
    • 7268434 build(deps-dev): bump eslint from 8.25.0 to 8.26.0 (#591)
    • a926e2b build(deps-dev): bump @​typescript-eslint/parser from 5.40.0 to 5.40.1 (#590)
    • 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)
🔐 Share end-to-end encrypted secrets with others via a one-time URL
🔐 Share end-to-end encrypted secrets with others via a one-time URL

If you use this repo, star it ✨ ?? Share end-to-end encrypted secrets with others via a one-time URL Use to securely share API Keys, Signing secrets,

Dec 26, 2022
An end-to-end encrypted secret messaging service.

Nimie An End-to-end encrypted Anonymous Messaging Service. In a nutshell This service basically empowers you to have short anonymous conversations wit

Dec 17, 2021
publish github pages privately secured by github sso (oauth2)

private-ghp Serves static sites from private repositories to members with read access (or higher), secured using GitHub OAuth2. The server is written

Nov 27, 2022
A blockchain-based demo that shows an alternative strategy for ensuring data and log integrity on aircraft

A blockchain-based demo that shows an alternative strategy for ensuring data and log integrity on aircraft. (Coded in less than 24 hours for GunnHack)

Feb 6, 2022
Simple DVB CAS demo project.

DVB CAS(conditional access system) for ETSI TS 103 197. This is a simplified project when i learning golang, for demonstrate how DVB CAS communicate w

Dec 30, 2021
Gozerodemo - go-zero demo

README RPC https://go-zero.dev/cn/goctl-rpc.html 更新API后生成代码 goctl api go -api gozerodemo.api -dir . -style gozero 启动服务 go run gozerodemo.go -f etc/goz

Jan 9, 2022
Hands-on-cockroach - Demo repository for CockroachDB Serverless

Hands-on CockroachDB Demo repository for CockroachDB Serverless. Hello World Go

Feb 17, 2022
:money_with_wings: CLI app for interacting with paymail service providers
:money_with_wings: CLI app for interacting with paymail service providers

Paymail Inspector CLI application for interacting with paymail service providers Table of Contents Installation Commands Documentation Examples & Test

Dec 14, 2022
Golang NASA APOD Web App
Golang NASA APOD Web App

apod Golang NASA APOD Web App A simple golang web application which consumes data from the NASA APOD API and uses Golang HTML templates and structs wi

Dec 16, 2021
Cosmochat - A decentralized chat app on Cosmos.

cosmochat cosmochat is a blockchain built using Cosmos SDK and Tendermint and created with Starport. Get started starport chain serve serve command i

Jan 2, 2022
Tendermint-built-in - Tendermint Built-in KVStore app

Tendermint Built-in KVStore app Install & build Pull all vendor dependencies: go

May 11, 2022
Scp-wallet-api - Backend for SCP Wallet app

SCP Wallet API Backend for SCP Wallet app. It exposes a simplified REST API whic

Jan 31, 2022
A markov chain for Discord message dumps using https://github.com/fr3fou/polo

discord-markov-chain A markov chain for Discord message dumps using https://github.com/fr3fou/polo Download If you have a go installed, just clone the

Oct 28, 2022
Ethereum-vanity-wallet - A fork of https://github.com/meehow/ethereum-vanity-wallet but the key can be exported to a JSON keystore file

ethereum-vanity-wallet See https://github.com/meehow/ethereum-vanity-wallet This version: doesn't display the private key let's you interactively expo

Jan 2, 2022
sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP
sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP

sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP. (demo)

Jan 9, 2023
A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.
A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.

A simple, modern and secure encryption tool (and Go library) with small explicit keys, no config options, and UNIX-style composability.

Jan 7, 2023
Jan 7, 2023
Webserver I built to serve Infura endpoints. Deployable via k8s and AWS EKS. Load testable via k6 tooling, and montiorable via prometheus and grafana

Infura Web Server Welcome to my verion of the take home project. I've created a webserver written in go to serve Infura api data over 3 possible data

Nov 15, 2022
Get any cryptocurrencies ticker and trade data in real time from multiple exchanges and then save it in multiple storage systems.
Get any cryptocurrencies ticker and trade data in real time from multiple exchanges and then save it in multiple storage systems.

Cryptogalaxy is an app which will get any cryptocurrencies ticker and trade data in real time from multiple exchanges and then saves it in multiple storage systems.

Jan 4, 2023