Fix vm #546
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Complete Test | |
on: | |
# Run on push and pull requests on any branch, but ignore if change doesn't affect code. | |
push: | |
paths-ignore: | |
- 'README.md' | |
- 'docs/**' | |
pull_request: | |
paths-ignore: | |
- 'README.md' | |
- 'docs/**' | |
# Allows you to run this workflow manually from the Actions tab | |
workflow_dispatch: | |
jobs: | |
test: | |
strategy: | |
# Default value means that a failure in one OS cancels all | |
fail-fast: false | |
matrix: | |
smalltalk: [ Pharo64-11 ] | |
os: [ ubuntu-20.04, macos-latest ] | |
ston: [ .smalltalk.ston ] | |
runs-on: ${{ matrix.os }} | |
name: ${{ matrix.smalltalk }} on ${{ matrix.os }} | |
steps: | |
- name: Checkout Druid | |
uses: actions/checkout@v3 | |
with: | |
fetch-depth: 0 | |
- name: Checkout Pharo VM | |
uses: actions/checkout@v3 | |
with: | |
repository: 'pharo-project/pharo-vm' | |
path: 'pharo-vm' | |
fetch-depth: 0 | |
ref: 'druid' | |
- name: Setup smalltalkCI | |
uses: hpi-swa/setup-smalltalkCI@v1 | |
with: | |
smalltalk-image: ${{ matrix.smalltalk }} | |
- name: Checkout Unicorn | |
uses: actions/checkout@v3 | |
with: | |
repository: 'pharo-project/unicorn' | |
path: 'unicorn' | |
ref: 'pharo-vm-unicorn2' | |
- name: Get Unicorn Commit ID | |
id: unicorn_commit | |
run: | | |
echo "Unicorn SHA: $(cd unicorn && git rev-parse HEAD)" | |
echo "commit_sha=$(cd unicorn && git rev-parse HEAD)" >> $GITHUB_OUTPUT | |
- name: Cache Unicorn build | |
uses: actions/cache@v3 | |
id: cache-unicorn | |
with: | |
path: unicorn_result/lib/ | |
key: ${{ runner.os }}-unicorn_lib-${{ steps.unicorn_commit.outputs.commit_sha }} | |
- name: Build Unicorn | |
if: ${{ steps.cache-unicorn.outputs.cache-hit != 'true' }} | |
run: | | |
cmake -S unicorn -B unicorn_build -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=unicorn_result | |
cmake --build unicorn_build --target install | |
- name: Download LLVM | |
run: | | |
wget https://files.pharo.org/vm/pharo-spur64/$(uname)-x86_64/third-party/libllvm-full.zip | |
unzip libllvm-full.zip | |
- name: Install libraries (LLVM, Unicorn) | |
run: | | |
mkdir -p ${SMALLTALK_CI_BUILD} | |
cp unicorn_result/lib/libunicorn.* ${SMALLTALK_CI_BUILD} | |
cp libLLVM* ${SMALLTALK_CI_BUILD} | |
- name: Load Image and Run Tests | |
run: smalltalkci -s ${{ matrix.smalltalk }} ${{ matrix.ston }} | |
shell: bash | |
timeout-minutes: 30 |