Publish Nightly #538
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
# Licensed to the Apache Software Foundation (ASF) under one or more | |
# license agreements; and to You under the Apache License, version 2.0: | |
# | |
# https://www.apache.org/licenses/LICENSE-2.0 | |
# | |
# This file is part of the Apache Pekko project, which was derived from Akka. | |
# | |
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 }} |