Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Prepare repository for merge queue #36788

Open
4 tasks
mx-psi opened this issue Dec 11, 2024 · 4 comments
Open
4 tasks

Prepare repository for merge queue #36788

mx-psi opened this issue Dec 11, 2024 · 4 comments
Labels
ci-cd CI, CD, testing, build issues

Comments

@mx-psi
Copy link
Member

mx-psi commented Dec 11, 2024

Component(s)

No response

Describe the issue you're reporting

We have been testing the merge queue in opentelemetry-collector-releases and opentelemetry-collector. Once we have figured out how things should be set up, it has mostly worked fine. This issue is to set things up correctly to be able to use a merge queue:

@mx-psi mx-psi added the needs triage New item requiring triage label Dec 11, 2024
@atoulme atoulme added ci-cd CI, CD, testing, build issues and removed needs triage New item requiring triage labels Dec 11, 2024
@jade-guiton-dd
Copy link
Contributor

jade-guiton-dd commented Dec 12, 2024

Note: "Skipping required jobs that are PR-specific" should be done as in core#11810, not core#11797, ie. we should make sure to enable the merge_group trigger for all required jobs in the merge queue, but skip (with an if:) the ones that don't make sense or won't work.

@mx-psi
Copy link
Member Author

mx-psi commented Dec 12, 2024

Edited the list above to mention that, thanks Jade!

dmitryax pushed a commit that referenced this issue Dec 16, 2024
#### Description
We've noticed that many of the CI failures on main come from Windows e2e
tests. We want to be more proactive in catching those failures, so this
PR changes the workflow triggering Windows e2e tests to ensure they run
on Pull Requests that change Windows-related files, even if the label
`Run Windows` is absent.

It does so by looking at changed files. If the word `windows` is present
in the file name, it triggers the workflow.

#### Link to tracking issue
Related to
#36788

---------

Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
sbylica-splunk pushed a commit to sbylica-splunk/opentelemetry-collector-contrib that referenced this issue Dec 17, 2024
…emetry#36857)

#### Description
We've noticed that many of the CI failures on main come from Windows e2e
tests. We want to be more proactive in catching those failures, so this
PR changes the workflow triggering Windows e2e tests to ensure they run
on Pull Requests that change Windows-related files, even if the label
`Run Windows` is absent.

It does so by looking at changed files. If the word `windows` is present
in the file name, it triggers the workflow.

#### Link to tracking issue
Related to
open-telemetry#36788

---------

Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
@ArthurSens
Copy link
Member

While looking at the automation for pinging codeowners, I've noticed there's a tool for this already: https://github.com/open-telemetry/opentelemetry-go-build-tools/tree/main/issuegenerator

Has this been tested/enabled somewhere? How was the experience with it?

mterhar pushed a commit to mterhar/opentelemetry-collector-contrib that referenced this issue Dec 19, 2024
…emetry#36857)

#### Description
We've noticed that many of the CI failures on main come from Windows e2e
tests. We want to be more proactive in catching those failures, so this
PR changes the workflow triggering Windows e2e tests to ensure they run
on Pull Requests that change Windows-related files, even if the label
`Run Windows` is absent.

It does so by looking at changed files. If the word `windows` is present
in the file name, it triggers the workflow.

#### Link to tracking issue
Related to
open-telemetry#36788

---------

Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
@mx-psi
Copy link
Member Author

mx-psi commented Dec 19, 2024

I don't see any current mentions of issuegenerator other than in go.mods: https://github.com/search?q=org%3Aopen-telemetry+issuegenerator&type=code 🤔

dmitryax pushed a commit that referenced this issue Jan 9, 2025
…37106)

#### Description
Many times changes that break Windows CI are merged since it is not
apparent that they will break on Windows. Given the cost of running
Windows CI for every PR the label `Run Windows` is only added in few
cases. This change adds make targets that allow to run make commands
only for tests and dependencies affected by files being changed.

It uses a simple detection of go files that were changed and look to the
import commands to find the components that depend directly on the
package being changed.

#### Link to tracking issue
Relates to #36788

#### Testing
Validated on my fork, e.g.:
https://github.com/pjanotti/opentelemetry-service-contrib/actions/runs/12659871185

#### Documentation
N/A
AkhigbeEromo pushed a commit to sematext/opentelemetry-collector-contrib that referenced this issue Jan 13, 2025
…emetry#36857)

#### Description
We've noticed that many of the CI failures on main come from Windows e2e
tests. We want to be more proactive in catching those failures, so this
PR changes the workflow triggering Windows e2e tests to ensure they run
on Pull Requests that change Windows-related files, even if the label
`Run Windows` is absent.

It does so by looking at changed files. If the word `windows` is present
in the file name, it triggers the workflow.

#### Link to tracking issue
Related to
open-telemetry#36788

---------

Signed-off-by: Arthur Silva Sens <arthursens2005@gmail.com>
AkhigbeEromo pushed a commit to sematext/opentelemetry-collector-contrib that referenced this issue Jan 13, 2025
…pen-telemetry#37106)

#### Description
Many times changes that break Windows CI are merged since it is not
apparent that they will break on Windows. Given the cost of running
Windows CI for every PR the label `Run Windows` is only added in few
cases. This change adds make targets that allow to run make commands
only for tests and dependencies affected by files being changed.

It uses a simple detection of go files that were changed and look to the
import commands to find the components that depend directly on the
package being changed.

#### Link to tracking issue
Relates to open-telemetry#36788

#### Testing
Validated on my fork, e.g.:
https://github.com/pjanotti/opentelemetry-service-contrib/actions/runs/12659871185

#### Documentation
N/A
mx-psi added a commit that referenced this issue Jan 15, 2025
#### Description

As stated in the [Release Procedure
document](https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/release.md#releasing-opentelemetry-collector-contrib),
all merging in Contrib should be halted while the "Prepare release" PR
is open. This PR adds a CI check which fails if such a release PR is
currently open.

This is the same as the CI check introduced in Core as part of [this
issue](open-telemetry/opentelemetry-collector#11707)
([Initial
PR](open-telemetry/opentelemetry-collector#11744),
[bug](open-telemetry/opentelemetry-collector#11808),
[fix](open-telemetry/opentelemetry-collector#11849),
[bug
2](open-telemetry/opentelemetry-collector#11906),
[fix
2](open-telemetry/opentelemetry-collector#11936),
[fix
3](open-telemetry/opentelemetry-collector#12045),
[fix
4](open-telemetry/opentelemetry-collector#12051)).

Like its predecessor, this will only be fully effective once the merge
queue is enabled on this repo (see #36788 for progress on that),
enabling us to do proper last-minute checks instead of relying on the
freeze status at the time of the latest PR update. Similarly, for proper
enforcement, this check will need to be marked as required in the main
branch protections (I will create an issue on the community repo to that
effect once this PR is merged).

#### Link to tracking issue

Updates #36848

#### Testing

Considering the multiple iterations this code went through on Core, it
should now work properly without adaptation.

However, considering the multiple iterations this code went through on
Core, we should expect the unexpected, especially when it comes to the
interaction with the merge queue, so release managers will need to be
aware of this change, in case it breaks the release process.

---------

Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>
Co-authored-by: Moritz Wiesinger <moritz.wiesinger@dynatrace.com>
chengchuanpeng pushed a commit to chengchuanpeng/opentelemetry-collector-contrib that referenced this issue Jan 26, 2025
…emetry#37097)

#### Description

As stated in the [Release Procedure
document](https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/release.md#releasing-opentelemetry-collector-contrib),
all merging in Contrib should be halted while the "Prepare release" PR
is open. This PR adds a CI check which fails if such a release PR is
currently open.

This is the same as the CI check introduced in Core as part of [this
issue](open-telemetry/opentelemetry-collector#11707)
([Initial
PR](open-telemetry/opentelemetry-collector#11744),
[bug](open-telemetry/opentelemetry-collector#11808),
[fix](open-telemetry/opentelemetry-collector#11849),
[bug
2](open-telemetry/opentelemetry-collector#11906),
[fix
2](open-telemetry/opentelemetry-collector#11936),
[fix
3](open-telemetry/opentelemetry-collector#12045),
[fix
4](open-telemetry/opentelemetry-collector#12051)).

Like its predecessor, this will only be fully effective once the merge
queue is enabled on this repo (see open-telemetry#36788 for progress on that),
enabling us to do proper last-minute checks instead of relying on the
freeze status at the time of the latest PR update. Similarly, for proper
enforcement, this check will need to be marked as required in the main
branch protections (I will create an issue on the community repo to that
effect once this PR is merged).

#### Link to tracking issue

Updates open-telemetry#36848

#### Testing

Considering the multiple iterations this code went through on Core, it
should now work properly without adaptation.

However, considering the multiple iterations this code went through on
Core, we should expect the unexpected, especially when it comes to the
interaction with the merge queue, so release managers will need to be
aware of this change, in case it breaks the release process.

---------

Co-authored-by: Pablo Baeyens <pbaeyens31+github@gmail.com>
Co-authored-by: Moritz Wiesinger <moritz.wiesinger@dynatrace.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
ci-cd CI, CD, testing, build issues
Projects
None yet
Development

No branches or pull requests

4 participants