Support setting deadline per-call #1098
Workflow file for this run
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: 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: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
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: Cache Coursier cache | |
uses: coursier/[email protected] | |
- name: Set up JDK 11 | |
uses: coursier/[email protected] | |
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: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
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: Cache Coursier cache | |
uses: coursier/[email protected] | |
- name: Set up JDK 11 | |
uses: coursier/[email protected] | |
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: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
scalaVersion: [2.12, 2.13, 3.3] | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Cache Coursier cache | |
uses: coursier/[email protected] | |
- name: Set up JDK 11 | |
uses: coursier/[email protected] | |
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: ubuntu-22.04 | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- test-set: gen-scala-server | |
scala-version: 2.12 | |
- test-set: gen-java | |
scala-version: 2.12 | |
- test-set: scala-2_13 | |
scala-version: 2.13 | |
- test-set: scala3 | |
scala-version: 3.3 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Cache Coursier cache | |
uses: coursier/[email protected] | |
- name: Set up JDK 11 | |
uses: coursier/[email protected] | |
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: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Cache Coursier cache | |
uses: coursier/[email protected] | |
- name: Set up JDK 11 | |
uses: coursier/[email protected] | |
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/[email protected] | |
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: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Cache Coursier cache | |
uses: coursier/[email protected] | |
- name: Set up JDK 11 | |
uses: coursier/[email protected] | |
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/[email protected] | |
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 -Dakka.grpc.project.version=`cat ~/.version` compile | |
- name: Test Maven Scala | |
run: |- | |
cd plugin-tester-scala | |
mvn -Dakka.grpc.project.version=`cat ~/.version` akka-grpc:generate scala:compile | |
test-docs: | |
name: Docs | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout | |
uses: actions/[email protected] | |
with: | |
fetch-depth: 0 | |
- name: Cache Coursier cache | |
uses: coursier/[email protected] | |
- name: Set up JDK 11 | |
uses: coursier/[email protected] | |
with: | |
jvm: temurin:1.11 | |
- name: Test Maven Java | |
run: |- | |
cp .jvmopts-ghactions .jvmopts | |
sbt paradox |