Publish Nightly #517
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: Publish Nightly | |
on: | |
schedule: | |
- cron: "0 2 * * *" | |
workflow_dispatch: | |
jobs: | |
sbt: | |
name: sbt publish | |
runs-on: ubuntu-latest | |
if: github.repository == 'apache/pekko-grpc' | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
# we don't know what commit the last tag was it's safer to get entire repo so previousStableVersion resolves | |
fetch-depth: 0 | |
- name: Setup Java 8 | |
uses: actions/setup-java@v4 | |
with: | |
distribution: temurin | |
java-version: 8 | |
- name: Install sbt | |
uses: sbt/setup-sbt@v1 | |
- name: Publish | |
run: |- | |
cp .jvmopts-ci .jvmopts | |
sbt +publish | |
sbt ++2.13.15! codegen/publish | |
sbt ++3.3.4! codegen/publish | |
env: | |
NEXUS_USER: ${{ secrets.NEXUS_USER }} | |
NEXUS_PW: ${{ secrets.NEXUS_PW }} | |
- name: Publish Gradle Plugin | |
run: cd gradle-plugin && ./gradlew publishToSonatype | |
env: | |
NEXUS_USER: ${{ secrets.NEXUS_USER }} | |
NEXUS_PW: ${{ secrets.NEXUS_PW }} | |
- name: Build Documentation | |
run: |- | |
sbt docs/paradox unidoc | |
# Create directory structure upfront since rsync does not create intermediate directories otherwise | |
- name: Create nightly directory structure | |
run: |- | |
mkdir -p target/nightly-docs/docs/pekko-grpc/${{ github.ref_name }}-snapshot/ | |
mv docs/target/paradox/site/main/ target/nightly-docs/docs/pekko-grpc/${{ github.ref_name }}-snapshot/docs | |
mv target/scala-2.12/unidoc target/nightly-docs/docs/pekko-grpc/${{ github.ref_name }}-snapshot/api | |
- name: Upload nightly docs | |
uses: ./.github/actions/sync-nightlies | |
with: | |
upload: true | |
switches: --archive --compress --update --delete --progress --relative | |
local_path: target/nightly-docs/./docs/pekko-grpc/${{ github.ref_name }}-snapshot # The intermediate dot is to show `--relative` which paths to operate on | |
remote_path: ${{ secrets.NIGHTLIES_RSYNC_PATH }}/pekko/ | |
remote_host: ${{ secrets.NIGHTLIES_RSYNC_HOST }} | |
remote_port: ${{ secrets.NIGHTLIES_RSYNC_PORT }} | |
remote_user: ${{ secrets.NIGHTLIES_RSYNC_USER }} | |
remote_key: ${{ secrets.NIGHTLIES_RSYNC_KEY }} |