Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
3bad7fd
Improves pipeline composition and documentation
bfarmer67 Jul 16, 2025
25f3746
Updated code formatting to match rules in .editorconfig
invalid-email-address Jul 16, 2025
a29adc9
Improves pipeline performance and updates dependencies
bfarmer67 Jul 16, 2025
a01791d
Updated code formatting to match rules in .editorconfig
invalid-email-address Jul 16, 2025
cb67e0b
Merge branch 'devs/bfarmer/tstart-refactor' into develop
bfarmer67 Jul 16, 2025
fbca23f
Previous version was 'v2.0.3'. Version now 'v2.1.0'.
bfarmer67 Jul 16, 2025
83e5bbc
updated workflows and added new versioning structure
varndellwagglebee Aug 5, 2025
28ad422
Merge branch 'main' into develop
varndellwagglebee Aug 5, 2025
94baf2a
updated version
varndellwagglebee Aug 5, 2025
ba14194
no long need to send dotnet version
varndellwagglebee Aug 5, 2025
b1aa6f4
Update test-report.yml
varndellwagglebee Aug 6, 2025
84ce010
Update create-release.yml
varndellwagglebee Aug 6, 2025
4ecb5fa
Update format.yml
varndellwagglebee Aug 6, 2025
4e462dd
Update issue-branch.yml
varndellwagglebee Aug 6, 2025
0ca797b
Update test.yml
varndellwagglebee Aug 6, 2025
e74b42e
updated workflows based on branch that executed the action
varndellwagglebee Aug 6, 2025
2a9e617
updated test yml
varndellwagglebee Aug 6, 2025
000ed17
Update test.yml
varndellwagglebee Aug 6, 2025
07a629d
Update test.yml
varndellwagglebee Aug 6, 2025
f3b0a4a
Update format.yml
varndellwagglebee Aug 6, 2025
921503d
Update format.yml
varndellwagglebee Aug 6, 2025
2a91353
Update format.yml
varndellwagglebee Aug 6, 2025
50b2356
Update format.yml
varndellwagglebee Aug 6, 2025
fb277e6
Update format.yml
varndellwagglebee Aug 6, 2025
862f864
Update format.yml
varndellwagglebee Aug 6, 2025
cb7a8d5
Update test.yml
varndellwagglebee Aug 6, 2025
81780d6
Update test-report.yml
varndellwagglebee Aug 6, 2025
a401e42
Update test-report.yml
varndellwagglebee Aug 6, 2025
85657c6
Update test-report.yml
varndellwagglebee Aug 6, 2025
66d35cf
Update test-report.yml
varndellwagglebee Aug 6, 2025
e5bacf0
Update and rename test-report.yml to create-test-report.yml
varndellwagglebee Aug 6, 2025
34bf139
updated workflows to use the new system.
varndellwagglebee Aug 13, 2025
ddfda7b
Revert "updated workflows to use the new system."
varndellwagglebee Aug 13, 2025
fae5a3e
Merge remote-tracking branch 'origin/develop' into develop
varndellwagglebee Aug 13, 2025
12e1a6b
Updated workflows to use the new system
varndellwagglebee Aug 13, 2025
4ef5dbc
updated build props to include license
varndellwagglebee Aug 14, 2025
643c5a3
update README with image and build-status badge
varndellwagglebee Aug 14, 2025
5f0a4dc
fixed conflict
varndellwagglebee Aug 15, 2025
7df8051
cleanup
varndellwagglebee Aug 15, 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
58 changes: 0 additions & 58 deletions .github/workflows/create-release.yml

This file was deleted.

74 changes: 74 additions & 0 deletions .github/workflows/create_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,74 @@
name: Create Release

on:
workflow_dispatch:
inputs:
mode:
description: |
How to set the version:
- explicit: set to a specific value (e.g., 1.3-alpha)
- bump: bump major/minor/patch from current SimpleVersion and apply optional prerelease
- auto: policy-based (develop->next minor -alpha; hotfix/*->next patch -alpha; main/vX.Y->stable)
type: choice
options: [auto, bump, explicit]
default: auto
version:
description: "When mode=explicit: exact version (e.g., 1.3-alpha, 1.2.3, 1.4.0-rc)"
type: string
default: ""
increment:
description: "When mode=bump: major | minor | patch"
type: choice
options: [major, minor, patch]
default: patch
prerelease:
description: "When mode=bump: prerelease suffix WITHOUT leading dash (e.g., alpha, beta, rc). Leave blank for stable."
type: string
default: ""

permissions:
contents: write
pull-requests: write
packages: write

run-name: "Create Release · ${{ inputs.mode }} · ${{ github.ref_name }}"

jobs:
validate-inputs:
runs-on: ubuntu-latest
steps:
- name: Check conditional requirements
run: |
set -euo pipefail
MODE='${{ inputs.mode }}'
VERSION='${{ inputs.version }}'
INCR='${{ inputs.increment }}'
if [[ "$MODE" == "explicit" && -z "$VERSION" ]]; then
echo "? mode=explicit requires 'version' (e.g., 1.3-alpha)."; exit 1
fi
if [[ "$MODE" == "bump" && -z "$INCR" ]]; then
echo "? mode=bump requires 'increment' (major|minor|patch)."; exit 1
fi
echo "? inputs look good."

set-version:
needs: validate-inputs
uses: Stillpoint-Software/shared-workflows/.github/workflows/set_version.yml@main
with:
target_branch: ${{ github.ref_name }}
mode: ${{ inputs.mode }}
version: ${{ inputs.version }}
increment: ${{ inputs.increment }}
prerelease: ${{ inputs.prerelease }}
secrets: inherit

create-release:
needs: set-version
uses: Stillpoint-Software/shared-workflows/.github/workflows/prepare_release.yml@main
with:
target_branch: ${{ github.ref_name }}
tag: ${{ needs.set-version.outputs.tag }}
prerelease: ${{ needs.set-version.outputs.new_prerelease }}
draft: true
secrets:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
39 changes: 39 additions & 0 deletions .github/workflows/create_test_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Create Test Report

on:
workflow_run:
workflows: ["Run Tests"]
types: [completed]
branches: [main, develop]

permissions:
contents: read
actions: read
checks: write

jobs:
discover-auto:
runs-on: ubuntu-latest
if: ${{ github.event_name == 'workflow_run' }}
outputs:
branch_name: ${{ steps.meta.outputs.branch }}
sha: ${{ steps.meta.outputs.sha }}
run_id: ${{ steps.meta.outputs.run_id }}
conclusion: ${{ steps.meta.outputs.conclusion }}
steps:
- id: meta
run: |
echo "branch=${{ github.event.workflow_run.head_branch }}" >> "$GITHUB_OUTPUT"
echo "sha=${{ github.event.workflow_run.head_sha }}" >> "$GITHUB_OUTPUT"
echo "run_id=${{ github.event.workflow_run.id }}" >> "$GITHUB_OUTPUT"
echo "conclusion=${{ github.event.workflow_run.conclusion }}" >> "$GITHUB_OUTPUT"

report-auto:
needs: discover-auto
if: ${{ needs.discover-auto.outputs.conclusion != 'skipped' }}
uses: Stillpoint-Software/shared-workflows/.github/workflows/test_report.yml@main
with:
test_run_id: ${{ needs.discover-auto.outputs.run_id }}
branch: ${{ needs.discover-auto.outputs.branch_name }}
sha: ${{ needs.discover-auto.outputs.sha }}
secrets: inherit
71 changes: 40 additions & 31 deletions .github/workflows/format.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,52 @@
name: Format

on:
on:
push:
workflow_run:
workflows:
- Create Prerelease
- Create Release
types: [requested]
workflow_dispatch:
pull_request:
types: [opened,edited,synchronize,reopened]
branches:
- main
- develop
types: [opened, edited, synchronize, reopened]
branches: [main, develop]

workflow_run:
workflows: [Create Prerelease, Create Release]
types: [requested]

permissions:
contents: write
pull-requests: write
actions: read

env:
DOTNET_VERSION: '8.0.x'

jobs:
format:
discover:
runs-on: ubuntu-latest
outputs:
branch_name: ${{ steps.set_branch.outputs.branch_name }}

steps:
- name: Checkout Code
uses: actions/checkout@v4

- name: Setup .NET
uses: actions/setup-dotnet@v4
with:
dotnet-version: ${{ env.DOTNET_VERSION }}

- name: Format
run: dotnet format
- id: set_branch
shell: bash
run: |
# 1. Pick the raw branch/ref for each trigger type
if [[ "${{ github.event_name }}" == "workflow_run" ]]; then
RAW='${{ github.event.workflow_run.head_branch }}'
elif [[ "${{ github.event_name }}" == "pull_request" ]]; then
RAW='${{ github.event.pull_request.base.ref }}'
else
RAW='${{ github.ref }}'
fi

- name: Update Styles
continue-on-error: true
run: |
git config --global user.name 'github-actions'
git config --global user.email '[email protected]'
git commit -am "Updated code formatting to match rules in .editorconfig"
git push
# 2. Strip the refs/heads/ prefix if present
CLEAN="${RAW#refs/heads/}"

echo "Detected branch: $CLEAN"
echo "branch_name=$CLEAN" >> "$GITHUB_OUTPUT"

format:
needs: discover
if: ${{ needs.discover.result == 'success' }}
uses: Stillpoint-Software/shared-workflows/.github/workflows/format.yml@main
with:
dotnet_version: "9.0.x"
branch: ${{ needs.discover.outputs.branch_name }}
secrets: inherit

23 changes: 0 additions & 23 deletions .github/workflows/issue-branch.yml

This file was deleted.

35 changes: 35 additions & 0 deletions .github/workflows/issue_branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
name: Create Issue Branch

on:
issues:
types: [opened, assigned] # “immediate” / “auto” modes
issue_comment:
types: [created] # ChatOps mode
pull_request:
types: [opened, closed] # PR-related features

permissions:
contents: read
issues: write
pull-requests: write

jobs:
discover:
runs-on: ubuntu-latest
outputs:
branch_name: ${{ steps.set_branch.outputs.branch_name }}
steps:
- name: Determine target branch
id: set_branch
run: echo "branch_name=${BRANCH}" >> "$GITHUB_OUTPUT"
env:
BRANCH: >-
${{ github.event_name == 'pull_request' &&
github.event.pull_request.base.ref ||
'main' }}

create-issue-branch-main:
needs: discover
if: ${{ needs.discover.result == 'success' }}
uses: Stillpoint-Software/shared-workflows/.github/workflows/issue_branch.yml@main
secrets: inherit
27 changes: 27 additions & 0 deletions .github/workflows/pack_publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Pack and Publish

on:
release:
types: [published]

permissions:
contents: write
pull-requests: write
packages: write

jobs:
set-config:
uses: Stillpoint-Software/shared-workflows/.github/workflows/determine_build_configuration.yml@main
with:
trigger: release
target_branch: ${{ github.event.release.target_commitish }}
override_build_configuration: ''
prerelease: ${{ github.event.release.prerelease }} # true/false from the release

publish:
needs: set-config
uses: Stillpoint-Software/shared-workflows/.github/workflows/pack_and_publish.yml@main
with:
build_configuration: ${{ needs.set-config.outputs.build_configuration }}
secrets:
NUGET_API_KEY: ${{ secrets.NUGET_API_KEY }}
Loading
Loading