feat: 2b for now as the clang std lang level used by default #104
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: Tests for the project | |
on: | |
push: | |
branches: '*' | |
pull_request: | |
branches: '*' | |
jobs: | |
tests: | |
name: Running the tests for ${{ matrix.os }} | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
include: | |
- { os: ubuntu-latest, clang_version: 19 } | |
# - { os: macos-latest } | |
# - { os: windows-latest } | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Clone Zork++ | |
uses: GuillaumeFalourd/[email protected] | |
with: | |
owner: 'ZeroDayCode' | |
repository: 'Zork' | |
branch: 'feature/GH-127-clang-upgrades' | |
- name: Installing LLVM ${{ matrix.clang_version }} | |
run: | | |
# Exit on error | |
set -e | |
# Download and execute the LLVM installation script for the specified Clang version | |
echo "-----> Downloading and executing the LLVM installation script for Clang ${{ matrix.clang_version }}" | |
wget https://apt.llvm.org/llvm.sh | |
chmod +x llvm.sh | |
sudo ./llvm.sh ${{ matrix.clang_version }} | |
echo "-----> Installing libc++" | |
sudo apt-get install -y libc++-${{ matrix.clang_version }}-dev libc++abi-${{ matrix.clang_version }}-dev libunwind-${{ matrix.clang_version }} libunwind-${{ matrix.clang_version }}-dev libc6 libzstd1 | |
# Update the symbolic link to point to the newly installed Clang version | |
echo "-----> Updating the symbolic link to point to Clang ${{ matrix.clang_version }}" | |
sudo rm -f /usr/bin/clang++ | |
sudo ln -s /usr/bin/clang++-${{ matrix.clang_version }} /usr/bin/clang++ | |
# Find the system libc++ installations | |
find /usr -type f \( -name 'std.cppm' -o -name 'std.compat.cppm' \) -exec echo "Found: {}" \; | |
- name: Generate a Zork++ release build | |
run: | | |
cd ./Zork/zork++ | |
cargo build --release | |
cd ../.. | |
mv ./Zork/zork++/target/release/zork ./Zork/zork++/target/release/zork++ | |
cp ./Zork/zork++/target/release/zork++ . | |
- name: Running the tests for ${{ matrix.os }} with Zork++ | |
run: ./zork++ --match-files gh_linux -vv -c test |