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

Add support for Github Actions plus cleanup and updates to POM files #975

Merged
merged 82 commits into from
Sep 7, 2023
Merged

Add support for Github Actions plus cleanup and updates to POM files #975

merged 82 commits into from
Sep 7, 2023

Conversation

JeremyMcCormick
Copy link
Member

@JeremyMcCormick JeremyMcCormick commented Apr 5, 2023

This PR implements Github Actions for hps-java CI/CD.

The new workflows are as follows:

  • deploy - Deploys the snapshot (development) jars whenever the master branch is updated
  • release - Performs the Maven release, creates the Github release page, (optionally) updates the project website, and bumps the development version
  • site - Deploys the project website to gh-pages
  • test - Runs the tests for PRs (replaces the old maven.yml workflow file)

All of these can be run manually through the "Actions" tab in the project.

Additionally, I made a cleanup pass on all the project POM files and some other project configuration, including the following:

  • Updated all Maven plugins to their current release versions
  • Changed deployment so it only uploads the bin jar rather than the jars for every module (which never made much sense as they are not really used as independent artifacts by other projects)
  • Moved all module dependency versions into the dependencyManagement section of the main POM
  • Removed outdated or unused configuration and plugins from the main POM
  • Updated SCM settings for usage on Github
  • Removed unwanted dependency on jdom 1.0 which was conflicting with 1.1
  • Simplified and cleaned up the project website
  • Removed old collaborator contact information
  • Added a log4j config to remove warning messages from the tests

My TODO list before un-drafting:

  • Replace "JeremyMcCormick" user with "JeffersonLab" group in all workflows and POM configuration
  • Add a deployment key and its private key as a secret
  • Add the CI deployment username and password secrets
  • Change the development release to match hps-java/master branch (should be 5.2.0-SNAPSHOT)
  • Confirm that running the release workflow with tests works on the fork without errors
  • Confirm that the site workflow works correctly on the branch and that the site navigation works correctly in gh-pages

After being approved, this should be merged to master as a "squash commit" to avoid unwanted messages from the branch history (from merge commits, test releases, etc.).

…t-github-actions

Implement GitHub actions
…t-github-actions

Correct maven-release-plugin version and additional cleanup
…t-github-actions

Correct maven args command
…t-github-actions

Correct path to bin jar and disable shade plugin from creating extra files
…t-github-actions

Attempt to skip deployment of all modules besides distribution
…t-github-actions

Add write permissions to release workflow
.github/workflows/deploy.yml Show resolved Hide resolved
site/site.xml Outdated Show resolved Hide resolved
@JeremyMcCormick JeremyMcCormick marked this pull request as ready for review April 11, 2023 19:03
Co-authored-by: Tom Eichlersmith <31970302+tomeichlersmith@users.noreply.github.com>
required: true

jobs:
# TODO: Add test here for a sanity check
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is this still an active todo?

@JeremyMcCormick
Copy link
Member Author

JeremyMcCormick commented Sep 5, 2023 via email

@JeremyMcCormick JeremyMcCormick merged commit b5a038e into JeffersonLab:master Sep 7, 2023
1 check passed
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.

3 participants