build: bump GH actions #1745
This file contains hidden or 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: Validate and test | |
| on: | |
| pull_request: | |
| push: | |
| branches: [ main ] | |
| tags-ignore: [ v* ] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| # Only run once for latest commit per ref and cancel other (previous) runs. | |
| group: ci-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| check-code-style: | |
| name: Checks | |
| runs-on: Akka-Default | |
| steps: | |
| - name: Checkout | |
| # https://github.com/actions/checkout/releases | |
| uses: actions/checkout@v6 | |
| 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 global resolver | |
| uses: ./.github/actions/global-resolver | |
| - name: Cache Coursier cache | |
| # https://github.com/coursier/cache-action/releases | |
| uses: coursier/cache-action@v8.1.0 | |
| - name: Set up JDK 11 | |
| # https://github.com/coursier/setup-action/releases | |
| uses: coursier/setup-action@v3.0.0 | |
| with: | |
| jvm: temurin:1.11 | |
| - name: Code style check and binary-compatibility check | |
| run: |- | |
| cp .jvmopts-ghactions .jvmopts | |
| sbt scalafmtCheckAll scalafmtSbtCheck headerCheckAll grpcVersionSyncCheck googleProtobufVersionSyncCheck mimaReportBinaryIssues | |
| compile-benchmarks: | |
| name: Compile Benchmarks | |
| runs-on: Akka-Default | |
| steps: | |
| - name: Checkout | |
| # https://github.com/actions/checkout/releases | |
| uses: actions/checkout@v6 | |
| 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 global resolver | |
| uses: ./.github/actions/global-resolver | |
| - name: Cache Coursier cache | |
| # https://github.com/coursier/cache-action/releases | |
| uses: coursier/cache-action@v8.1.0 | |
| - name: Set up JDK 11 | |
| # https://github.com/coursier/setup-action/releases | |
| uses: coursier/setup-action@v3.0.0 | |
| with: | |
| jvm: temurin:1.11 | |
| - name: Compile benchmarks | |
| run: |- | |
| cp .jvmopts-ghactions .jvmopts | |
| cd benchmark-java | |
| sbt Test/compile | |
| compile-and-test: | |
| name: Compile and test | |
| runs-on: Akka-Default | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| scalaVersion: [2.13, 3.3] | |
| steps: | |
| - name: Checkout | |
| # https://github.com/actions/checkout/releases | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup global resolver | |
| uses: ./.github/actions/global-resolver | |
| - name: Cache Coursier cache | |
| # https://github.com/coursier/cache-action/releases | |
| uses: coursier/cache-action@v8.1.0 | |
| - name: Set up JDK 11 | |
| # https://github.com/coursier/setup-action/releases | |
| uses: coursier/setup-action@v3.0.0 | |
| with: | |
| jvm: temurin:1.11.0 | |
| - name: Compile and test for JDK 11, Scala ${{ matrix.scalaVersion }} | |
| run: |- | |
| cp .jvmopts-ghactions .jvmopts | |
| sbt ++${{ matrix.scalaVersion }}.* test | |
| test-sbt: | |
| name: sbt scripted tests | |
| runs-on: Akka-Default | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| include: | |
| - test-set: gen-scala-server | |
| scala-version: 2.13 | |
| - test-set: gen-java | |
| scala-version: 2.13 | |
| - test-set: scala-2_13 | |
| scala-version: 2.13 | |
| - test-set: scala3 | |
| scala-version: 3.3 | |
| steps: | |
| - name: Checkout | |
| # https://github.com/actions/checkout/releases | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup global resolver | |
| uses: ./.github/actions/global-resolver | |
| - name: Cache Coursier cache | |
| # https://github.com/coursier/cache-action/releases | |
| uses: coursier/cache-action@v8.1.0 | |
| - name: Set up JDK 11 | |
| # https://github.com/coursier/setup-action/releases | |
| uses: coursier/setup-action@v3.0.0 | |
| with: | |
| jvm: temurin:1.11 | |
| - name: Scripted ${{ matrix.test-set }} | |
| run: |- | |
| cp .jvmopts-ghactions .jvmopts | |
| sbt ++${{ matrix.scala-version }}.* "sbt-akka-grpc/scripted ${{ matrix.test-set }}/*" | |
| test-gradle: | |
| name: Gradle tests | |
| runs-on: Akka-Default | |
| steps: | |
| - name: Checkout | |
| # https://github.com/actions/checkout/releases | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Setup global resolver | |
| uses: ./.github/actions/global-resolver | |
| - name: Cache Coursier cache | |
| # https://github.com/coursier/cache-action/releases | |
| uses: coursier/cache-action@v8.1.0 | |
| - name: Set up JDK 11 | |
| # https://github.com/coursier/setup-action/releases | |
| uses: coursier/setup-action@v3.0.0 | |
| with: | |
| jvm: temurin:1.11 | |
| - name: Gather version | |
| run: |- | |
| echo `git describe --tags | sed -e "s/v\(.*\)-\([0-9][0-9]*\).*/\\1-\\2-/"``git rev-parse HEAD | head -c8`-SNAPSHOT > ~/.version | |
| cat ~/.version | |
| - name: Cache local Gradle repository | |
| uses: actions/cache@v5 | |
| with: | |
| path: | | |
| ~/.gradle/caches | |
| ~/.gradle/wrapper | |
| key: ${{ runner.os }}-gradle-${{ hashFiles('plugin-tester-*/*.gradle*') }} | |
| restore-keys: | | |
| ${{ runner.os }}-gradle- | |
| - name: Publish artifacts locally | |
| run: |- | |
| cp .jvmopts-ghactions .jvmopts | |
| sbt akka-grpc-codegen/publishM2 akka-grpc-scalapb-protoc-plugin/publishM2 +akka-grpc-runtime/publishM2 | |
| cd gradle-plugin | |
| ./gradlew clean publishToMavenLocal --console=plain --info --stacktrace | |
| find ~/.m2 | grep gradle | |
| - name: Test Gradle Java ${{ matrix.SCALA_VERSION }} | |
| run: |- | |
| cd plugin-tester-java | |
| ./gradlew clean test --console=plain --info --stacktrace -Dakka.grpc.project.version=$(cat ~/.version | sed -e s/-SNAPSHOT//) | |
| - name: Test Gradle Scala ${{ matrix.SCALA_VERSION }} | |
| run: |- | |
| cd plugin-tester-scala | |
| ./gradlew clean test --console=plain --info --stacktrace -Dakka.grpc.project.version=$(cat ~/.version | sed -e s/-SNAPSHOT//) | |
| - name: Stop Gradle Daemon | |
| # as suggested in https://github.com/actions/cache/blob/main/examples.md#java---gradle | |
| if: always() | |
| run: cd plugin-tester-scala; ./gradlew --stop | |
| test-maven: | |
| name: Maven tests | |
| runs-on: Akka-Default | |
| steps: | |
| - name: Checkout Global Scripts | |
| # This MUST be before the main checkout or else the dynver will not work | |
| uses: actions/checkout@v6 | |
| with: | |
| repository: akka/github-actions-scripts | |
| path: github-actions-scripts | |
| - name: Setup global resolver | |
| run: | | |
| ./github-actions-scripts/setup_global_resolver.sh NO_MIRROR | |
| - name: Checkout | |
| # https://github.com/actions/checkout/releases | |
| uses: actions/checkout@v6 | |
| with: | |
| fetch-depth: 0 | |
| - name: Cache Coursier cache | |
| # https://github.com/coursier/cache-action/releases | |
| uses: coursier/cache-action@v8.1.0 | |
| - name: Set up JDK 11 | |
| # https://github.com/coursier/setup-action/releases | |
| uses: coursier/setup-action@v3.0.0 | |
| with: | |
| jvm: temurin:1.11 | |
| - name: Gather version | |
| run: |- | |
| echo `git describe --tags | sed -e "s/v\(.*\)-\([0-9][0-9]*\).*/\\1-\\2-/"``git rev-parse HEAD | head -c8`-SNAPSHOT > ~/.version | |
| cat ~/.version | |
| - name: Cache local Maven repository | |
| uses: actions/cache@v5 | |
| with: | |
| path: ~/.m2/repository | |
| key: ${{ runner.os }}-maven-${{ hashFiles('plugin-tester-*/pom.xml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-maven- | |
| - name: Publish artifacts locally | |
| run: |- | |
| cp .jvmopts-ghactions .jvmopts | |
| sbt akka-grpc-codegen/publishM2 akka-grpc-scalapb-protoc-plugin/publishM2 +akka-grpc-runtime/publishM2 akka-grpc-maven-plugin/publishM2 | |
| - name: Test Maven Java | |
| run: |- | |
| cd plugin-tester-java | |
| mvn -nsu -ntp -Dakka.grpc.project.version=`cat ~/.version` compile | |
| - name: Test Maven Scala | |
| run: |- | |
| cd plugin-tester-scala | |
| mvn -nsu -ntp -Dakka.grpc.project.version=`cat ~/.version` dependency:unpack@unpack akka-grpc:generate scala:compile |