diff --git a/.github/workflows/publish-1.0-docs.yml b/.github/workflows/publish-1.0-docs.yml new file mode 100644 index 00000000..f5c793d8 --- /dev/null +++ b/.github/workflows/publish-1.0-docs.yml @@ -0,0 +1,67 @@ +name: Publish 1.0 docs + +on: + workflow_dispatch: + +jobs: + publish-docs: + name: Publish documentation to nightlies.apache.org + runs-on: ubuntu-latest + if: github.repository == 'apache/incubator-pekko-projection' + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + fetch-tags: true + + - name: Set up JDK 8 + uses: actions/setup-java@v3 + with: + distribution: temurin + java-version: 8 + + - name: Cache Coursier cache + uses: coursier/cache-action@v6 + + - name: Build Documentation + run: |- + sbt "set ThisBuild / version := \"1.0.0\"; 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-projection/1.0.0/ + mkdir -p target/nightly-docs/docs/pekko-projection/1.0/ + cp -r docs/target/paradox/site/main/ target/nightly-docs/docs/pekko-projection/1.0.0/docs + cp -r docs/target/paradox/site/main/ target/nightly-docs/docs/pekko-projection/1.0/docs + rm -r docs/target/paradox/site/main/ + cp -r target/scala-2.13/unidoc target/nightly-docs/docs/pekko-projection/1.0.0/api + cp -r target/scala-2.13/unidoc target/nightly-docs/docs/pekko-projection/1.0/api + rm -r target/scala-2.13/unidoc + + - name: Upload 1.0.x docs + uses: ./.github/actions/sync-nightlies + with: + upload: true + switches: --archive --compress --update --delete --progress --relative + local_path: target/nightly-docs/./docs/pekko-projection/1.0.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 }} + + - name: Upload 1.0 docs + uses: ./.github/actions/sync-nightlies + with: + upload: true + switches: --archive --compress --update --delete --progress --relative + local_path: target/nightly-docs/./docs/pekko-projection/1.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/.github/workflows/publish-nightly.yml b/.github/workflows/publish-nightly.yml index baddc7a2..1623f7fc 100644 --- a/.github/workflows/publish-nightly.yml +++ b/.github/workflows/publish-nightly.yml @@ -71,7 +71,7 @@ jobs: with: upload: true switches: --archive --compress --update --delete --progress --relative - local_path: target/nightly-docs/./docs/pekko-projection/ # The intermediate dot is to show `--relative` which paths to operate on + local_path: target/nightly-docs/./docs/pekko-projection/${{ 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 }} diff --git a/docs/src/main/paradox/index.md b/docs/src/main/paradox/index.md index f3d93075..3bc53d35 100644 --- a/docs/src/main/paradox/index.md +++ b/docs/src/main/paradox/index.md @@ -1,7 +1,5 @@ # Apache Pekko Projection -. - @@toc { depth=2 } @@@ index @@ -23,6 +21,7 @@ * [Management](management.md) * [Testing](testing.md) * [Classic](classic.md) +* [Release Notes](release-notes.md) * [Snapshots](snapshots.md) @@@ diff --git a/docs/src/main/paradox/release-notes.md b/docs/src/main/paradox/release-notes.md new file mode 100644 index 00000000..fa3f45fc --- /dev/null +++ b/docs/src/main/paradox/release-notes.md @@ -0,0 +1,30 @@ +# Release Notes + +## 1.0.0 +Apache Pekko Projections 1.0.0 is based on Akka Projections 1.2.5. Pekko came about as a result of Lightbend's decision to make future +Akka releases under a [Business Software License](https://www.lightbend.com/blog/why-we-are-changing-the-license-for-akka), +a license that is not compatible with Open Source usage. + +Apache Pekko has changed the package names, among other changes. Config names have changed to use `pekko` instead +of `akka` in their names. Users switching from Akka to Pekko should read our [Migration Guide](https://pekko.apache.org/docs/pekko/current/project/migration-guides.html). + +Generally, we have tried to make it as easy as possible to switch existing Akka based projects over to using Pekko. + +We have gone through the code base and have tried to properly acknowledge all third party source code in the +Apache Pekko code base. If anyone believes that there are any instances of third party source code that is not +properly acknowledged, please get in touch. + +### Bug Fixes +We haven't had to fix any significant bugs that were in Akka Projections 1.2.5. + +### Additions +* Scala 3 support + * Minimum of Scala 3.3.0 required + * pekko-projection-slick does not yet support Scala 3 (Slick does not yet have a full release that supports Scala 3) + +### Dependency Upgrades +We have tried to limit the changes to third party dependencies that are used in Pekko Projections 1.0.0. These are some exceptions: + +* jackson 2.14.3 +* scalatest 3.2.14. Pekko users who have existing tests based on Akka Testkit may need to migrate their tests due to the scalatest upgrade. The [scalatest 3.2 release notes](https://www.scalatest.org/release_notes/3.2.0) have a detailed description of the changes needed. +* some of the database driver jars used in tests were upgraded due to security issues in the old jars