llvm 18.1.8 (#67) #179
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: Continuous | |
on: [push, pull_request] | |
jobs: | |
build: | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Install deps | |
run: | | |
sudo add-apt-repository universe | |
sudo apt-get update | |
sudo apt-get install -y libcurl4-openssl-dev libsdl1.2-dev libgc-dev libncurses5-dev jq cmake ninja-build clang libfuse2 valgrind libncurses5 | |
- name: Check out repository code | |
uses: actions/checkout@v4 | |
with: | |
submodules: recursive | |
- name: Set up environment | |
run: | | |
echo "CC=clang" >> $GITHUB_ENV | |
echo "CXX=clang++" >> $GITHUB_ENV | |
echo "LD=clang++" >> $GITHUB_ENV | |
echo "LLVM_VERSION=$(cat llvm/llvm.version)" >> $GITHUB_ENV | |
- name: Cache LLVM | |
id: cache-llvm | |
uses: actions/cache@v3 | |
with: | |
path: | | |
ext/*-${{ env.LLVM_VERSION }}.src | |
key: llvm-${{ runner.os }}-${{ env.LLVM_VERSION }} | |
- name: Set up llvm | |
run: make STATIC_LLVM=1 prepare-llvm | |
- name: Compile nim | |
run: make STATIC_LLVM=1 prepare-nim | |
- name: Run tests | |
run: | | |
cat ci-skipped-tests.txt >>skipped-tests.txt | |
make STATIC_LLVM=1 test | |
git checkout skipped-tests.txt # Restore for nph | |
- name: Run self-compare | |
run: make STATIC_LLVM=1 compare | |
- name: Check nph formatting | |
# Pin nph to a specific version to avoid sudden style differences. | |
# Updating nph version should be accompanied with running the new | |
# version | |
run: | | |
VERSION="v0.6.0" | |
ARCHIVE="nph-linux_x64.tar.gz" | |
curl -L "https://github.com/arnetheduck/nph/releases/download/${VERSION}/${ARCHIVE}" -o ${ARCHIVE} | |
tar -xzf ${ARCHIVE} | |
git ls-files | grep .nim$ | xargs ./nph | |
git diff --exit-code | |
- name: Create distribution | |
run: bash make-dist.sh | |
- name: Update release | |
if: github.ref == 'refs/heads/master' | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
# Local copy of the following script: | |
# wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh | |
bash upload.sh dist/* |