@@ -62,33 +62,37 @@ jobs:
6262 runs-on : ubuntu-22.04
6363 steps :
6464 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
65- - name : Install just
66- run : sudo apt-get update -qq && sudo apt-get install -y just
6765 - name : Install Chapel ${{ env.CHAPEL_VERSION }}
6866 run : |
6967 set -euo pipefail
7068 curl -fsSL --retry 3 -o /tmp/chapel.deb "${{ env.CHAPEL_DEB_URL }}"
7169 sudo apt-get install -y /tmp/chapel.deb
7270 chpl --version
7371 - name : Parse every Chapel module
74- run : just chapel-parse-check
72+ working-directory : chapel
73+ run : |
74+ set -euo pipefail
75+ chpl --parse-only src/MassPanic.chpl src/Protocol.chpl src/Imaging.chpl src/Temporal.chpl
76+ chpl --parse-only smoke/two_repo_smoke.chpl src/Protocol.chpl src/Imaging.chpl
7577
7678 chapel-build :
7779 name : chapel-build
7880 needs : chapel-parse-check
7981 runs-on : ubuntu-22.04
8082 steps :
8183 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
82- - name : Install just
83- run : sudo apt-get update -qq && sudo apt-get install -y just
8484 - name : Install Chapel ${{ env.CHAPEL_VERSION }}
8585 run : |
8686 set -euo pipefail
8787 curl -fsSL --retry 3 -o /tmp/chapel.deb "${{ env.CHAPEL_DEB_URL }}"
8888 sudo apt-get install -y /tmp/chapel.deb
8989 chpl --version
9090 - name : Build mass-panic + smoke (no toolbox)
91- run : just chapel-build-ci
91+ working-directory : chapel
92+ run : |
93+ set -euo pipefail
94+ chpl src/MassPanic.chpl src/Protocol.chpl src/Imaging.chpl src/Temporal.chpl -o mass-panic
95+ chpl smoke/two_repo_smoke.chpl src/Protocol.chpl src/Imaging.chpl -o smoke/two_repo_smoke
9296 - name : Upload Chapel artefacts
9397 uses : actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
9498 with :
@@ -125,10 +129,9 @@ jobs:
125129 runs-on : ubuntu-22.04
126130 steps :
127131 - uses : actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
128- - name : Install just + Chapel ${{ env.CHAPEL_VERSION }}
132+ - name : Install Chapel ${{ env.CHAPEL_VERSION }}
129133 run : |
130134 set -euo pipefail
131- sudo apt-get update -qq && sudo apt-get install -y just
132135 curl -fsSL --retry 3 -o /tmp/chapel.deb "${{ env.CHAPEL_DEB_URL }}"
133136 sudo apt-get install -y /tmp/chapel.deb
134137 - name : Download Chapel artefacts
@@ -139,7 +142,19 @@ jobs:
139142 - name : Restore exec bits
140143 run : chmod +x chapel/mass-panic
141144 - name : End-to-end -nl 1 exercise
142- run : just chapel-e2e
145+ run : |
146+ set -euo pipefail
147+ WORK=$(mktemp -d /tmp/chapel-e2e-XXXXXX)
148+ trap 'rm -rf "$WORK"' EXIT
149+ mkdir -p "$WORK/corpus/repo-alpha/src" "$WORK/corpus/repo-beta/src"
150+ echo 'pub unsafe fn a() {}' > "$WORK/corpus/repo-alpha/src/lib.rs"
151+ echo 'pub unsafe fn b() {}' > "$WORK/corpus/repo-beta/src/lib.rs"
152+ for d in repo-alpha repo-beta; do
153+ (cd "$WORK/corpus/$d" && git init -q && git add -A && git -c user.email=ci@example.com -c user.name=ci commit -q -m init)
154+ done
155+ ./chapel/mass-panic --repoDirectory="$WORK/corpus" --numLocales=1 --quiet --outputDir="$WORK/out"
156+ ls "$WORK/out"/system-image-*.json >/dev/null
157+ echo "chapel-e2e: PASS"
143158
144159 chapel-cli-contract :
145160 name : chapel-cli-contract
0 commit comments