Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
9ca89a2
Updated file
craig-miller-radiant Jun 30, 2025
e4265ab
Progress
craig-miller-radiant Jun 30, 2025
26cae91
Doing my first github action
craig-miller-radiant Jul 1, 2025
7e44793
Deleted actions
craig-miller-radiant Jul 1, 2025
1a535f5
Added actions
craig-miller-radiant Jul 1, 2025
58f573f
Progress with readme
craig-miller-radiant Jul 1, 2025
a8dd864
progress
craig-miller-radiant Jul 1, 2025
a45e59b
Downgraded version
craig-miller-radiant Jul 1, 2025
915dd0c
Cleanup
craig-miller-radiant Jul 1, 2025
d3b1b7e
Improving build with more features for this project
craig-miller-radiant Jul 1, 2025
2425f16
Progress with build
craig-miller-radiant Jul 1, 2025
6c63982
Progress integrating usage tests
craig-miller-radiant Jul 1, 2025
3a920b1
Fixed build so integration tests fail
craig-miller-radiant Jul 1, 2025
aa62894
Fixing tests and url parsing
craig-miller-radiant Jul 1, 2025
d569164
Updated jackson
craig-miller-radiant Jul 1, 2025
0ff6ac2
Updated lib
craig-miller-radiant Jul 1, 2025
0864ff9
Bumping lib
craig-miller-radiant Jul 1, 2025
ad73569
Downgraded to java 21
craig-miller-radiant Jul 1, 2025
e6458e4
Fixed module path
craig-miller-radiant Jul 1, 2025
6a5bc07
Reverted to prior working state now that module issue is solved
craig-miller-radiant Jul 1, 2025
6960933
Working on m2
craig-miller-radiant Jul 1, 2025
09d2afa
Updated m2 printing
craig-miller-radiant Jul 1, 2025
c4a7c25
restored remaining tests
craig-miller-radiant Jul 1, 2025
5cc3869
Adjusting cache key
craig-miller-radiant Jul 1, 2025
f8affab
Updated pipeline
craig-miller-radiant Jul 1, 2025
dae2313
More work
craig-miller-radiant Jul 1, 2025
89c0855
Adding attempt to download all dependencies up front
craig-miller-radiant Jul 1, 2025
f94bcb9
Trying to increase heap
craig-miller-radiant Jul 1, 2025
449c1a3
More ram
craig-miller-radiant Jul 1, 2025
6e7cd55
Trying to make sure as many dependencies as possible are resolved
craig-miller-radiant Jul 1, 2025
5d7cb01
Trying to increase memory
craig-miller-radiant Jul 1, 2025
9f207ec
Progress
craig-miller-radiant Jul 1, 2025
55ea5dd
Pushing again
craig-miller-radiant Jul 1, 2025
139b8ea
Trying to track memory usage
craig-miller-radiant Jul 1, 2025
b404975
Updated xmx some more
craig-miller-radiant Jul 1, 2025
5598269
Progress with memory printing
craig-miller-radiant Jul 1, 2025
db74bd7
Progress
craig-miller-radiant Jul 1, 2025
b0d3df4
Forcing another run
craig-miller-radiant Jul 2, 2025
3943c89
Another attempt at getting integration tests to pass
craig-miller-radiant Jul 2, 2025
ce54d20
Another adjustment to process writing
craig-miller-radiant Jul 2, 2025
c1ff13e
Updated logging
craig-miller-radiant Jul 2, 2025
9d35d50
Added more logging
craig-miller-radiant Jul 2, 2025
abe98df
More upgrades and restoring one test
craig-miller-radiant Jul 2, 2025
35930c2
Digging deeper into problem
craig-miller-radiant Jul 2, 2025
1ca6f8d
Process refactoring
craig-miller-radiant Jul 2, 2025
6549c94
Another attempt
craig-miller-radiant Jul 2, 2025
8c7dae4
Another attempt
craig-miller-radiant Jul 2, 2025
e4d0db9
Another attempt
craig-miller-radiant Jul 2, 2025
0fb47c7
More adjusting
craig-miller-radiant Jul 2, 2025
8029d30
More adjusting
craig-miller-radiant Jul 2, 2025
594c19a
Adding more debugging
craig-miller-radiant Jul 2, 2025
51c18d7
Progress
craig-miller-radiant Jul 2, 2025
76dc508
Another adjustment
craig-miller-radiant Jul 2, 2025
b5ffe7f
Cleanup
craig-miller-radiant Jul 2, 2025
c5f642f
Cleanup
craig-miller-radiant Jul 2, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 26 additions & 0 deletions .github/actions/git-commit-changed/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Git Commit Changed Files

inputs:
message:
required: true
description: The commit message
push:
required: false
default: false
description: If the commit should be pushed

runs:
using: composite
steps:
- name: print_status
shell: bash
run: git status --porcelain
- name: commit_changed_files
shell: bash
run: |
git add -u
git commit -m "${{ inputs.message }}"
- name: push
if: ${{ inputs.push == 'true' }}
shell: bash
run: git push
10 changes: 10 additions & 0 deletions .github/actions/git-config/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
name: Git Config

runs:
using: composite
steps:
- name: configure_git
shell: bash
run: |
git config --global user.email github-actions@radiantlogic.com
git config --global user.name github-actions
15 changes: 15 additions & 0 deletions .github/actions/git-tag/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: Git Apply Tag

inputs:
tag:
required: true
description: The git tag to apply

runs:
using: composite
steps:
- name: apply_tag
shell: bash
run: |
git tag "${{ inputs.tag }}"
git push --tags
28 changes: 28 additions & 0 deletions .github/actions/increment-version-next-snapshot/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Increment Version to Next Snapshot

inputs:
major_version:
description: The major version number
required: true
minor_version:
description: The minor version number
required: true
patch_version:
description: The patch version number
required: true
outputs:
next_snapshot_version:
description: The next snapshot version calculated by this action
value: ${{ steps.increment_snapshot_version.outputs.next_snapshot_version }}

runs:
using: composite
steps:
- name: increment_snapshot_version
id: increment_snapshot_version
shell: bash
run: |
${{ github.action_path }}/increment-snapshot.sh \
"${{ inputs.major_version }}" \
"${{ inputs.minor_version }}" \
"${{ inputs.patch_version }}"
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
#!/usr/bin/env bash

set -euo pipefail

major_version="$1"
minor_version="$2"
patch_version="$3"

if [ -z "$major_version" ] || [ -z "$minor_version" ] || [ -z "$patch_version" ]; then
echo "Missing required input values" >&2
echo "major_version=$major_version" >&2
echo "minor_version=$minor_version" >&2
echo "patch_version=$patch_version" >&2
exit 1
fi

echo "Incrementing to new snapshot version"
next_snapshot_version="${major_version}.${minor_version}.$(( "$patch_version" + 1 ))-SNAPSHOT"
echo "next_snapshot_version=$next_snapshot_version" | tee -a $GITHUB_OUTPUT
17 changes: 17 additions & 0 deletions .github/actions/maven-project-info/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
name: Maven Project Info

outputs:
project_name:
description: The name of the project
value: openapi-java-client-codegen
project_version:
description: The version of the project
value: ${{ steps.get_project_info.outputs.version }}

runs:
using: composite
steps:
- name: Get Project Info
id: get_project_info
shell: bash
run: ${{ github.action_path }}/get-project-info.sh
6 changes: 6 additions & 0 deletions .github/actions/maven-project-info/get-project-info.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#!/usr/bin/env bash

set -euo pipefail

version=$(mvn help:evaluate -Dexpression=project.version -q -DforceStdout)
echo "version=$version" | tee -a $GITHUB_OUTPUT
19 changes: 19 additions & 0 deletions .github/actions/maven-set-version/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
name: Maven Set Version

inputs:
version:
required: true
description: The version to set

runs:
using: composite
steps:
- name: Set Project Version
shell: bash
run: |
version="${{ inputs.version }}"
if [ -z "$version" ]; then
echo "No version input provided, cannot proceed" >&2
exit 1
fi
mvn versions:set-property -Dproperty=revision -DnewVersion="$version" -DgenerateBackupPoms=false
32 changes: 32 additions & 0 deletions .github/actions/parse-release-version/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Parse Release Version
inputs:
release_version:
required: true
description: The version number for the release. Must be a valid semver number.
outputs:
major_version:
description: The major version number.
value: ${{ steps.parse_version.outputs.major_version }}
minor_version:
description: The minor version number.
value: ${{ steps.parse_version.outputs.minor_version }}
patch_version:
description: The patch version number.
value: ${{ steps.parse_version.outputs.patch_version }}
qualifier_name:
description: The qualifier name, if present.
value: ${{ steps.parse_version.outputs.qualifier_name }}
qualifier_version:
description: The qualifier version, if present.
value: ${{ steps.parse_version.outputs.qualifier_version }}

runs:
using: composite
steps:
- name: Print Version
shell: bash
run: echo "${{ inputs.release_version }}"
- name: Parse Version
id: parse_version
shell: bash
run: ${{ github.action_path }}/parse-version.sh "${{ inputs.release_version }}"
29 changes: 29 additions & 0 deletions .github/actions/parse-release-version/parse-version.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
#!/usr/bin/env bash

set -euo pipefail

version="$1"

pattern='^([0-9]+)\.([0-9]+)\.([0-9]+)(-(alpha|beta|rc)\.([0-9]+))?$'
echo "Comparing $version to regex $pattern"
if [[ ! "$version" =~ $pattern ]]; then
echo "Release version '$version' does not match semver pattern, aborting" >&2
exit 1
fi

major_version="${BASH_REMATCH[1]}"
minor_version="${BASH_REMATCH[2]}"
patch_version="${BASH_REMATCH[3]}"
qualifier_name="${BASH_REMATCH[5]-$""}"
qualifier_version="${BASH_REMATCH[6]-$""}"

echo "major_version=$major_version" | tee -a $GITHUB_OUTPUT
echo "minor_version=$minor_version" | tee -a $GITHUB_OUTPUT
echo "patch_version=$patch_version" | tee -a $GITHUB_OUTPUT
echo "qualifier_name=$qualifier_name" | tee -a $GITHUB_OUTPUT
echo "qualifier_version=$qualifier_version" | tee -a $GITHUB_OUTPUT

if [ -n "$qualifier_name" ] || [ -n "$qualifier_version" ]; then
echo "This pipeline does not currently support releasing with semver qualifiers. Auto-versioning will not work. Please stick to major/minor/patch versions or upgrade the pipeline." >&2
exit 1
fi
35 changes: 35 additions & 0 deletions .github/actions/setup-java/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Setup Java

inputs:
pom_artifact_name:
required: false
description: >-
If this is being called as part of a workflow where the pom.xml has been
modified (ie, releases), the name of the artifact should be defined here
and it will be downloaded.
default: ""

runs:
using: composite
steps:
- name: Download Pom Artifact
if: ${{ inputs.pom_artifact_name != '' }}
uses: actions/download-artifact@v4
with:
name: ${{ inputs.pom_artifact_name }}
path: .
- name: Write Run ID For Cache Key
shell: bash
run: echo "run_id=${{ github.run_id }}" | tee run_id.txt
- name: Setup Java
uses: actions/setup-java@v4
with:
java-version: 24
distribution: temurin
cache: maven
cache-dependency-path: run_id.txt
- name: Resolve Dependencies To Populate Cache
shell: bash
run: |
mvn dependency:go-offline
mvn test-compile
40 changes: 40 additions & 0 deletions .github/workflows/core-docker-build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Docker Build

on:
workflow_call:
inputs:
image_name:
type: string
required: true
image_tag:
type: string
required: true
secrets:
DOCKERHUB_PASSWORD:
required: true

jobs:
build_docker_image:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v4
with:
name: project_artifacts
path: .
- name: Login to DockerHub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Setup QEMU
uses: docker/setup-qemu-action@v3
- name: Setup Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build and Push
uses: docker/build-push-action@v6
with:
push: true
tags: rlidev/${{ inputs.image_name }}:${{ inputs.image_tag }}
context: .
platforms: linux/amd64,linux/arm64
Loading
Loading