Skip to content

macOS

macOS #128

Workflow file for this run

name: macOS
on:
push:
workflow_dispatch:
schedule:
- cron: "0 0 * * 6"
jobs:
ci:
runs-on: macOS-latest
steps:
- name: Checkout
uses: actions/checkout@v3
with:
submodules: recursive
- name: Checkout-Keninian
uses: actions/checkout@v3
with:
submodules: recursive
repository: sireum/kekinian
path: kekinian
- name: Retrieve versions.properties
run: |
curl -JLOs https://raw.githubusercontent.com/sireum/kekinian/master/versions.properties
- name: Cache Java
id: cache-java
uses: actions/cache@v3
with:
path: kekinian/bin/mac/java
key: ${{ runner.os }}-${{ hashFiles('versions.properties') }}-java
- name: Cache Scala
id: cache-scala
uses: actions/cache@v3
with:
path: kekinian/bin/scala
key: ${{ runner.os }}-${{ hashFiles('versions.properties') }}-scala
- name: Cache Coursier
id: cache-coursier
uses: actions/cache@v3
with:
path: cache/coursier
key: ${{ runner.os }}-${{ hashFiles('versions.properties') }}-coursier
- name: Cache OSATE
id: cache-osate
uses: actions/cache@v3
with:
path: kekinian/bin/mac/osate.app
key: ${{ runner.os }}-${{ hashFiles('kekinian/hamr/codegen/jvm/src/main/resources/phantom_versions.properties') }}-osate
- name: Test
run: |
export COURSIER_CACHE=$GITHUB_WORKSPACE/cache/coursier
cd $GITHUB_WORKSPACE
export XHOME=$(pwd)
# see https://github.com/sireum/osate-plugin/blob/57785407d84793cf1f8d5926647e4dc75ab197a9/org.sireum.aadl.osate.cli/src/org/sireum/aadl/osate/cli/Phantom.java#L508-L517
export CHECK_PHANTOM_HAMR_API_COMPATIBILITY=true
################################################
# build Sireum
################################################
./kekinian/bin/build.cmd setup
export SIREUM_HOME=${XHOME}/kekinian
export PATH=$SIREUM_HOME/bin:$PATH
################################################
# Install OSATE
################################################
export OSATE_HOME=$SIREUM_HOME/bin/mac/osate.app
$SIREUM_HOME/hamr/codegen/bin/build.cmd install-osate-gumbo
.ci/test.cmd