Skip to content

0.2.1

0.2.1 #43

Workflow file for this run

name: Publish toolkit
on:
release:
types: [published]
workflow_dispatch:
env:
OSSRH_USERNAME: ${{ secrets.OSSRH_USERNAME }}
OSSRH_PASSWORD: ${{ secrets.OSSRH_PASSWORD }}
GPG_PRIVATE_KEY: ${{ secrets.PGP_SECRET }}
PGP_PASSWORD: ${{ secrets.PGP_PASSPHRASE }}
jobs:
publish:
name: Release toolkit and publish
runs-on: ubuntu-latest
steps:
- name: Check out code
uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: coursier/[email protected]
- name: Setup Scala CLI
uses: VirtusLab/scala-cli-setup@main
- name: Test changelog and dependency tree semver compliance
run: |
scala-cli checks -- --module-name toolkit --file Toolkit.scala --skip js
scala-cli checks -- --module-name toolkit --file Toolkit.js.scala --skip jvm --skip native
scala-cli checks -- --module-name toolkit-test --file ToolkitTest.scala --module-dep toolkit
- name: Import GPG key
id: import_gpg
run: |
echo "${{ secrets.PGP_SECRET }}" | base64 --decode > private.key
gpg --import --batch --yes --pinentry-mode loopback --passphrase "${{ secrets.PGP_PASSPHRASE }}" private.key
echo "fingerprint=$(gpg --list-secret-keys --with-colons | awk -F: '/^fpr:/ { print $10 }')" >> "$GITHUB_OUTPUT"
rm private.key
env:
gpg_private_key: ${{ secrets.PGP_SECRET }}
passphrase: ${{ secrets.PGP_PASSPHRASE }}
- name: Local publish Toolkit for JVM
run: for i in {1..5}; do scala-cli --power publish local --cross Toolkit.scala publish-conf.scala --gpg-key $PGP_KEY_ID --gpg-option --pinentry-mode --gpg-option loopback --gpg-option --passphrase --gpg-option $PGP_PASSWORD && break || sleep 15; done
continue-on-error: true
env:
PGP_KEY_ID: ${{ steps.import_gpg.outputs.fingerprint }}
- name: Local publish Toolkit for native
run: for i in {1..5}; do scala-cli --power publish local --cross --native Toolkit.scala publish-conf.scala --gpg-key $PGP_KEY_ID --gpg-option --pinentry-mode --gpg-option loopback --gpg-option --passphrase --gpg-option $PGP_PASSWORD && break || sleep 15; done
continue-on-error: true
env:
PGP_KEY_ID: ${{ steps.import_gpg.outputs.fingerprint }}
- name: Local publish Toolkit for JS
run: for i in {1..5}; do scala-cli --power publish local --cross --js Toolkit.js.scala publish-conf.scala --gpg-key $PGP_KEY_ID --gpg-option --pinentry-mode --gpg-option loopback --gpg-option --passphrase --gpg-option $PGP_PASSWORD && break || sleep 15; done
continue-on-error: true
env:
PGP_KEY_ID: ${{ steps.import_gpg.outputs.fingerprint }}
- name: Publish Toolkit for JVM
run: for i in {1..5}; do scala-cli --power publish --cross Toolkit.scala publish-conf.scala --password env:OSSRH_PASSWORD --user env:OSSRH_USERNAME --gpg-key $PGP_KEY_ID --gpg-option --pinentry-mode --gpg-option loopback --gpg-option --passphrase --gpg-option $PGP_PASSWORD && break || sleep 15; done
continue-on-error: true
env:
PGP_KEY_ID: ${{ steps.import_gpg.outputs.fingerprint }}
- name: Publish Toolkit for native
run: for i in {1..5}; do scala-cli --power publish --cross --native Toolkit.scala publish-conf.scala --password env:OSSRH_PASSWORD --user env:OSSRH_USERNAME --gpg-key $PGP_KEY_ID --gpg-option --pinentry-mode --gpg-option loopback --gpg-option --passphrase --gpg-option $PGP_PASSWORD && break || sleep 15; done
continue-on-error: true
env:
PGP_KEY_ID: ${{ steps.import_gpg.outputs.fingerprint }}
- name: Publish Toolkit for JS
run: for i in {1..5}; do scala-cli --power publish --cross --js Toolkit.js.scala publish-conf.scala --password env:OSSRH_PASSWORD --user env:OSSRH_USERNAME --gpg-key $PGP_KEY_ID --gpg-option --pinentry-mode --gpg-option loopback --gpg-option --passphrase --gpg-option $PGP_PASSWORD && break || sleep 15; done
continue-on-error: true
env:
PGP_KEY_ID: ${{ steps.import_gpg.outputs.fingerprint }}
- name: Publish Toolkit Test for JVM
run: for i in {1..5}; do scala-cli --power publish --dependency "org.scala-lang::toolkit::$TOOLKIT_VERSION" --cross ToolkitTest.scala publish-conf.scala --password env:OSSRH_PASSWORD --user env:OSSRH_USERNAME --gpg-key $PGP_KEY_ID --gpg-option --pinentry-mode --gpg-option loopback --gpg-option --passphrase --gpg-option $PGP_PASSWORD && break || sleep 15; done
continue-on-error: true
env:
TOOLKIT_VERSION: ${{ github.ref_name }}
PGP_KEY_ID: ${{ steps.import_gpg.outputs.fingerprint }}
- name: Publish Toolkit Test for native
run: for i in {1..5}; do scala-cli --power publish --dependency "org.scala-lang::toolkit::$TOOLKIT_VERSION" --cross --native ToolkitTest.scala publish-conf.scala --password env:OSSRH_PASSWORD --user env:OSSRH_USERNAME --gpg-key $PGP_KEY_ID --gpg-option --pinentry-mode --gpg-option loopback --gpg-option --passphrase --gpg-option $PGP_PASSWORD && break || sleep 15; done
continue-on-error: true
env:
TOOLKIT_VERSION: ${{ github.ref_name }}
PGP_KEY_ID: ${{ steps.import_gpg.outputs.fingerprint }}
- name: Publish Toolkit Test for JS
run: for i in {1..5}; do scala-cli --power publish --dependency "org.scala-lang::toolkit::$TOOLKIT_VERSION" --cross --js ToolkitTest.scala publish-conf.scala --password env:OSSRH_PASSWORD --user env:OSSRH_USERNAME --gpg-key $PGP_KEY_ID --gpg-option --pinentry-mode --gpg-option loopback --gpg-option --passphrase --gpg-option $PGP_PASSWORD && break || sleep 15; done
continue-on-error: true
env:
TOOLKIT_VERSION: ${{ github.ref_name }}
PGP_KEY_ID: ${{ steps.import_gpg.outputs.fingerprint }}