Fix publish CI and update dependencies #3
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Build | |
on: | |
pull_request: | |
paths-ignore: | |
- "docs/**" | |
- "*.md" | |
push: | |
branches: | |
- master | |
env: | |
ENVIRONMENT: TESTING | |
JVM_OPTS: -Xmx1024M | |
GRADLE_OPTS: -Dorg.gradle.daemon=false -Dorg.gradle.workers.max=3 -Xmx4096m -Dorg.gradle.configureondemand=true -Dkotlin.incremental=false -Dorg.gradle.jvmargs="-Xmx4096m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8" | |
TERM: dumb | |
jobs: | |
jvm: | |
name: Test JVM | |
runs-on: [ubuntu-latest] | |
strategy: | |
matrix: | |
cmd: | |
- gradle check -i --scan --parallel | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Hermit | |
run: ./bin/hermit env -r >> $GITHUB_ENV | |
- name: Test | |
run: ${{ matrix.cmd }} | |
- name: Publish Test Report | |
if: ${{ always() }} | |
uses: mikepenz/action-junit-report@v3 | |
with: | |
check_name: Test Report - ${{ matrix.cmd }} | |
report_paths: '**/build/test-results/test/TEST-*.xml' | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
publish: | |
name: Publish | |
if: ${{ github.ref == 'refs/heads/master' && github.repository == 'cashapp/barber' }} | |
needs: [jvm] | |
runs-on: [ubuntu-latest] | |
env: | |
ORG_GRADLE_PROJECT_mavenCentralUsername: ${{ secrets.SONATYPE_NEXUS_USERNAME }} | |
ORG_GRADLE_PROJECT_mavenCentralPassword: ${{ secrets.SONATYPE_NEXUS_PASSWORD }} | |
ORG_GRADLE_PROJECT_signingInMemoryKey: ${{ secrets.ARTIFACT_SIGNING_PRIVATE_KEY }} | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v3 | |
- name: Hermit | |
run: ./bin/hermit env -r >> $GITHUB_ENV | |
- name: Assign a version | |
id: assign_version | |
run: | | |
# Set a version name like "2023.05.26.091805-c1fcb3a". | |
# Note the use of %ct which gets the timestamp in UTC, in seconds since UNIX epoch to | |
# avoid time zone differences leading to non-linear versioning. | |
VERSION="$(TZ=UTC0 git show --quiet --date='format-local:%Y.%m.%d.%H%M%S' --format='%cd')-$(git rev-parse --short=7 HEAD)" | |
echo "VERSION_NAME=$VERSION" >> gradle.properties | |
cat gradle.properties | |
echo "version=$VERSION" >> "$GITHUB_OUTPUT" | |
- name: Publish the artifacts | |
run: | | |
gradle clean publish --stacktrace | |
- name: Tag Barber repo | |
uses: mathieudutour/[email protected] | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
custom_tag: ${{ steps.assign_version.outputs.version }} |