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

Tagbuilds #914

Merged
merged 51 commits into from
Feb 7, 2024
Merged

Tagbuilds #914

merged 51 commits into from
Feb 7, 2024

Conversation

andrew-m-leonard
Copy link
Contributor

@andrew-m-leonard andrew-m-leonard commented Feb 5, 2024

Provides tag driven builds for all jdk versions, main & evaluation
Features:

  • Triggers when a new "unpublished" upstream build source tag appears eg.jdk-11.0.23+2
  • OverridePublishName set to "<tag>-ea"
  • Published binaries release name set to "<tag>-ea-beta"
  • Artifact filenames contains publish name pruned as per standard release naming,eg.11.0.23_2, or 8u412b03
  • Main & Evaluation pipelines triggered
  • Option to "Force" Main or Evaluation even if tag already exists, for example to re-build a missing platform
  • "Force" override of targetConfigurations, so that force of a single failed platform can be submitted
  • Old scheduled builds disabled
  • Daily Slack status updated to support tag driven builds for all versions

Test job: https://ci.adoptium.net/job/build-scripts/job/utils/job/betaTrigger_8ea/18/parameters/

Fixes: #902

@andrew-m-leonard andrew-m-leonard self-assigned this Feb 5, 2024
Copy link

github-actions bot commented Feb 5, 2024

Thank you for creating a pull request!

Please check out the information below if you have not made a pull request here before (or if you need a reminder how things work).

Code Quality and Contributing Guidelines

If you have not done so already, please familiarise yourself with our Contributing Guidelines and Code Of Conduct, even if you have contributed before.

Tests

Github actions will run a set of jobs against your PR that will lint and unit test your changes. Keep an eye out for the results from these on the latest commit you submitted. For more information, please see our testing documentation.

In order to run the advanced pipeline tests (executing a set of mock pipelines), it requires an admin to post run tests on this PR.
If you are not an admin, please ask for one's attention in #infrastructure on Slack or ping one here.
To run full set of tests, use "run tests"; a subset of tests on specific jdk version, use "run tests quick 11,21"

@github-actions github-actions bot added the code-tools Issues that are miscellaneous enhancements or bugs with our utilities that assist our build scripts label Feb 5, 2024
@eclipse-temurin-bot
Copy link
Collaborator

 PR TESTER RESULT 

❎ Some pipelines failed or the job was aborted! ❎
See the pipeline-build-check below for more information...

@andrew-m-leonard
Copy link
Contributor Author

Not so sure on the commented out code, would prefer to see it deleted I think (Git will let us get it back)

@karianna yes, agree, better to delete the lines

@andrew-m-leonard
Copy link
Contributor Author

run tests

@andrew-m-leonard
Copy link
Contributor Author

run tests

@eclipse-temurin-bot
Copy link
Collaborator

 PR TESTER RESULT 

❎ Some pipelines failed or the job was aborted! ❎
See the pipeline-build-check below for more information...

Copy link
Member

@sxa sxa left a comment

Choose a reason for hiding this comment

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

Initial comment before I properly analyse the code - can we add some end-user information on this new process into https://github.com/adoptium/ci-jenkins-pipelines/blob/master/README.md where we describe the current nightly triggering.

@sxa
Copy link
Member

sxa commented Feb 7, 2024

Not so sure on the commented out code, would prefer to see it deleted I think (Git will let us get it back)

@karianna yes, agree, better to delete the lines

In this case I'd actually prefer to have them present and commented out so it's obvious where the time-based scheduling can be re-enabled if desired. We will presumably still need this functionality for new releases while they are maintained by Oracle and not getting regular tags.

I guess as a middle ground we could just leave it in the JDK22+ ones if you don't want to retain it for all of them.

Copy link
Member

@sxa sxa left a comment

Choose a reason for hiding this comment

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

The logic SGTM subject to my limited groovy expertise ... Most of the things in here are queries and doc suggestions that it would be nice to have answers to prior to giving a formal approval but it looks like you've done some testing on it so it should be good. We'll see if there are any other edge cases we've missed once it goes live, but this should be a lot nicer than my original prototype code that we've been relying on for a few months!

@andrew-m-leonard
Copy link
Contributor Author

Initial comment before I properly analyse the code - can we add some end-user information on this new process into https://github.com/adoptium/ci-jenkins-pipelines/blob/master/README.md where we describe the current nightly triggering.

thanks for pointing out, yes updated

Initial comment before I properly analyse the code - can we add some end-user information on this new process into https://github.com/adoptium/ci-jenkins-pipelines/blob/master/README.md where we describe the current nightly triggering.

thanks for pointing out, updated and added description of pipeline groovy and parameters

@andrew-m-leonard
Copy link
Contributor Author

Not so sure on the commented out code, would prefer to see it deleted I think (Git will let us get it back)

@karianna yes, agree, better to delete the lines

In this case I'd actually prefer to have them present and commented out so it's obvious where the time-based scheduling can be re-enabled if desired. We will presumably still need this functionality for new releases while they are maintained by Oracle and not getting regular tags.

I guess as a middle ground we could just leave it in the JDK22+ ones if you don't want to retain it for all of them.

Yes, i've added back in as a comment for jdk22.groovy, which will be used as a basis for jdk22u.groovy which will required the schedule

@sxa
Copy link
Member

sxa commented Feb 7, 2024

Raised question in slack about whether there might be a better name than main for the non-evaluation pipelines (especially since main is now used by github as the default branch in new repositories) but that shouldn't be considered a blocker from my pespective

@andrew-m-leonard andrew-m-leonard requested a review from sxa February 7, 2024 16:43
Copy link
Member

@sxa sxa left a comment

Choose a reason for hiding this comment

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

Thanks for the changes. A couple of further comments but I'm happy for this to go in once you'r happy with the testing :-)

@@ -151,6 +151,12 @@ disableJob = true

#### triggerSchedule_nightly / triggerSchedule_weekly / triggerSchedule_evaluation / triggerSchedule_weekly_evaluation

All JDK versions now support "beta" EA triggered builds from the publication of upstream build tags. Eclipse Adoptium no
Copy link
Member

Choose a reason for hiding this comment

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

I've just realised because of the way that this is formatted on the screen that 'EA' is just above "Eclipse Adoptium" so here's a clarification - minor risk of confusion but better to avoid it ;-)

Suggested change
All JDK versions now support "beta" EA triggered builds from the publication of upstream build tags. Eclipse Adoptium no
All JDK versions now support "beta" earle-access (EA) triggered builds from the publication of upstream build tags. Eclipse Adoptium no

Copy link
Contributor

Choose a reason for hiding this comment

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

had a typo so I didn't commit that.

@karianna karianna merged commit 7e31d4d into adoptium:master Feb 7, 2024
7 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
code-tools Issues that are miscellaneous enhancements or bugs with our utilities that assist our build scripts documentation jenkins-pipeline
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Enable upstream build/tag driven nightly EA builds for Temurin jdk8,11,17
4 participants