Skip to content

Scala 3.3.1 and improve Scala 3 compatibility (#3010) #532

Scala 3.3.1 and improve Scala 3 compatibility (#3010)

Scala 3.3.1 and improve Scala 3 compatibility (#3010) #532

name: CI
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:
style-compile-mima:
name: Compile, Code Style, Binary Compatibility
runs-on: ubuntu-22.04
env:
JAVA_OPTS: -Xms2G -Xmx2G -Xss2M -XX:ReservedCodeCacheSize=256M -Dfile.encoding=UTF-8
steps:
- name: Checkout
uses: actions/[email protected]
with: # https://github.com/olafurpg/setup-scala#faster-checkout-of-big-repos
fetch-depth: 100
- name: Fetch tags
run: git fetch --depth=100 origin +refs/tags/*:refs/tags/*
- name: Set up JDK 11
uses: coursier/[email protected]
with:
jvm: temurin:1.11
- name: Cache Coursier cache
uses: coursier/[email protected]
- name: "Code style, compile tests, MiMa. Run locally with: sbt \"verifyCodeStyle; +Test/compile; mimaReportBinaryIssues\""
run: sbt "verifyCodeStyle; +Test/compile; mimaReportBinaryIssues"
compile-jdk-8:
name: Compile with JDK 8
runs-on: ubuntu-22.04
env:
JAVA_OPTS: -Xms2G -Xmx2G -Xss2M -XX:ReservedCodeCacheSize=256M -Dfile.encoding=UTF-8
steps:
- name: Checkout
uses: actions/[email protected]
with: # https://github.com/olafurpg/setup-scala#faster-checkout-of-big-repos
fetch-depth: 100
- name: Fetch tags
run: git fetch --depth=100 origin +refs/tags/*:refs/tags/*
- name: Set up JDK 8
uses: coursier/[email protected]
with:
jvm: adopt:1.8.0-275
- name: Cache Coursier cache
uses: coursier/[email protected]
- name: "Compile JDK 8"
run: sbt compile
documentation:
name: ScalaDoc, Documentation with Paradox
runs-on: ubuntu-22.04
env:
JAVA_OPTS: -Xms2G -Xmx2G -Xss2M -XX:ReservedCodeCacheSize=256M -Dfile.encoding=UTF-8
steps:
- name: Checkout
uses: actions/[email protected]
with: # https://github.com/olafurpg/setup-scala#faster-checkout-of-big-repos
fetch-depth: 100
- name: Fetch tags
run: git fetch --depth=100 origin +refs/tags/*:refs/tags/*
- name: Set up JDK 11
uses: coursier/[email protected]
with:
jvm: temurin:1.11
- name: Cache Coursier cache
uses: coursier/[email protected]
- name: "Create all API docs and create site with Paradox"
run: sbt docs/makeSite
- name: Run Link Validator
run: cs launch net.runne::site-link-validator:0.2.3 -- scripts/link-validator.conf
connectors:
runs-on: ubuntu-22.04
strategy:
fail-fast: false
matrix:
include:
- { connector: amqp, pre_cmd: 'docker-compose up -d amqp' }
- { connector: avroparquet-tests }
- { connector: awslambda }
- { connector: aws-event-bridge, pre_cmd: 'docker-compose up -d amazoneventbridge' }
- { connector: azure-storage-queue }
- { connector: cassandra, pre_cmd: 'docker-compose up -d cassandra' }
- { connector: couchbase, pre_cmd: 'docker-compose up -d couchbase_prep' }
- { connector: csv }
- { connector: dynamodb, pre_cmd: 'docker-compose up -d dynamodb' }
- { connector: elasticsearch, pre_cmd: 'docker-compose up -d elasticsearch6 elasticsearch7 opensearch1' }
- { connector: file }
- { connector: ftp, pre_cmd: './scripts/ftp-servers.sh' }
- { connector: geode, pre_cmd: 'docker-compose up -d geode' }
- { connector: google-cloud-bigquery }
- { connector: google-cloud-bigquery-storage }
- { connector: google-cloud-pub-sub, pre_cmd: 'docker-compose up -d gcloud-pubsub-emulator_prep' }
- { connector: google-cloud-pub-sub-grpc, pre_cmd: 'docker-compose up -d gcloud-pubsub-emulator_prep' }
- { connector: google-cloud-storage }
- { connector: google-common }
- { connector: google-fcm }
# hbase disabled until we resolve why new docker image fails our build: https://github.com/akka/alpakka/issues/2185
# - { connector: hbase, pre_cmd: 'docker-compose up -d hbase' }
- { connector: hdfs, pre_cmd: 'file ${HOME}/.cache/coursier/v1/https/repo1.maven.org/maven2/org/typelevel/cats-kernel_2.13/2.0.0/cats-kernel_2.13-2.0.0.jar' }
- { connector: huawei-push-kit }
- { connector: influxdb, pre_cmd: 'docker-compose up -d influxdb' }
- { connector: ironmq, pre_cmd: 'docker-compose up -d ironauth ironmq' }
- { connector: jms, pre_cmd: 'docker-compose up -d ibmmq' }
- { connector: json-streaming }
- { connector: kinesis }
- { connector: kudu, pre_cmd: 'docker-compose up -d kudu-master-data kudu-tserver-data kudu-master kudu-tserver' }
- { connector: mongodb, pre_cmd: 'docker-compose up -d mongo' }
- { connector: mqtt, pre_cmd: 'docker-compose up -d mqtt' }
- { connector: mqtt-streaming, pre_cmd: 'docker-compose up -d mqtt' }
- { connector: orientdb, pre_cmd: 'docker-compose up -d orientdb' }
- { connector: pravega, pre_cmd: 'docker-compose up -d pravega'}
- { connector: reference }
- { connector: s3 }
- { connector: spring-web }
- { connector: simple-codecs }
- { connector: slick }
- { connector: sns, pre_cmd: 'docker-compose up -d amazonsns' }
- { connector: solr }
- { connector: sqs, pre_cmd: 'docker-compose up -d elasticmq' }
- { connector: sse }
- { connector: text }
- { connector: udp }
- { connector: unix-domain-socket }
- { connector: xml }
env:
JAVA_OPTS: -Xms2G -Xmx2G -Xss2M -XX:ReservedCodeCacheSize=256M -Dfile.encoding=UTF-8
steps:
- name: Checkout
uses: actions/[email protected]
with: # gh-detect-changes.sh compares with the target branch
fetch-depth: 0
- name: Detect changes in Alpakka ${{ matrix.connector }}
env:
CONNECTOR: ${{ matrix.connector }}
run: ./scripts/gh-detect-changes.sh "${CONNECTOR}"
- name: Set up JDK 8
if: env.execute_build == 'true'
uses: coursier/[email protected]
with:
jvm: temurin:1.8
- name: Cache Coursier cache
if: env.execute_build == 'true'
uses: coursier/[email protected]
- name: ${{ matrix.connector }}
if: env.execute_build == 'true'
env:
CONNECTOR: ${{ matrix.connector }}
PRE_CMD: ${{ matrix.pre_cmd }}
run: |-
$PRE_CMD
sbt "${CONNECTOR}/test"
- name: Print logs on failure
if: failure()
run: find . -name "*.log" -exec ./scripts/cat-log.sh {} \;