Compare commits

..

No commits in common. "c7ded6a2ba8f194372f99003658d5dd19a4ef99d" and "27251ec8ee661cf82b9a9e8576bc6ed9d44520a5" have entirely different histories.

16 changed files with 289 additions and 46 deletions

View file

@ -1,8 +0,0 @@
image: ubuntu/lts
packages:
- openjdk-17-jdk-headless
- maven
tasks:
- build: |
cd thorp
mvn -B install

41
.github/GitHub-Actions.org vendored Normal file
View file

@ -0,0 +1,41 @@
* Deploying using Github Actions
** Actions definition: workflow/sonatype-deploy.yml
When a GitHub Release is created, usually from a tag, this action will trigger.
Using JDK8 the software will be packaged, including running any tests.
Then the Deploy script will sign the created artifacts then deploy them according to the distributionManagement configuration in the `pom.xml`.
** Deploy Script
Uses a signing key provided from the GitHub Actions Secrets as an environment variable to sign the artifact(s) before they are then deployed.
*** Inputs
**** DEPLOY_PROJECTS (optional)
An optional list of modules in a multi-module project to be deployed. If this value is not specified, then all projects will be deployed.
** Maven Configuration
Picks up the credentials from Environment variables for authenticating both with GPG and with the target deployment server (e.g. sonatype-nexus).
*** Inputs
**** NEXUS_USERNAME
The username for your account on the deployment server.
**** NEXUS_PASSWORD
The password for your account on the deployement server.
**** GPG_KEYNAME
The key to use when signing.
**** GPG_PASSPHRASE
The passphrase to unlock the key to use when signing.

53
.github/NOTES vendored Normal file
View file

@ -0,0 +1,53 @@
Add subkeys:
????
Publish:
gpg --send-keys --keyserver keyserver.ubuntu.com $KEYID
gpg --send-keys --keyserver pgp.mit.edu $KEYID
gpg --send-keys --keyserver pool.sks-keyservers.net $KEYID
Backup:
gpg --export --armor pcampbell@kemitix.net > gpg-key-backup.asc
gpg --export-secret-keys --armor pcampbell@kemitix.net >> gpg-key-backup.asc
Export sub-keys:
gpg --export-secret-subkeys pcampbell@kemitix.net > subkeys
Remove master keys:
gpg --delete-secret-key pcampbell@kemitix.net
Import sub-keys and clean up:
gpg --import subkeys
shred --remove subkeys
Delete any encryption subkeys:
gpg --edit-key pcampbell@kemitix.net
2
delkey
save
Change passphrase:
gpg --edit-key pcampbell@kemitix.net
passwd
save
Export keys:
gpg --export --armor pcampbell@kemitix.net > codesigning.asc
gpg --export-secret-keys --armor pcampbell@kemitix.net >> codesigning.asc
Encrypt keys:
gpg --symmetric --cipher-algo AES256 codesigning.asc
shred codesigning.asc

BIN
.github/codesigning.asc.gpg vendored Normal file

Binary file not shown.

7
.github/dependabot.yml vendored Normal file
View file

@ -0,0 +1,7 @@
version: 2
updates:
- package-ecosystem: maven
directory: "/"
schedule:
interval: daily
open-pull-requests-limit: 10

34
.github/release-drafter.yml vendored Normal file
View file

@ -0,0 +1,34 @@
name-template: 'v$RESOLVED_VERSION 🌈'
tag-template: 'v$RESOLVED_VERSION'
categories:
- title: '🚀 Features'
labels:
- 'feature'
- 'enhancement'
- title: '🐛 Bug Fixes'
labels:
- 'fix'
- 'bugfix'
- 'bug'
- title: '🧰 Maintenance'
labels:
- 'chore'
- 'dependencies'
change-template: '- $TITLE @$AUTHOR (#$NUMBER)'
version-resolver:
major:
labels:
- 'major'
minor:
labels:
- 'minor'
patch:
labels:
- 'patch'
default: patch
exclude-labels:
- 'skip-changelog'
template: |
## Changes
$CHANGES

28
.github/settings.xml vendored Normal file
View file

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8" ?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0">
<servers>
<server>
<id>sonatype-nexus-snapshots</id>
<username>${env.NEXUS_USERNAME}</username>
<password>${env.NEXUS_PASSWORD}</password>
</server>
<server>
<id>sonatype-nexus-staging</id>
<username>${env.NEXUS_USERNAME}</username>
<password>${env.NEXUS_PASSWORD}</password>
</server>
</servers>
<profiles>
<profile>
<id>gpg-sign</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<gpg.executable>gpg</gpg.executable>
<gpg.keyname>${env.GPG_KEYNAME}</gpg.keyname>
<gpg.passphrase>${env.GPG_PASSPHRASE}</gpg.passphrase>
</properties>
</profile>
</profiles>
</settings>

17
.github/stale.yaml vendored Normal file
View file

@ -0,0 +1,17 @@
# Number of days of inactivity before an issue becomes stale
daysUntilStale: 60
# Number of days of inactivity before a stale issue is closed
daysUntilClose: 7
# Issues with these labels will never be considered stale
exemptLabels:
- pinned
- security
# Label to use when marking an issue as stale
staleLabel: wontfix
# Comment to post when marking an issue as stale. Set to `false` to disable
markComment: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
# Comment to post when closing a stale issue. Set to `false` to disable
closeComment: false

23
.github/workflows/build-maven.yml vendored Normal file
View file

@ -0,0 +1,23 @@
name: maven-build
on:
push:
branches: '*'
pull_request:
branches: '*'
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
java: [ 8, 11, 14 ]
steps:
- uses: kamiazya/setup-graphviz@v1
- uses: actions/checkout@v2
- name: setup-jdk-${{ matrix.java }}
uses: actions/setup-java@v1
with:
java-version: ${{ matrix.java }}
- name: build-jar
run: mvn -B install

40
.github/workflows/deploy-sonatype.yml vendored Normal file
View file

@ -0,0 +1,40 @@
name: sonatype-deploy
on:
push:
tags:
- "v*"
jobs:
deploy:
runs-on: ubuntu-latest
steps:
- uses: kamiazya/setup-graphviz@v1
- uses: actions/checkout@v2
- name: Set up JDK
uses: actions/setup-java@v1
with:
java-version: 8
- name: Build with Maven
run: mvn -B install
- name: Nexus Repo Publish
run: |
gpg --quiet \
--batch \
--yes \
--decrypt \
--passphrase="${{ secrets.GPG_PASSPHRASE }}" \
--output codesigning.asc \
.github/codesigning.asc.gpg
gpg --batch \
--fast-import codesigning.asc
mvn --settings .github/settings.xml \
-Dskip-Tests=true \
-P release \
-B \
deploy
env:
NEXUS_USERNAME: ${{ secrets.NEXUS_USERNAME }}
NEXUS_PASSWORD: ${{ secrets.NEXUS_PASSWORD }}
GPG_KEYNAME: ${{ secrets.GPG_KEYNAME }}
GPG_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }}

14
.github/workflows/draft-release.yml vendored Normal file
View file

@ -0,0 +1,14 @@
name: draft-release
on:
push:
branches:
- master
jobs:
update_draft_release:
runs-on: ubuntu-latest
steps:
- uses: release-drafter/release-drafter@v5.11.0
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

View file

@ -52,7 +52,7 @@
<plugin> <plugin>
<groupId>org.apache.maven.plugins</groupId> <groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId> <artifactId>maven-assembly-plugin</artifactId>
<version>3.4.2</version> <version>3.3.0</version>
<configuration> <configuration>
<descriptorRefs> <descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef> <descriptorRef>jar-with-dependencies</descriptorRef>

View file

@ -16,7 +16,7 @@
<dependency> <dependency>
<groupId>info.picocli</groupId> <groupId>info.picocli</groupId>
<artifactId>picocli</artifactId> <artifactId>picocli</artifactId>
<version>4.7.0</version> <version>4.5.2</version>
</dependency> </dependency>
<!-- lombok --> <!-- lombok -->

View file

@ -18,11 +18,11 @@
<properties> <properties>
<tiles-maven-plugin.version>2.18</tiles-maven-plugin.version> <tiles-maven-plugin.version>2.18</tiles-maven-plugin.version>
<kemitix-maven-tiles.version>2.7.0</kemitix-maven-tiles.version> <kemitix-maven-tiles.version>2.7.0</kemitix-maven-tiles.version>
<lombok.version>1.18.24</lombok.version> <lombok.version>1.18.16</lombok.version>
<mon.version>2.2.0</mon.version> <mon.version>2.2.0</mon.version>
<junit.version>5.9.1</junit.version> <junit.version>5.7.0</junit.version>
<assertj.version>3.23.1</assertj.version> <assertj.version>3.19.0</assertj.version>
<mockito.version>4.9.0</mockito.version> <mockito.version>3.7.7</mockito.version>
</properties> </properties>
<dependencyManagement> <dependencyManagement>

56
pom.xml
View file

@ -24,36 +24,30 @@
<maven-graph-plugin.version>1.45</maven-graph-plugin.version> <maven-graph-plugin.version>1.45</maven-graph-plugin.version>
</properties> </properties>
<profiles> <build>
<profile> <plugins>
<id>graphviz</id> <plugin>
<!-- mvn -B -P graphviz validate --> <groupId>org.fusesource.mvnplugins</groupId>
<build> <artifactId>maven-graph-plugin</artifactId>
<plugins> <version>${maven-graph-plugin.version}</version>
<plugin> <executions>
<groupId>org.fusesource.mvnplugins</groupId> <execution>
<artifactId>maven-graph-plugin</artifactId> <phase>validate</phase>
<version>${maven-graph-plugin.version}</version> <goals>
<executions> <goal>reactor</goal>
<execution> </goals>
<phase>validate</phase> </execution>
<goals> </executions>
<goal>reactor</goal> <configuration>
</goals> <direction>TB</direction>
</execution> <hideTransitive>true</hideTransitive>
</executions> <hideVersion>true</hideVersion>
<configuration> <hideOptional>true</hideOptional>
<direction>TB</direction> <hideScopes>test,provided</hideScopes>
<hideTransitive>true</hideTransitive> <target>${project.basedir}/docs/images/reactor-graph.png</target>
<hideVersion>true</hideVersion> </configuration>
<hideOptional>true</hideOptional> </plugin>
<hideScopes>test,provided</hideScopes> </plugins>
<target>${project.basedir}/docs/images/reactor-graph.png</target> </build>
</configuration>
</plugin>
</plugins>
</build>
</profile>
</profiles>
</project> </project>

View file

@ -58,7 +58,7 @@
<dependency> <dependency>
<groupId>net.kemitix.aws</groupId> <groupId>net.kemitix.aws</groupId>
<artifactId>kemitix-aws-java-sdk-s3-wrapper</artifactId> <artifactId>kemitix-aws-java-sdk-s3-wrapper</artifactId>
<version>1.12.131</version> <version>1.11.938</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>javax.xml.bind</groupId> <groupId>javax.xml.bind</groupId>