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

Release of SLIM Java Starterkit Sample Project #5

Draft
wants to merge 3 commits into
base: develop
Choose a base branch
from

Conversation

jpl-jengelke
Copy link
Collaborator

Purpose

  • Release of a unified Java sample project starterkit that automates build, release and publishing to Maven Central for OSS consumption.

Proposed Changes

  • NOTE: Build instructions are inline with the project README.
  • Introduction of a feature rich Java project template that provides the following:
    • Dependency tracking and easy version updating using property placeholders
    • Project inheritance via shared settings in the parent-ammos POM
    • Maven CI-friendly build tooling
      • Developer responsibility for Major/Minor/Patch version numbering
      • Implement chain-of-custody tracking with hash/version/build markers from repository to release
      • Version is stamped into a file named version in the top-level of produced artifacts, such as JARs or WARs
      • Fast, efficient: Eliminate redundancy of Release Plugin
    • GitHub Action publishing end-to-end on PR push to main branch.
      • Tag and release and upload to Maven Central occurs without further manual intervention.
    • Tooling for continuous integration, continuous testing and security scanning on different platforms, including Jenkins and GitHub Actions.
    • Instructions for both local development installations and build/package/release installations.

Issues

Testing

  • Local build and installation
  • Successful execution of tag/release cycle on local Maven repository
  • Validation of expectations in GitHub Actions build cycle

@jpl-jengelke jpl-jengelke self-assigned this Dec 14, 2023
@jpl-jengelke jpl-jengelke marked this pull request as draft December 14, 2023 17:34
@jpl-jengelke jpl-jengelke requested review from riverma and a team December 14, 2023 17:34
@jpl-jengelke
Copy link
Collaborator Author

Notification will be sent when converted from draft status.

{ getent passwd ${UID} || useradd -u ${UID} -s /bin/sh -d ${HOME} -g ${GID} ${USR} ; }

# basic user environment -- includes jq, python and testrail reporter
RUN mkdir -p ${HOME} && chmod 777 ${HOME} && \
Copy link
Collaborator

Choose a reason for hiding this comment

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

Using chmod 777 on the user's home directory (${HOME}) might be too permissive.
How about chown instead?
chown -R ${USR}:${USR} ${HOME}

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

That's a great observation. It is running inside the container so I was assuming this was only affecting the mount inside the container. In this context, the container is only executed ephemerally and stops after the job completes. I definitely need to review some of this earlier stuff to tighten it up, so I will.

Please bear with me as there will be more content to review shortly. I've kept it in draft until it's ready for thorough review.

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

Successfully merging this pull request may close these issues.

3 participants