gs-uuid/.forgejo/workflows/release.yaml
Pat Garrity be74eab804
Some checks failed
/ Build and Release Library (push) Failing after 2m19s
(patch) Automating release builds. (#4)
2024-03-21 03:13:00 +00:00

55 lines
1.6 KiB
YAML

on:
push:
branches:
- main
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 }}
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: |
sbtn clean
sbtn coverage
sbtn test
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
- name: 'Create Git Tag'
run: |
selected_version="$(cat .version)"
git tag "$selected_version"
git push origin "$selected_version"