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
Convert PullRequests to pipeline of jobs #2836
Convert PullRequests to pipeline of jobs #2836
Conversation
0810ca5
to
ec43af0
Compare
TODO
|
9d82a3a
to
be154ae
Compare
79cb4c6
to
db96f7c
Compare
d3c46cc
to
899c2aa
Compare
buildenv/jenkins/README.md
Outdated
- `Jenkins test sanity.functional zlinux jdk8,jdk11` | ||
- Request an extended functional and system build on pLinux for a single version | ||
- `Jenkins test extended.functional,extended.system plinux jdk8` | ||
- Request a sanity build on z,p Linux for multiple versions | ||
- `Jenkins test sanity zlinux,plinux jdk8,jdk9` |
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.
How about removing jdk9 here since it is obsolete.
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.
Done
buildenv/jenkins/README.md
Outdated
@@ -80,6 +105,8 @@ You can also request a Pull Request build from the Eclipse OpenJ9 repository - [ | |||
- Ex. If you have a dependent change and only want one platform, depends comes last | |||
- `Jenkins test sanity zlinux jdk8 depends eclipse/omr#123` | |||
|
|||
###### Note: When specifying a dependent change in an OpenJDK extensions repo, you can only build the SDK version that matches the repo where the dependent change lives. Eg. You cannot build JDK8 with a PR in openj9-openjdk-jdk9. |
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.
Also here, remove the ref to the obsolete jdk9
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.
Done
ab2ed6a
to
d06c581
Compare
Not sure "Fixes #2728" is appropriate if the conversion to Pipeline builds doesn't occur when this is merged. |
@@ -84,8 +84,6 @@ build_discarder: | |||
OMR: 20 | |||
OpenJDK: 20 | |||
Personal: 50 | |||
# tmp PRs | |||
pullRequest: 50 |
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.
Is it appropriate to remove this before converting PRs to pipeline builds?
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.
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.
#4738 must be a typo.
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.
d06c581
to
c1f5093
Compare
error("Unknown PLATFORM short:'${SHORT}'\nExpected one of:${SHORT_NAMES}") | ||
} | ||
} | ||
echo "PLATFORMS:'${PLATFORMS}'" |
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.
How is 'depends' handled?
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.
Added a comment to comment block at the beginning of setup_pull_request()
* 3+ - jdk versions | ||
*/ | ||
def PARSED_COMMENT = params.ghprbCommentBody.toLowerCase().tokenize(' ') | ||
if (PARSED_COMMENT[0] != 'jenkins') { |
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.
We should use a different trigger than 'jenkins' at least temporarily, so we can run pipeline PR builds concurrently with the old style PR builds for testing purposes. One suggestion is 'pipeline'
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.
Removed this check since it is technically redundant. The trigger regex in the jenkins job verifies PARSED_COMMENT[0]. We can change it to pipeline
on the new jobs until we are ready to change over completely.
- PRs currently run in separate, stand-alone jobs and this is not maintenance friendly. - There are many benefits to switching to the common workflow of "pipeline of jobs" used by all other builds. - This PR adds support for PR builds to use Pipeline-Build-Test-All as a top-level job. - This also adds support in pipeline-functions to accomodate various functionality needed by PRs. - Update README to reflect changes. - Auto-Cancel Test jobs when new ones are launched from the same PR - Only allow restarts for UNSTABLE builds. Issue eclipse-openj9#2728 [skip ci] Signed-off-by: Adam Brousseau <adam.brousseau88@gmail.com>
c1f5093
to
209a40a
Compare
- GIT_BRANCH is passed from Github for PR builds. This param was overiding the default value of 'master' in PR builds which causes PRs to fail to find the ref. Related eclipse-openj9#2836 eclipse-openj9#4443 eclipse-openj9#4783 [skip ci] Signed-off-by: Adam Brousseau <adam.brousseau88@gmail.com>
- Current check uses ghprbGhRepository which is now used for non-pr builds - Change to pull id as this param is only passed for old and new style pr builds Related eclipse-openj9#2836 [skip ci] Signed-off-by: Adam Brousseau <adam.brousseau88@gmail.com>
- GIT_BRANCH is passed from Github for PR builds. This param was overiding the default value of 'master' in PR builds which causes PRs to fail to find the ref. Related eclipse-openj9#2836 eclipse-openj9#4443 eclipse-openj9#4783 [skip ci] Signed-off-by: Adam Brousseau <adam.brousseau88@gmail.com>
- Current check uses ghprbGhRepository which is now used for non-pr builds - Change to pull id as this param is only passed for old and new style pr builds Related eclipse-openj9#2836 [skip ci] Signed-off-by: Adam Brousseau <adam.brousseau88@gmail.com>
- xlinux - xlinuxXL - osx - win - win32 - aix - plinux - zlinux - Also change the values to be lists in order to support multiple values [skip ci] Related eclipse-openj9#2836 Signed-off-by: Adam Brousseau <adam.brousseau88@gmail.com>
- We no longer run our own testing so this code is no longer needed. - Remove PullRequest pipelines as they are no longer in use. - Combine 'build' and 'pullRequest' variable setup cases as they are identical. - Also remove temp reverse spec map used prior to eclipse-openj9#2836. Related eclipse-openj9#1450 Depends eclipse-openj9#2728 eclipse-openj9#2638 eclipse-openj9#2467 eclipse-openj9#2272 eclipse-openj9#2836 eclipse-openj9#4443 [skip ci] Signed-off-by: Adam Brousseau <adam.brousseau88@gmail.com>
and this is not maintenance friendly.
workflow of "pipeline of jobs" used by all other builds.
Pipeline-Build-Test-All as a top-level job.
various functionality needed by PRs.
what a build belongs to (Nightly, OMR, PR#123 etc)
Issue #2728
[skip ci]
Signed-off-by: Adam Brousseau adam.brousseau88@gmail.com