On Tue, 19 Dec 2023 at 10:41, sebb <seb...@gmail.com> wrote: > > Crypto now has a workflow [4] that deploys a SNAPSHOT version. > > I don't know if we want to do this for all components, but if so, the > process is: > - raise INFRA Jira to request access to the secrets that hold the > credentials [1] > - use the java-settings action to create a settings.xml which > references the variables holding the credentials [2] > - pass the secrets as environment variables in the job-step that needs > them [3] (Note:: we don't need the GPG variable) > > The Crypto workflow is rather complicated because it needs to build > the code on several different OSes and then piece the bits together. > Other components will be much simpler. > > Are there any other components that would benefit from/need snapshots?
Multi-module components are useful to deploy as snapshots if modules depend on each other. This allows a developer to perform maven build tasks in the module directory for the code they are working on. Maven will download the latest snapshot for all the dependencies on other component modules. It also allows a component to use a snapshot dependency on another component outside the repo. This allows two components to be developed in parallel without the developers having to perform local installs for each change in the main branch. Snapshots are deployed for the RNG, Statistics, Numbers, Math and Geometry components via Jenkins running at ci-builds.apache.org. The use of snapshots was very useful when bugs in Numbers were found when developing Statistics. The bugs could be fixed in the Numbers snapshot and Statistics developers automatically obtained the fix. When dev work is complete the components can be released in order and SNAPSHOT dependencies removed. One advantage of the Jenkins set-up is that builds can be triggered by builds in other repos. We have configured downstream projects to build when the upstream project is updated. However this has yet to discover an incompatibility or bug in downstream projects in the 4+ years they have been running. So this feature is not essential. I would be happy to trial a simpler (than Crypto) deploy of snapshots using GH for one of these components, e.g. Numbers/RNG which have no dependencies. Alex > > Sebb > [1] e.g. https://issues.apache.org/jira/browse/INFRA-25296 > [2] https://github.com/actions/setup-java#maven-options > [3] > https://github.com/actions/setup-java/blob/main/docs/advanced-usage.md#yaml-example > [4] > https://github.com/apache/commons-crypto/blob/master/.github/workflows/maven_crosstest.yml > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org > For additional commands, e-mail: dev-h...@commons.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org For additional commands, e-mail: dev-h...@commons.apache.org