GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — feature: add release automation workflows by tuunit · Pull Request #2224 · oauth2-proxy/oauth2-proxy

Conversation

@tuunit

@tuunit tuunit commented Sep 6, 2023 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member

Description

To stabilize and accelerate the frequency of releases a proper release automation is necessary. This PR introduces two new workflows 1. Create Release and 2. Publish Release.

  1. Create Release
  • This workflow has to be triggered manually with a new version
  • Updates the documentation and CHANGELOG
  • Automatically creates a release branch e.g. release/v7.5.1 and raises a PR for it
  1. Publish Release
  • This workflow is automatically triggered when a PR is merged to the master branch but only runs through if it was merged from a release branch
  • Creates a pre-release on GitHub
  • Builds all necessary oauth2-proxy binaries and uploads them (including the checksums) to the GitHub pre-release
  • Builds all platform container images and publish them to quay.io

Only steps not automated:

  • Updating the CHANGELOG with highlight and breaking changes
  • Updating and publishing the Pre-Release on GitHub with the CHANGELOG content

For this automation to work the following has be setup in GitHub:

  1. Allow pull request creation through github actions in the org or repo settings
  2. Create a robo account for quay.io/oauth2-proxy and create a REGISTRY_USERNAME and REGISTRY_PASSWORD action secret for the repo.

How Has This Been Tested?

To properly test this PR a completely separate repository has been created:
https://github.com/tuunit/oauth2-proxy-release-automation

Checklist:

  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have created a feature (non-master) branch for my PR.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@tuunit
tuunit requested a review from a team as a code owner September 6, 2023 14:57
@tuunit
tuunit force-pushed the feature/release-automation branch from e67d06e to 2caad1d Compare September 6, 2023 15:31
@tuunit

tuunit commented Sep 6, 2023

Copy link
Copy Markdown
Member Author

@Morl99 feel free to do a first review. I would appreciate your input.

Morl99 reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@tuunit
tuunit force-pushed the feature/release-automation branch 5 times, most recently from e9374d2 to 8bbeb4e Compare September 10, 2023 13:39
@tuunit tuunit modified the milestones: v8.0.0, v7.6.0 Sep 13, 2023
@tuunit tuunit changed the title [WIP] feature: add release automation workflows feature: add release automation workflows Sep 23, 2023
@Morl99

Morl99 commented Oct 26, 2023

Copy link
Copy Markdown

This LGTM, although I would still appreciate to separate Releases of the oauth2-proxy from building docker image, as I think, that we need to build new docker images nightly, even if there are no code changes in this repo, since the base images need to be updated. But this can be done in a separate PR.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@tuunit

tuunit commented Oct 26, 2023 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member Author

This LGTM, although I would still appreciate to separate Releases of the oauth2-proxy from building docker image, as I think, that we need to build new docker images nightly, even if there are no code changes in this repo, since the base images need to be updated. But this can be done in a separate PR.

I would prefer nightly rebuilds of the latest one or two releases as well. I will talk to the other maintainers about that again :)

Morl99 reacted with rocket emoji
All reactions
  • 🚀 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@github-actions github-actions Bot added the docs label Oct 31, 2023
@tuunit tuunit added enhancement changelog labels Oct 31, 2023
JoelSpeed
JoelSpeed reviewed Nov 18, 2023
View reviewed changes
Comment thread .github/workflows/create-release.yml Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread .github/workflows/publish-release.yml Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread .github/workflows/publish-release.yml Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread .github/workflows/publish-release.yml Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread Makefile Outdated
DOCKER_BUILD_PLATFORM ?= linux/amd64,linux/arm64,linux/ppc64le,linux/arm/v6,linux/arm/v7
DOCKER_BUILD_RUNTIME_IMAGE ?= alpine:3.18
DOCKER_BUILDX_ARGS ?= --build-arg RUNTIME_IMAGE=${DOCKER_BUILD_RUNTIME_IMAGE}
DOCKER_BUILDX_ARGS ?= --build-arg RUNTIME_IMAGE=${DOCKER_BUILD_RUNTIME_IMAGE} --provenance=false

@JoelSpeed JoelSpeed Nov 18, 2023

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does this new arg do?

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@tuunit tuunit Dec 26, 2023

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is used to control how much metadata is attached to images to figure out their origin:

https://docs.docker.com/build/attestations/
https://docs.docker.com/build/attestations/slsa-provenance/

I was trying to figure out why the automated build and the build from my machine produces these unknown archs for each regular arch that is build:
image

It seems like something is differently setup on your system as all previous builds to quay.io from your system do not contain any of these unknown archs.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

@tuunit tuunit Dec 26, 2023 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Member Author

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't believe it is an issue but something that we could investigate to figure out what is different between how the automated build is done and how you do it on your local system.

You will find the some "issue" for all nightly builds as well:
https://quay.io/repository/oauth2-proxy/oauth2-proxy-nightly?tab=tags

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@tuunit
tuunit force-pushed the feature/release-automation branch from c101f05 to 7a5e4b9 Compare November 18, 2023 13:46
@github-actions github-actions Bot removed the changelog label Nov 18, 2023
tuunit added 4 commits December 26, 2023 11:35
@tuunit
feature: add release automation workflows
347f207
@tuunit
deactivate provenancee because of behaviour change with buildx v0.10.0
1385d54
@tuunit
add changelog section extraction for github release notes
65de951
@tuunit
fix registry path; fix EOF
3d5ed4a
@tuunit
tuunit force-pushed the feature/release-automation branch from 7a5e4b9 to 3d5ed4a Compare December 26, 2023 11:35
@tuunit
use correct version of golangci-lint; add additional workflow step fo…
7683f97
…r fetching all dependencies
JoelSpeed
JoelSpeed approved these changes Jan 20, 2024
View reviewed changes
@JoelSpeed
JoelSpeed merged commit 2df301c into oauth2-proxy:master Jan 20, 2024
tuunit added a commit to tuunit/oauth2-proxy that referenced this pull request Jan 21, 2024
@tuunit @kvanzuijlen
@JoelSpeed @brezinajn @WhiteRabbit-Code Sven Ertel @charvadzo @ondrej-charvat @hevans-dglcom @nilsgstrabo @rossigee @renovate
Docs/docusaurus 3 (#4)
e0cd885
* enhancement: Change base image from alpine to distroless (oauth2-proxy#2295)

* Changed base image from alpine to distroless

* chore: updated Makefile

* fix: removed arm/v6 and ppc64le for distroless variant

* Update Dockerfile

* Update Makefile

* docs: Add README-section, CHANGELOG-entry and --pull to prevent caching

---------

Co-authored-by: Joel Speed <[email protected]>

* Add possibility to encode the state param as UrlEncodedBase64 (oauth2-proxy#2312)

* Add possibility to encode the state param as UrlEncodedBase64

* Update CHANGELOG.md

* Update oauthproxy.go

Co-authored-by: Jan Larwig <[email protected]>

---------

Co-authored-by: Jan Larwig <[email protected]>

* NGINX return 403 for sign_in (oauth2-proxy#2322) (oauth2-proxy#2323)

Co-authored-by: Sven Ertel <[email protected]>

* chore: Create sha256sum for tar instead of binary (oauth2-proxy#2343)

* Create sha256sum for tar instead of binary

* chore: Add checksum for binary

* chore: Updated changelog

---------

Co-authored-by: Joel Speed <[email protected]>

* Log error details when failed loading CSRF cookie (oauth2-proxy#2345)

* Log error details when failed loading CSRF cookie

* Add a record about this PR to CHANGELOG.md

---------

Co-authored-by: Ondrej Charvat <[email protected]>
Co-authored-by: Joel Speed <[email protected]>

* Feature - Add env variable support for alpha struct (oauth2-proxy#2375)

* added envsubstring package and added simple test cases.imple tests.

* added documentation

* added changelog entry

* added documentation to wrong file


.

* changed tests to ginkgo format

* update project to use better maintained library

* use defer to clear test variable after tests finished

* updated docs for the new package documentation and fixed bad english

* refactored function to "reduce" complexity.

* updated changelog for new version

updated readme

* minor formatting

---------

Co-authored-by: Haydn Evans <[email protected]>
Co-authored-by: Joel Speed <[email protected]>

* remove nsswitch workaround (oauth2-proxy#2371)

Co-authored-by: Joel Speed <[email protected]>

* feat: Added renovate configuration (oauth2-proxy#2377)

* Feature/add option to skip loading claims from profile url (oauth2-proxy#2329)

* add new flag skip-claims-from-profile-url

* skip passing profile URL if SkipClaimsFromProfileURL

* docs for --skip-claims-from-profile-url flag

* update flag comment

* update docs

* update CHANGELOG.md

* Update providers/provider_data.go

Co-authored-by: Jan Larwig <[email protected]>

* Add tests for SkipClaimsFromProfileURL

* simplify tests for SkipClaimsFromProfileURL

* generate alpha_config.md

---------

Co-authored-by: Jan Larwig <[email protected]>

* Add ability to configure username for Redis cluster connections (oauth2-proxy#2381)

* Initial attempt.

* Add CHANGELOG entry.

* Drop commented-out Sentinel test.

---------

Co-authored-by: Joel Speed <[email protected]>

* chore(deps): update module golang.org/x/crypto to v0.17.0 [security] (oauth2-proxy#2400)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* chore(deps): update github.com/ghodss/yaml digest to d8423dc (oauth2-proxy#2401)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* Improved dev environment (oauth2-proxy#2211)

* Improved dev env setup

* Cleanup duplicate checks

* Applied PR feedback

* Updated go.mod/go.sum

* go mod tidy

* Update .devcontainer/devcontainer.json

* Update pkg/http/server_test.go

Co-authored-by: Jan Larwig <[email protected]>

* Create launch.json

* Update .devcontainer/Dockerfile

* Apply suggestions from code review

---------

Co-authored-by: Jan Larwig <[email protected]>

* feature: add release automation workflows (oauth2-proxy#2224)

* feature: add release automation workflows

* deactivate provenancee because of behaviour change with buildx v0.10.0

* add changelog section extraction for github release notes

* fix registry path; fix EOF

* use correct version of golangci-lint; add additional workflow step for fetching all dependencies

* chore(deps): update module github.com/bsm/redislock to v0.9.4 (oauth2-proxy#2406)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

* initial commit for docusaurus 3 upgrade

* fix mdx errors

* fix mdx issues

* fix routing issues

* update docs generation workflow

* fix version

* fix permissions

* move slack to header

* remove background color and minify

* Update docs/docs/configuration/providers/openid_connect.md

Co-authored-by: Koen van Zuijlen <[email protected]>

* Update docs/docs/configuration/providers/openid_connect.md

Co-authored-by: Koen van Zuijlen <[email protected]>

* Update docs/docs/configuration/providers/openid_connect.md

Co-authored-by: Koen van Zuijlen <[email protected]>

* Update docs/docs/configuration/providers/gitlab.md

Co-authored-by: Koen van Zuijlen <[email protected]>

* Update docs/docs/configuration/providers/gitlab.md

Co-authored-by: Koen van Zuijlen <[email protected]>

* Update docs/docs/configuration/providers/github.md

Co-authored-by: Koen van Zuijlen <[email protected]>

* Update docs/docs/configuration/providers/github.md

Co-authored-by: Koen van Zuijlen <[email protected]>

* Update docs/docs/configuration/providers/github.md

Co-authored-by: Koen van Zuijlen <[email protected]>

* Update docs/docs/configuration/providers/github.md

Co-authored-by: Koen van Zuijlen <[email protected]>

---------

Co-authored-by: Koen van Zuijlen <[email protected]>
Co-authored-by: Joel Speed <[email protected]>
Co-authored-by: Jan Brezina <[email protected]>
Co-authored-by: WhiteRabbit-Code <[email protected]>
Co-authored-by: Sven Ertel <[email protected]>
Co-authored-by: charvadzo <[email protected]>
Co-authored-by: Ondrej Charvat <[email protected]>
Co-authored-by: Haydn Evans <[email protected]>
Co-authored-by: Nils Gustav Stråbø <[email protected]>
Co-authored-by: Ross Golder <[email protected]>
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@JoelSpeed JoelSpeed JoelSpeed approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

docs enhancement

Projects

None yet

Milestone

v7.6.0

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@tuunit @Morl99 @JoelSpeed
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.