Skip to content

WIP: Support Scala Native #720

WIP: Support Scala Native

WIP: Support Scala Native #720

Workflow file for this run

name: CI
on:
create:
tags:
- v*
push:
branches:
- main
pull_request:
jobs:
checks:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Pull all history with tags for correct versioning
run: git fetch --prune --unshallow
- name: Setup Java 11
uses: actions/setup-java@v3
with:
java-version: 11.0.x
distribution: zulu
- name: Style checks
run: ./mill __.checkStyle + __.docJar
integration-kubernetes:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
client: [ ember, jdk ]
platform: [ jvm, js, native ]
k8s: [ v1.28.4, v1.27.8, v1.26.11, v1.25.3, v1.24.7, v1.23.13, v1.22.15, v1.21.14 ]
scala: [ 3.3.1, 2.13.12 ] # 2.12.17
exclude:
- platform: js
client: jdk
- platform: native
client: jdk
- k8s: v1.27.8
scala: 2.13.12
- k8s: v1.26.11
scala: 2.13.12
- k8s: v1.25.3
scala: 2.13.12
- k8s: v1.24.7
scala: 2.13.12
- k8s: v1.23.13
scala: 2.13.12
- k8s: v1.22.15
scala: 2.13.12
- k8s: v1.21.14
name: k8s ${{ matrix.k8s }} - ${{ matrix.scala }} / ${{ matrix.platform }} / ${{ matrix.client }}
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Minikube and start Kubernetes
uses: medyagh/[email protected]
with:
minikube-version: 1.32.0
kubernetes-version: ${{ matrix.k8s }}
- name: Setup Java 11
uses: actions/setup-java@v3
with:
java-version: 11.0.x
distribution: zulu
- name: Test against Kubernetes ${{ matrix.k8s }} ${{ matrix.scala }} ${{ matrix.platform }} ${{ matrix.client }}
env:
KUBE_CLIENT_IMPLEMENTATION: ${{ matrix.client }}
run: ./mill _[${{ matrix.scala }}].${{ matrix.platform }}.test
publish:
needs:
- checks
- integration-kubernetes
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Pull all history with tags for correct versionning
run: git fetch --prune --unshallow
- name: Setup Java
uses: actions/setup-java@v3
with:
java-version: 11.0.x
distribution: zulu
- name: Publish
if: github.ref == 'refs/heads/main' || startsWith(github.ref, 'refs/tags/v') || github.event_name == 'release'
run: |
echo "${{secrets.pgp_secret_key}}" > private.key
gpg --batch --yes --import private.key
rm private.key
./mill mill.scalalib.PublishModule/publishAll --sonatypeCreds ${{secrets.sonatype_credentials}} --publishArtifacts __.publishArtifacts --awaitTimeout 600000 --release true