All checks were successful
/ Build and Test Library Snapshot (pull_request) Successful in 1m7s
55 lines
1.6 KiB
YAML
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"
|