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

PR builds are inconsistent #7287

Closed
keithc-ca opened this issue Sep 30, 2019 · 5 comments · May be fixed by #7288
Closed

PR builds are inconsistent #7287

keithc-ca opened this issue Sep 30, 2019 · 5 comments · May be fixed by #7288

Comments

@keithc-ca
Copy link
Contributor

Both the build and test jobs in a PR test pipeline use the pull/nnn/merge reference: the problem is the meaning of that reference can change between when the build is launched and when the test portion begins. See #6822 where the build was based on 98a888ab596c4cec379318bd9ae192ae633f3a9b, but the test was based on 15afcbb98d2f683190b07ca803e189749b6c64c5 because in the interim, #6938 was merged which changed the meaning of pull/6822/merge. The result in [1] is errors that refer to lines that don't exist in the commit used to build.

[1] https://ci.eclipse.org/openj9/job/Test_openjdk8_j9_sanity.functional_ppc64le_linux_Personal/260

@keithc-ca
Copy link
Contributor Author

fyi @AdamBrousseau

@AdamBrousseau
Copy link
Contributor

May be able to just remove this line.
https://github.com/eclipse/openj9/blob/master/buildenv/jenkins/common/pipeline-functions.groovy#L403-L405
I can't why we started this override in the first place.

AdamBrousseau added a commit to AdamBrousseau/openj9 that referenced this issue Sep 30, 2019
- When calling test pipelines, the OpenJ9 SHA should
  be used rather than the merge ref. Since the merge
  ref is a moving target, the SHA could change between
  the compile and the test. We need to ensure we are
  testing with the same level of OpenJ9 as we compile
  against.

Fixes eclipse-openj9#7287
[skip ci]

Signed-off-by: Adam Brousseau <[email protected]>
AdamBrousseau added a commit to AdamBrousseau/openj9 that referenced this issue Sep 30, 2019
- When calling test pipelines, the OpenJ9 SHA should
  be used rather than the merge ref. Since the merge
  ref is a moving target, the SHA could change between
  the compile and the test. We need to ensure we are
  testing with the same level of OpenJ9 as we compile
  against.

Fixes eclipse-openj9#7287
[skip ci]

Signed-off-by: Adam Brousseau <[email protected]>
@keithc-ca
Copy link
Contributor Author

Google lead me to [1] which suggested that we could use the SHA directly:

git fetch upstream 98a888ab596c4cec379318bd9ae192ae633f3a9b:refs/remotes/upstream/merge-6822

but github doesn't want to cooperate:

error: Server does not allow request for unadvertised object 98a888ab596c4cec379318bd9ae192ae633f3a9b

This seems to be a relatively rare problem so we may just have to deal with it when it arises; and now that we understand why it might occur, it's easier to accept that me may need to relaunch PR builds on occasion.

[1] https://stackoverflow.com/questions/14872486/retrieve-specific-commit-from-a-remote-git-repository

@AdamBrousseau
Copy link
Contributor

Also found this page
https://discourse.drone.io/t/github-claims-that-merge-refs-are-undocumented-feature/1100/2
From 2017 where Github recommends creating your own merge refs instead of using theirs.

@keithc-ca
Copy link
Contributor Author

It's not clear there are any practical solutions to this. It happens infrequently enough that I think we can just live with the occasional such problem - closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants