Skip to content

Conversation

mowies
Copy link
Member

@mowies mowies commented Jul 16, 2025

Fixes #773

This setup is closely modelled after this goreleaser blog post.

The nightly releases can be seen in action on my fork. Also, the nightly release pipeline can be seen there: https://github.com/mowies/opentelemetry-collector-releases/actions/workflows/nightly-release.yaml

Still todo:

Follow ups:

  • switch otelcol-contrib package tests to use the nightly built artifacts instead of building them fresh. this should enable us to have the same goreleaser setup for contrib as for all the other distros again
  • try to get the windows release builds to work nightly as well
  • Add nightly releases #1016 (comment)

    I noticed that these 3 steps are repeated in a few places. Could we somehow extract them into something reusable? Not required for now, but in the near term future it would be useful so that fixes and changes could easily be applied in all places.

mowies added 9 commits July 22, 2025 14:12
update goreleaser config with nightly settings

use different token to push nightly tag

revert core ci, change to pushing nightly tags

prepare otelcol goreleaser setup for testing

add new pipeline
try to move nightly check to distro release pipelines

enable otelcol windows

re-enable container manifests

try disabling image manifests

fix env var

remove quotes

switch to env var for ephermal tag

try to exchange latest image tag when building nightly

enable container images with personal user

only keep a single pre-release

add nightly setup to contrib build-only config

remove otelcol and otelcol-contrib dockers

see if otelcol-contrib works

restore otelcol dockers
@mowies mowies force-pushed the two-step-release-process branch from 157943a to ee14504 Compare July 22, 2025 12:14
@mowies mowies changed the title [chore][WIP] add nightly release setup with pipeline and goreleaser settings [chore] add nightly release setup with pipeline and goreleaser settings Jul 23, 2025
@mowies mowies changed the title [chore] add nightly release setup with pipeline and goreleaser settings [chore] add nightly releases Jul 23, 2025
mowies added 5 commits July 24, 2025 07:55
# Conflicts:
#	cmd/builder/.goreleaser.yml
#	cmd/goreleaser/internal/configure.go
#	cmd/opampsupervisor/.goreleaser.yml
#	distributions/otelcol-contrib/.goreleaser-build.yaml
#	distributions/otelcol-contrib/.goreleaser.yaml
#	distributions/otelcol-ebpf-profiler/.goreleaser.yaml
#	distributions/otelcol-k8s/.goreleaser.yaml
#	distributions/otelcol-otlp/.goreleaser.yaml
#	distributions/otelcol/.goreleaser.yaml
Copy link
Member

@douglascamata douglascamata left a comment

Choose a reason for hiding this comment

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

Awesome work. This will be so helpful!

I left some minor comments/suggestions.

mowies and others added 2 commits July 28, 2025 08:22
Co-authored-by: Douglas Camata <159076+douglascamata@users.noreply.github.com>
@mowies
Copy link
Member Author

mowies commented Jul 29, 2025

I think the only way to avoid the notification spam would be to push the nightly releases to another repository, which could be a good idea. We can keep all the code and official releases in this repository, just push the nightlies to a -nightly repo.

that is gonna be hard to implement in the goreleaser configs. i don't think you can set a different repo just for nightly releases

@douglascamata
Copy link
Member

that is gonna be hard to implement in the goreleaser configs. i don't think you can set a different repo just for nightly releases

Sad times. It leaves us with no options besides leaving these releases as drafts then, I guess. 🤔

@mowies
Copy link
Member Author

mowies commented Jul 29, 2025

we could ask for that feature though. The goreleaser folks are usually fast with implementing if features make sense and I think that doesn't sound so bad.

@mowies
Copy link
Member Author

mowies commented Jul 29, 2025

i filed https://github.com/orgs/goreleaser/discussions/5935

@mowies
Copy link
Member Author

mowies commented Jul 29, 2025

Since drafts are not created when publish_release is set to false, I think we should just go with not publishing releases at first and just check that the pipelines work ok. Maybe creating issues when they fail or so.

@douglascamata
Copy link
Member

They will need to add support for that release.draft setting also in the nightly section.

@douglascamata
Copy link
Member

I think we should just go with not publishing releases at first and just check that the pipelines work ok

Sounds like a good start.

@mowies mowies changed the title [chore] add nightly releases Add nightly releases Jul 30, 2025
@mowies mowies marked this pull request as ready for review July 30, 2025 11:11
@mowies mowies requested a review from a team as a code owner July 30, 2025 11:11
@mowies mowies requested a review from andrzej-stencel July 30, 2025 11:11
Copy link
Member

@mx-psi mx-psi left a comment

Choose a reason for hiding this comment

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

LGTM cc @open-telemetry/collector-releases-approvers

@mowies mowies added this pull request to the merge queue Jul 31, 2025
Merged via the queue into open-telemetry:main with commit 756b394 Jul 31, 2025
72 checks passed
@mowies mowies deleted the two-step-release-process branch July 31, 2025 09:35
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Do release in two stages

3 participants