Skip to content

Publish to Maven Central #17

Publish to Maven Central

Publish to Maven Central #17

Workflow file for this run

name: Publish to Maven Central
on:
workflow_dispatch:
permissions:
contents: read
jobs:
publish:
strategy:
matrix:
scala-version: ['2.12', '2.13']
spark-version: ["3.2.0", "3.3.0", "3.4.0", "3.5.0"]
runs-on: ubuntu-latest
steps:
- name: Git Checkout
uses: actions/checkout@v4
- name: Set up JDK 8
uses: actions/setup-java@v3
with:
java-version: '8'
distribution: 'temurin'
cache: 'sbt'
- name: Set JVM Options # Checkita uses some compile-heavy libraries.
run: |
echo "-Xmx2G" > .jvmopts
echo "-Xms1G" >> .jvmopts
echo "-Xss100m" >> .jvmopts
- name: Set GPG Key # Import GPG Key and trust it. Then list key for debug purposes.
run: |
echo -n "$GPG_KEY" | base64 --decode | gpg --batch --passphrase $GPG_PASS --import
echo "$GPG_TRUST" | gpg --import-ownertrust
gpg --list-keys
env:
GPG_KEY: ${{ secrets.GPG_PRIVATE_KEY }}
GPG_TRUST: ${{ secrets.GPG_OWNERTRUST }}
GPG_PASS: ${{ secrets.GPG_PASSPHRASE }}
- name: Compile and Publish for Scala ${{ matrix.scala-version }} and Spark ${{ matrix.spark-version }}
run: |
export GPG_TTY=$(tty)
sbt \
-DASSY_MODE=$ASSY \
-DSCALA_VERSION=$SCALA_VER \
-DSPARK_VERSION=$SPARK_VER \
-DPUBLISH_REALM=$REALM \
-DPUBLISH_URL=$URL \
-DPKG_TYPE=$PKG \
checkita-core/clean \
checkita-core/compile \
checkita-core/publishSigned \
checkita-core/sonatypeUpload
env:
SCALA_VER: ${{ matrix.scala-version }}
SPARK_VER: ${{ matrix.spark-version }}
PGP_PASSPHRASE: ${{ secrets.GPG_PASSPHRASE }} # required for sbt-pgp plugin to sign package
SONATYPE_USERNAME: ${{ secrets.SONATYPE_USER }}
SONATYPE_PASSWORD: ${{ secrets.SONATYPE_PASSWORD }}
ASSY: WITHSPARK
REALM: Sonatype
URL: https://central.sonatype.com
PKG: RELEASE