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

Automate or semi-automate update of testenv.properties file #4373

Closed
smlambert opened this issue Feb 28, 2023 · 3 comments · Fixed by #5102
Closed

Automate or semi-automate update of testenv.properties file #4373

smlambert opened this issue Feb 28, 2023 · 3 comments · Fixed by #5102
Assignees

Comments

@smlambert
Copy link
Contributor

smlambert commented Feb 28, 2023

This is an enhancement feature to automate or semi-automate the final update to the testenv.properties file.

Background

We currently create a release branch 1 - 2 weeks ahead of an OpenJDK release and populate the contents of the testenv.properties file with the tags that we think will be closest to the GA tags to use for that release. This allows for vendors, including Adoptium with its Temurin distribution, to begin AQAvit verification testing dry runs prior to the OpenJDK GA tags being available.

Upon their availability, we update the testenv.properties file with the new tag.

When anyone subsequently runs AQAvit verification on a JDK binary, they will be pulling test material from the same branch / tag, and the subsequent SHAs are captured in the test result files (TAP files) that are publicly shared in order to list in the marketplace.

Enhancement

Create a workflow that monitors the mirror repos for GA tags availability and automatically create a PR to update the testenv.properties file with the new tag, if it represents a different SHA than the tag that currently in the file for a particular version. Noting that the testenv.properties file contains all of the active JDK_VERSIONS, so this workflow would be triggered multiple times to create multiple PRs to update the file, as GA tags become available, are compared against the current tag in the file and either initiates to create a PR or not (depending on git diff of the 2 tags).

Considerations

The build pipelines now also watch for the GA tags and launch automatically when they are present, however, ideally we would like to launch them automatically after the aqa-tests release branch has its testenv.properties file updated.

Note:

@smlambert
Copy link
Contributor Author

Combine monitoring for the presence of a github tag with https://github.com/marketplace/actions/github-api-request
and
creating a pull request to testenv.properties with https://github.com/marketplace/actions/create-pull-request

@smlambert
Copy link
Contributor Author

Add branch prefixes to testenv.properties file and then add functionality into TKG that looks for a GA tag with that prefix and if it does not exist, pull the latest tag with that prefix.

TKG_REPO=https://github.com/adoptium/TKG.git
TKG_BRANCH=v1.0.0
OPENJ9_REPO=https://github.com/eclipse-openj9/openj9.git
OPENJ9_BRANCH=v0.43.0-release
STF_REPO=https://github.com/adoptium/STF.git
STF_BRANCH=v1.0.0
OPENJ9_SYSTEMTEST_REPO=https://github.com/eclipse-openj9/openj9-systemtest.git
OPENJ9_SYSTEMTEST_BRANCH=openj9-0.41.0
ADOPTOPENJDK_SYSTEMTEST_REPO=https://github.com/adoptium/aqa-systemtest.git
ADOPTOPENJDK_SYSTEMTEST_BRANCH=v1.0.0
JDK8_REPO=https://github.com/adoptium/jdk8u.git
JDK8_BRANCH_PREFIX=jdk8u402
JDK8_BRANCH=dev
JDK11_REPO=https://github.com/adoptium/jdk11u.git
JDK11_BRANCH_PREFIX=jdk-11.0.22
JDK11_BRANCH=dev
JDK17_REPO=https://github.com/adoptium/jdk17u.git
JDK17_BRANCH_PREFIX=jdk-17.0.10
JDK17_BRANCH=dev
JDK21_REPO=https://github.com/adoptium/jdk21u.git
JDK21_BRANCH_PREFIX=jdk-21.0.1
JDK21_BRANCH=dev
JDK8_OPENJ9_REPO=https://github.com/ibmruntimes/openj9-openjdk-jdk8.git
JDK8_OPENJ9_BRANCH=v0.43.0-release
JDK11_OPENJ9_REPO=https://github.com/ibmruntimes/openj9-openjdk-jdk11.git
JDK11_OPENJ9_BRANCH=v0.43.0-release
JDK17_OPENJ9_REPO=https://github.com/ibmruntimes/openj9-openjdk-jdk17.git
JDK17_OPENJ9_BRANCH=v0.43.0-release
JDK21_OPENJ9_REPO=https://github.com/ibmruntimes/openj9-openjdk-jdk21.git
JDK21_OPENJ9_BRANCH=v0.43.0-release
AQA_REQUIRED_TARGETS=sanity.functional,extended.functional,special.functional,sanity.openjdk,extended.openjdk,sanity.system,extended.system,sanity.perf,extended.perf

@smlambert
Copy link
Contributor Author

Do not need the branch prefix, just look for branch-ga tag and if not present, pull latest tag of the repo (only needed for JDKxx repos).

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

Successfully merging a pull request may close this issue.

1 participant