Skip to content

Linux

Linux #18

Workflow file for this run

name: Linux
on:
push:
workflow_dispatch:
schedule:
- cron: "0 0 * * 6"
jobs:
ci:
runs-on: ubuntu-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: |
wget -q https://raw.githubusercontent.com/sireum/kekinian/master/versions.properties
- name: Cache Java
id: cache-java
uses: actions/cache@v3
with:
path: kekinian/bin/linux/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/linux/osate
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
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/linux/osate
$SIREUM_HOME/hamr/codegen/bin/build.cmd install-osate-gumbo
git config --global credential.username "xxx"
git config --global user.email "[email protected]"
git clone https://github.com/santoslab/hamr-system-testing-artifact-generator.git ../hamr-system-testing-artifact-generator
sireum proyek assemble --uber -m org.sireum.hamr.systest.generator.SystemTestArtifactGen ../hamr-system-testing-artifact-generator
.ci/test.cmd