diff --git a/.forgejo/workflows/pull_request.yaml b/.forgejo/workflows/pull_request.yaml index 32d54a4..5dbb6af 100644 --- a/.forgejo/workflows/pull_request.yaml +++ b/.forgejo/workflows/pull_request.yaml @@ -18,24 +18,22 @@ jobs: run: | pre-commit install pre-commit run --all-files - - name: 'Unit Tests and Code Coverage' + - name: 'Prepare Versioned Build' run: | latest_commit_message="$(git show -s --format=%s HEAD)" - case "$latest_commit_message" in - *patch*) - export GS_RELEASE_TYPE="patch" - ;; - *minor*) - export GS_RELEASE_TYPE="minor" - ;; - *major*) + if [[ "$latest_commit_message" == *"(major)"* ]]; then export GS_RELEASE_TYPE="major" - ;; - *) + elif [[ "$latest_commit_message" == *"(minor)"* ]]; then + export GS_RELEASE_TYPE="minor" + elif [[ "$latest_commit_message" == *"(patch)"* ]]; then export GS_RELEASE_TYPE="patch" - ;; - esac - echo "Latest Commit: $latest_commit_message ($GS_RELEASE_TYPE)" + else + export GS_RELEASE_TYPE="patch" + fi + echo "Latest Commit: $latest_commit_message ($GS_RELEASE_TYPE) (SNAPSHOT)" + sbtn -Drelease="$GS_RELEASE_TYPE" semVerInfo + - name: 'Unit Tests and Code Coverage' + run: | sbtn clean sbtn coverage sbtn test diff --git a/.forgejo/workflows/release.yaml b/.forgejo/workflows/release.yaml index a1ab790..cc20434 100644 --- a/.forgejo/workflows/release.yaml +++ b/.forgejo/workflows/release.yaml @@ -19,6 +19,21 @@ jobs: run: | pre-commit install pre-commit run --all-files + - name: 'Prepare Versioned Build' + run: | + latest_commit_message="$(git show -s --format=%s HEAD)" + if [[ "$latest_commit_message" == *"(major)"* ]]; then + export GS_RELEASE_TYPE="major" + elif [[ "$latest_commit_message" == *"(minor)"* ]]; then + export GS_RELEASE_TYPE="minor" + elif [[ "$latest_commit_message" == *"(patch)"* ]]; then + export GS_RELEASE_TYPE="patch" + else + export GS_RELEASE_TYPE="patch" + fi + echo "Latest Commit: $latest_commit_message" + echo "Selected Release Type: '$GS_RELEASE_TYPE'" + sbtn -Drelease="$GS_RELEASE_TYPE" semVerInfo - name: 'Unit Tests and Code Coverage' run: | sbtn clean @@ -27,27 +42,9 @@ jobs: sbtn coverageReport - name: 'Publish Release' run: | - latest_commit_message="$(git show -s --format=%s HEAD)" - case "$latest_commit_message" in - *patch*) - export GS_RELEASE_TYPE="patch" - ;; - *minor*) - export GS_RELEASE_TYPE="minor" - ;; - *major*) - export GS_RELEASE_TYPE="major" - ;; - *) - export GS_RELEASE_TYPE="patch" - ;; - esac - echo "Latest Commit: $latest_commit_message" - echo "Selected Release Type: '$GS_RELEASE_TYPE'" sbtn clean - sbtn "-Drelease=$GS_RELEASE_TYPE" semVerInfo - sbtn "-Drelease=$GS_RELEASE_TYPE" semVerWriteVersionToFile - sbtn "-Drelease=$GS_RELEASE_TYPE" publish + sbtn semVerWriteVersionToFile + sbtn publish - name: 'Create Git Tag' run: | selected_version="$(cat .version)" diff --git a/project/plugins.sbt b/project/plugins.sbt index 5a7d19d..78b59cb 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.1") +addSbtPlugin("gs" % "sbt-gs-semver" % "0.2.2")