oracle / tribuo

Tribuo - A Java machine learning library
https://tribuo.org
Apache License 2.0
1.27k stars 175 forks source link

ci: add automatic release and provenance generation #373

Closed behnazh-w closed 3 months ago

behnazh-w commented 3 months ago

Description

This PR adds a new GitHub Actions workflow to automate the release of the artifacts and generate SLSA provenances.

To use this Action to release, the following secrets need to be created:

When the project is ready for the next release, the version should be bumped as usual and committed to the repo. Then a draft release and tag can be created using GitHub's release feature.. Once the release is created, the release.yaml GitHub Action will automatically run and deploy the artifact to Maven Central.

For more information, see the documentation here: https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#Publishing-using-Apache-Maven

Motivation

Having automatic releases and generating provenances helps mitigating supply-chain attacks. For example, if the deployment is done manually and the maintainer's machine is compromised, the released artifact may contain malicious code and abused by malicious actors to distribute malware.

behnazh-w commented 3 months ago

I will close this PR because the artifacts need to be released to Maven Central from an Oracle internal service.