All checks were successful
/ Build and Test Library Snapshot (pull_request) Successful in 1m19s
68 lines
2.3 KiB
YAML
68 lines
2.3 KiB
YAML
on:
|
|
pull_request:
|
|
types: [opened, synchronize, reopened]
|
|
|
|
defaults:
|
|
run:
|
|
shell: bash
|
|
|
|
jobs:
|
|
library_snapshot:
|
|
runs-on: docker
|
|
container:
|
|
image: registry.garrity.co:8443/gs/ci-scala:latest
|
|
name: 'Build and Test Library Snapshot'
|
|
env:
|
|
GS_MAVEN_USER: ${{ vars.GS_MAVEN_USER }}
|
|
GS_MAVEN_TOKEN: ${{ secrets.GS_MAVEN_TOKEN }}
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
name: 'Checkout Repository'
|
|
with:
|
|
fetch-depth: 0
|
|
- name: 'Pre-Commit'
|
|
run: |
|
|
pre-commit install
|
|
pre-commit run --all-files
|
|
- name: 'Prepare Versioned Build'
|
|
run: |
|
|
latest_git_tag="$(git describe --tags --abbrev=0 || echo 'No Tags')"
|
|
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"
|
|
elif [[ "$latest_commit_message" == *"(docs)"* ]]; then
|
|
export GS_RELEASE_TYPE="norelease"
|
|
elif [[ "$latest_commit_message" == *"(norelease)"* ]]; then
|
|
export GS_RELEASE_TYPE="norelease"
|
|
else
|
|
export GS_RELEASE_TYPE="norelease"
|
|
fi
|
|
echo "GS_RELEASE_TYPE=$GS_RELEASE_TYPE" >> $GITHUB_ENV
|
|
echo "Previous Git Tag: $latest_git_tag"
|
|
echo "Latest Commit: $latest_commit_message ($GS_RELEASE_TYPE) (SNAPSHOT)"
|
|
if [ "$GS_RELEASE_TYPE" = "norelease" ]; then
|
|
sbtn -Dsnapshot=true -Drelease="patch" semVerInfo
|
|
else
|
|
sbtn -Dsnapshot=true -Drelease="$GS_RELEASE_TYPE" semVerInfo
|
|
fi
|
|
- name: 'Unit Tests and Code Coverage'
|
|
run: |
|
|
sbtn clean
|
|
sbtn coverage
|
|
sbtn test
|
|
sbtn coverageReport
|
|
- name: 'Publish Snapshot'
|
|
run: |
|
|
echo "Testing env var propagation = ${{ env.GS_RELEASE_TYPE }}"
|
|
if [ "${{ env.GS_RELEASE_TYPE }}" = "norelease" ]; then
|
|
echo "Skipping publish due to GS_RELEASE_TYPE=norelease"
|
|
else
|
|
sbtn coverageOff
|
|
sbtn clean
|
|
sbtn compile
|
|
sbtn publish
|
|
fi
|