Skip to content

CI

CI #754

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 all __.checkStyle __.docJar
integration-kubernetes-v1-25:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Minikube and start Kubernetes
uses: medyagh/[email protected]
with:
minikube-version: 1.28.0
kubernetes-version: v1.25.3
- name: Setup Java 11
uses: actions/setup-java@v3
with:
java-version: 11.0.x
distribution: zulu
- name: Test against Kubernetes v1.25
run: ./mill __[3.3.1].test
integration-kubernetes-v1-24:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Minikube and start Kubernetes
uses: medyagh/[email protected]
with:
minikube-version: 1.28.0
kubernetes-version: v1.24.7
- name: Setup Java 11
uses: actions/setup-java@v3
with:
java-version: 11.0.x
distribution: zulu
- name: Test against Kubernetes v1.24
run: ./mill __[3.3.1].test
integration-kubernetes-v1-23:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Minikube and start Kubernetes
uses: medyagh/[email protected]
with:
minikube-version: 1.28.0
kubernetes-version: v1.23.13
- name: Setup Java 11
uses: actions/setup-java@v3
with:
java-version: 11.0.x
distribution: zulu
- name: Test against Kubernetes v1.23
run: ./mill __[3.3.1].test
integration-kubernetes-v1-22:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Minikube and start Kubernetes
uses: medyagh/[email protected]
with:
minikube-version: 1.28.0
kubernetes-version: v1.22.15
- name: Setup Java 11
uses: actions/setup-java@v3
with:
java-version: 11.0.x
distribution: zulu
- name: Test against Kubernetes v1.22
run: ./mill __[3.3.1].test
integration-kubernetes-v1-21:
runs-on: ubuntu-latest
strategy:
fail-fast: false
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Minikube and start Kubernetes
uses: medyagh/[email protected]
with:
minikube-version: 1.28.0
kubernetes-version: v1.21.14
- name: Setup Java 11
uses: actions/setup-java@v3
with:
java-version: 11.0.x
distribution: zulu
- name: Test against Kubernetes v1.21
run: ./mill __[3.3.1].test
publish:
needs:
- checks
- integration-kubernetes-v1-25
- integration-kubernetes-v1-24
- integration-kubernetes-v1-23
- integration-kubernetes-v1-22
- integration-kubernetes-v1-21
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