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

chore(GHA): Run Java CI testing for MPL Latest Release #1605

Open
wants to merge 31 commits into
base: main
Choose a base branch
from

Conversation

RitvikKapila
Copy link
Contributor

@RitvikKapila RitvikKapila commented Jan 30, 2025

Issue #, if available:

Description of changes:
Adds a daily job to check that the HEAD of DB-ESDK is compatible with the latest release of the MPL (pulled from Maven).

An important part is that this should be independent of Daily CI / Push CI / Pull CI, because when the MPL is actually updated, we will see errors with testing the last release, and we don't want our current CI process to get affected because of this.

We also won't need to go through the pain of running the MCM step to run dafny-interop.yml manually for the latest released version of the MPL. This new workflow does it automatically, and the oncall just needs to verify that everything is green.

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@RitvikKapila RitvikKapila requested a review from a team as a code owner January 30, 2025 00:36
uses: ./.github/workflows/dafny-interop.yml
with:
mpl-dafny: ${{needs.getLatestReleaseMplVersion.outputs.version}}
mpl-commit: ${{needs.getMplDafnyVersion.outputs.dafnyVersion}}
Copy link
Contributor

Choose a reason for hiding this comment

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

this doesn't make sense, why for the mpl commit are we supplying the dafny version?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Because the MPL version will be built with its own Dafny version, and we pick this up from the project properties file of the MPL.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Look at the first input to dafny-interop.yml.

Comment on lines 8 to 10
workflow_dispatch: # allows triggering this manually through the Actions UI
# TODO: Remove this before merging to main. We don't want this workflow running in CI
# on PRs because we expect it to fail when the MPL is actually updated since the last version.
Copy link
Contributor Author

Choose a reason for hiding this comment

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

Add a flag which by default is on, and if off, doesn't run 105-113 (Test Vectors) but runs the examples. Needed so that if TVs fail, we're still able to test examples.

Comment on lines +89 to +95
# This makes sure that we are using the correct MPL version to test the DB-ESDK.
# If this contains a SNAPSHOT version, this will fail because'
# we are NOT building the MPL recursively but pulling from Maven.
- name: Update project.properties to use the correct MPL version (from project.properties in DB-ESDK)
working-directory: ./submodules/MaterialProviders/
run: |
sed "s/mplVersion=.*/mplVersion=${{needs.getMplDependencyJavaVersion.outputs.version}}/g" project.properties > project.properties2; mv project.properties2 project.properties
Copy link
Contributor

Choose a reason for hiding this comment

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

should this happen before we build and deploy to maven local on line 72?

Copy link
Contributor Author

@RitvikKapila RitvikKapila Feb 7, 2025

Choose a reason for hiding this comment

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

The maven local deploy above this is only for DB-ESDK.

This is required for the MPL test vectors we run after this step.

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

Successfully merging this pull request may close these issues.

2 participants