Skip to content

Setting up a new morphir-cli and coding libraries #31

Setting up a new morphir-cli and coding libraries

Setting up a new morphir-cli and coding libraries #31

Workflow file for this run

name: CI - Check
on:
push:
branches: [main]
pull_request:
branches: [main]
jobs:
lint:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout current branch
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup Java
uses: graalvm/setup-graalvm@v1
with:
distribution: 'graalvm'
java-version: 22
version: "latest"
github-token: ${{ secrets.GITHUB_TOKEN }}
components: "native-image"
- name: Cache scala dependencies
uses: coursier/cache-action@v6
- name: Lint code
run: ./mill -i Alias/run lint
test:
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
matrix:
java-distribution: ["temurin"]
java-version: ["22", "11"]
include:
- java-distribution: "graalvm"
java-version: "22"
is-graal: true
release-libraries: false
release-apps: true
- java-distribution: "temurin"
java-version: "11"
release-libraries: true
release-apps: false
steps:
- name: Checkout
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Setup GraalVM
if: ${{matrix.is-graal}}
uses: graalvm/setup-graalvm@v1
with:
java-version: ${{ matrix.java-version }}
distribution: ${{ matrix.java-distribution}}
version: "latest"
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup Java
if: ${{matrix.is-graal != true}}
uses: actions/setup-java@v4
with:
distribution: ${{ matrix.java-distribution }}
java-version: ${{ matrix.java-version}}
- name: Cache scala dependencies
uses: coursier/cache-action@v6
- name: Test Libraries
run: ./mill -i Alias/run testModules
- name: Test Apps
if: ${{matrix.is-graal}}
run: ./mill -i Alias/run testApps
- name: Ensure Can Publish - Libraries
run: ./mill -i __.publishLibraryArtifacts
if: ${{matrix.release-libraries}}
env:
MORPHIR_RELEASE_LIBRARIES: ${{matrix.release-libraries}}
MORPHIR_RELEASE_APPS: ${{matrix.release-apps}}
- name: Ensure Can Publish - Apps
run: ./mill -i __.publishApplicationArtifacts
if: ${{matrix.release-apps}}
env:
MORPHIR_RELEASE_LIBRARIES: ${{matrix.release-libraries}}
MORPHIR_RELEASE_APPS: ${{matrix.release-apps}}