From 78169dc5b37744c60afb67f8d5b660964459ffd2 Mon Sep 17 00:00:00 2001 From: Pat Garrity Date: Wed, 20 Mar 2024 08:21:37 -0500 Subject: [PATCH 1/3] Added release build support with an updated SemVer plugin. --- .forgejo/workflows/release.yaml | 39 +++++++++++++++++++++++++++++++++ .gitignore | 1 + project/plugins.sbt | 2 +- 3 files changed, 41 insertions(+), 1 deletion(-) create mode 100644 .forgejo/workflows/release.yaml diff --git a/.forgejo/workflows/release.yaml b/.forgejo/workflows/release.yaml new file mode 100644 index 0000000..f02769c --- /dev/null +++ b/.forgejo/workflows/release.yaml @@ -0,0 +1,39 @@ +on: + workflow_dispatch: + inputs: + releaseType: + description: 'Release Type' + required: true + default: 'patch' + type: choice + options: + - major + - minor + - patch + +jobs: + library_release: + runs-on: docker + container: + image: registry.garrity.co:8443/gs/ci-scala:latest + name: 'Build and Release Library' + env: + GS_MAVEN_USER: ${{ vars.GS_MAVEN_USER }} + GS_MAVEN_TOKEN: ${{ secrets.GS_MAVEN_TOKEN }} + GS_RELEASE_TYPE: ${{ inputs.releaseType }} + steps: + - uses: actions/checkout@v4 + name: 'Checkout Repository' + - name: 'Pre-Commit' + run: | + pre-commit install + pre-commit run --all-files + - name: 'Unit Tests and Code Coverage' + run: sbt clean coverage test coverageReport + - name: 'Publish Release' + run: sbt "-Drelease=$GS_RELEASE_TYPE" clean semVerWriteVersionToFile publish + - name: 'Create Git Tag' + run: | + selected_version="$(cat .version)" + git tag "$selected_version" + git push origin "$selected_version" diff --git a/.gitignore b/.gitignore index 89fee26..7af9867 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,4 @@ target/ project/target/ project/project/ modules/core/target/ +.version diff --git a/project/plugins.sbt b/project/plugins.sbt index 49f95ef..5a7d19d 100644 --- a/project/plugins.sbt +++ b/project/plugins.sbt @@ -30,4 +30,4 @@ externalResolvers := Seq( addSbtPlugin("org.scoverage" % "sbt-scoverage" % "2.0.11") addSbtPlugin("gs" % "sbt-garrity-software" % "0.2.0") -addSbtPlugin("gs" % "sbt-gs-semver" % "0.2.0") +addSbtPlugin("gs" % "sbt-gs-semver" % "0.2.1") -- 2.43.0 From f2eebe3cdbf8b03fc949ac8b698b49bb8eda3efa Mon Sep 17 00:00:00 2001 From: Pat Garrity Date: Wed, 20 Mar 2024 21:45:21 -0500 Subject: [PATCH 2/3] Update the builds to use SBT native client. --- .forgejo/workflows/pull_request.yaml | 4 ++-- .forgejo/workflows/release.yaml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/pull_request.yaml b/.forgejo/workflows/pull_request.yaml index 867e08e..0a21ead 100644 --- a/.forgejo/workflows/pull_request.yaml +++ b/.forgejo/workflows/pull_request.yaml @@ -19,6 +19,6 @@ jobs: pre-commit install pre-commit run --all-files - name: 'Unit Tests and Code Coverage' - run: sbt clean coverage test coverageReport + run: sbtn clean coverage test coverageReport - name: 'Publish Snapshot' - run: sbt clean publish + run: sbtn clean publish diff --git a/.forgejo/workflows/release.yaml b/.forgejo/workflows/release.yaml index f02769c..a0a486d 100644 --- a/.forgejo/workflows/release.yaml +++ b/.forgejo/workflows/release.yaml @@ -29,9 +29,9 @@ jobs: pre-commit install pre-commit run --all-files - name: 'Unit Tests and Code Coverage' - run: sbt clean coverage test coverageReport + run: sbtn clean coverage test coverageReport - name: 'Publish Release' - run: sbt "-Drelease=$GS_RELEASE_TYPE" clean semVerWriteVersionToFile publish + run: sbtn "-Drelease=$GS_RELEASE_TYPE" clean semVerWriteVersionToFile publish - name: 'Create Git Tag' run: | selected_version="$(cat .version)" -- 2.43.0 From 9bd2ddb27a3854f1e2dcfa1c7d4f0b6eafbd73c8 Mon Sep 17 00:00:00 2001 From: Pat Garrity Date: Wed, 20 Mar 2024 21:54:10 -0500 Subject: [PATCH 3/3] Fix sbtn calls. --- .forgejo/workflows/pull_request.yaml | 10 ++++++++-- .forgejo/workflows/release.yaml | 12 ++++++++++-- 2 files changed, 18 insertions(+), 4 deletions(-) diff --git a/.forgejo/workflows/pull_request.yaml b/.forgejo/workflows/pull_request.yaml index 0a21ead..084102b 100644 --- a/.forgejo/workflows/pull_request.yaml +++ b/.forgejo/workflows/pull_request.yaml @@ -19,6 +19,12 @@ jobs: pre-commit install pre-commit run --all-files - name: 'Unit Tests and Code Coverage' - run: sbtn clean coverage test coverageReport + run: | + sbtn clean + sbtn coverage + sbtn test + sbtn coverageReport - name: 'Publish Snapshot' - run: sbtn clean publish + run: | + sbtn clean + sbtn publish diff --git a/.forgejo/workflows/release.yaml b/.forgejo/workflows/release.yaml index a0a486d..edab4af 100644 --- a/.forgejo/workflows/release.yaml +++ b/.forgejo/workflows/release.yaml @@ -29,9 +29,17 @@ jobs: pre-commit install pre-commit run --all-files - name: 'Unit Tests and Code Coverage' - run: sbtn clean coverage test coverageReport + run: | + sbtn clean + sbtn coverage + sbtn test + sbtn coverageReport - name: 'Publish Release' - run: sbtn "-Drelease=$GS_RELEASE_TYPE" clean semVerWriteVersionToFile publish + run: | + sbtn clean + sbtn "-Drelease=$GS_RELEASE_TYPE" semVerInfo + sbtn "-Drelease=$GS_RELEASE_TYPE" semVerWriteVersionToFile + sbtn "-Drelease=$GS_RELEASE_TYPE" publish - name: 'Create Git Tag' run: | selected_version="$(cat .version)" -- 2.43.0