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

ci: use major version for actions/setup-java #590

Merged
1 commit merged into from
Dec 6, 2022
Merged

Conversation

korthout
Copy link
Member

@korthout korthout commented Dec 6, 2022

Description

Changes the version used for actions/setup-java in all workflows to major version v3.

This should reduce the amount of effort needed to update this action (i.e. no more dependabot pull requests unless a new major version is released).

It should also avoid problems when actions/setup-java removes a specific patch release tag (as has happened before, see pull request mentioned below).

Using a major version is possible because GH recommends moving the major release tags along with the minor and patch releases of that same version.

Note that this may result in reduced reproducibility. However, since all tags can be moved, the only way to guarantee reproducibility is by pinning specific commit shas. Since we don't necessarily depend on a specific version, we should trust the maintainers of the action to adhere to semver.

Related issues

discussed in #589 (comment)

Definition of Done

Not all items need to be done depending on the issue and the pull request.

Code changes:

  • The changes are backwards compatibility with previous versions
  • If it fixes a bug then PRs are created to backport the fix

Testing:

  • There are unit/integration tests that verify all acceptance criterias of the issue
  • New tests are written to ensure backwards compatibility with further versions
  • The behavior is tested manually

Documentation:

  • Javadoc has been written
  • The documentation is updated

It might be better to switch the version to the latest major release v3.
Such tags are generally moved with every new minor and patch release of
the major version. This practice is officially recommended by GH.

Note that this may result in reduced reproducibility. However, since all
tags can be moved, the only way to guarantee reproducibility is by
pinning specific commit shas.

Likely it is easiest for us when using actions like these (e.g.
checkout) to use the major version tag.
@korthout korthout requested a review from saig0 December 6, 2022 09:20
@github-actions
Copy link

github-actions bot commented Dec 6, 2022

Test Results

  47 files  ±0    47 suites  ±0   2m 17s ⏱️ -17s
113 tests ±0  113 ✔️ ±0  0 💤 ±0  0 ±0 
362 runs  ±0  362 ✔️ ±0  0 💤 ±0  0 ±0 

Results for commit 838d693. ± Comparison against base commit 72edee9.

Copy link
Member

@saig0 saig0 left a comment

Choose a reason for hiding this comment

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

@korthout 👍

bors merge

@ghost
Copy link

ghost commented Dec 6, 2022

Build succeeded:

  • Test summary

@ghost ghost merged commit 082acb5 into main Dec 6, 2022
@ghost ghost deleted the setup-java-major-version branch December 6, 2022 09:49
This pull request was closed.
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