Skip to content

Integration Test

Integration Test #4

name: Integration Test
on:
workflow_dispatch:
inputs:
rascal_version:
description: 'rascal branch/tag to checkout'
required: true
default: 'main'
typepal_version:
description: 'typepal branch/tag to checkout'
required: true
default: 'main'
rascal_core_version:
description: 'rascal-core branch/tag to checkout'
required: true
default: 'master'
jobs:
prepare-deps:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
name: 'Checkout rascal'
with:
repository: 'usethesource/rascal'
ref: ${{ inputs.rascal_version }}
path: 'deps/rascal'
- uses: actions/checkout@v4
name: 'Checkout typepal'
with:
repository: 'usethesource/typepal'
ref: ${{ inputs.typepal_version }}
path: 'deps/typepal'
- uses: actions/checkout@v4
name: 'Checkout rascal-core'
with:
repository: 'usethesource/rascal-core'
ref: ${{ inputs.rascal_core_version }}
path: 'deps/rascal-core'
- uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'temurin'
cache: 'maven'
- name: Compile rascal java
run: mvn -B clean compile package -Drascal.tutor.skip -DskipTests -Drascal.compile.skip
working-directory: deps/rascal
- run: find deps/rascal/target -name '*-shaded.jar' -exec mv '{}' deps/rascal/rascal.jar \;
name: copy rascal jar to predictable location
- uses: actions/upload-artifact@v4
name: 'Store dependencies for the other jobs'
with:
name: deps
path: deps/
retention-days: 1
rascal:
runs-on: buildjet-4vcpu-ubuntu-2204
needs: prepare-deps
steps:
- uses: actions/checkout@v4
- uses: actions/setup-java@v4
with:
java-version: 11
distribution: 'temurin'
cache: 'maven'
- uses: actions/download-artifact@v4
with:
name: deps
- name: Download needed rascal-jar
run: mvn -B validate
- run: tree
- name: Typecheck rascal
run: |
java -jar target/dependencies/rascal.jar Main \
--rascalVersion "|cwd:///rascal/rascal.jar|" \
--typepalVersion "|cwd:///typepal|" \
--rascalCoreVersion "|cwd:///rascal-core|" \
--repoFolder "|file:///$RUNNER_TEMP/repos|" \
--full false \
--clean \
--printWarnings \
--tests rascal
- uses: actions/upload-artifact@v4
name: Store rascal tpls
with:
name: rascal-tpls
path: $RUNNER_TEMP/repos
retention-days: 1