diff --git a/.github/workflows/publish-2.0-docs.yml b/.github/workflows/publish-2.0-docs.yml new file mode 100644 index 000000000..674ec018d --- /dev/null +++ b/.github/workflows/publish-2.0-docs.yml @@ -0,0 +1,90 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# to you under the Apache License, Version 2.0 (the +# "License"); you may not use this file except in compliance +# with the License. You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, +# software distributed under the License is distributed on an +# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +name: Publish 2.0 docs + +on: + workflow_dispatch: + +jobs: + publish-docs: + name: Publish documentation to nightlies.apache.org + runs-on: ubuntu-latest + if: github.repository == 'apache/pekko-http' + steps: + - name: Checkout + uses: actions/checkout@8e8c483db84b4bee98b60c0593521ed34d9990e8 # v6.0.1 + with: + fetch-depth: 0 + fetch-tags: true + + - name: Set up JDK 17 + uses: actions/setup-java@f2beeb24e141e01a676f977032f5a29d81c9e27e # v5.1.0 + with: + distribution: temurin + java-version: 17 + + - name: Install sbt + uses: sbt/setup-sbt@a627500d27445f8c5021755a439829b6e78e3358 # v1.1.15 + + - name: Cache Coursier cache + uses: coursier/cache-action@bebeeb0e6f48ebad66d3783946588ecf43114433 # v7.0.0 + + - name: Build Documentation + run: |- + sbt -Dpekko.genjavadoc.enabled=true "set ThisBuild / version := \"2.0.0-M1\"; docs/paradox; unidoc" + env: + JAVA_OPTS: "-verbose:gc -Xmx4g" + + # Create directory structure upfront since rsync does not create intermediate directories otherwise + - name: Create directory structure + run: |- + mkdir -p target/nightly-docs/docs/pekko-http/2.0.0-M1/ + mkdir -p target/nightly-docs/docs/pekko-http/2.0/ + cp -r docs/target/paradox/site/main/ target/nightly-docs/docs/pekko-http/2.0.0-M1/docs + cp -r docs/target/paradox/site/main/ target/nightly-docs/docs/pekko-http/2.0/docs + rm -r docs/target/paradox/site/main/ + cp -r target/scala-2.13/unidoc target/nightly-docs/docs/pekko-http/2.0.0-M1/api + cp -r target/scala-2.13/unidoc target/nightly-docs/docs/pekko-http/2.0/api + rm -r target/scala-2.13/unidoc + cp -r target/javaunidoc target/nightly-docs/docs/pekko-http/2.0.0-M1/japi + cp -r target/javaunidoc target/nightly-docs/docs/pekko-http/2.0/japi + rm -r target/javaunidoc + + - name: Upload 2.0.x nightly docs + uses: ./.github/actions/sync-nightlies + with: + upload: true + switches: --archive --compress --update --delete --progress --relative + local_path: target/nightly-docs/./docs/pekko-http/2.0.0-M1 # 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 }} + + - name: Upload 2.0 nightly docs + uses: ./.github/actions/sync-nightlies + with: + upload: true + switches: --archive --compress --update --delete --progress --relative + local_path: target/nightly-docs/./docs/pekko-http/2.0 # 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 }} diff --git a/docs/src/main/paradox/release-notes/releases-2.0.md b/docs/src/main/paradox/release-notes/releases-2.0.md index a6a6b95aa..6ec42a23e 100644 --- a/docs/src/main/paradox/release-notes/releases-2.0.md +++ b/docs/src/main/paradox/release-notes/releases-2.0.md @@ -10,5 +10,8 @@ by early adopters. This is experimental. This release should not be used in prod * Pekko 2.0.0-M1 is the new minimum Pekko version * Java 17 is the new minimum JRE version * Scala 2.12 support dropped -* A lot of deprecated code removed -* A lot of pekko.util classes for Scala version compatibility have been removed +* A lot of deprecated code has been removed +* A lot of util classes for Scala version compatibility have been removed +* Dependency versions have been updated +* Jackson3 is supported in a new pekko-http-jackson3 lib +* Changed Java DSL methods that return Scala Durations to return Java Durations ([PR793](https://github.com/apache/pekko-http/issues/783))