Skip to content

Merge pull request #28 from Il-Capitano/llvm-19 #639

Merge pull request #28 from Il-Capitano/llvm-19

Merge pull request #28 from Il-Capitano/llvm-19 #639

Workflow file for this run

name: CI
on: [push]
jobs:
windows-clang:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: msys2/setup-msys2@v2
with:
update: true
msystem: ucrt64
install: >-
make
git
mingw-w64-ucrt-x86_64-pkgconf
mingw-w64-ucrt-x86_64-fmt
mingw-w64-ucrt-x86_64-nlohmann-json
mingw-w64-ucrt-x86_64-llvm
mingw-w64-ucrt-x86_64-lld
mingw-w64-ucrt-x86_64-clang
mingw-w64-ucrt-x86_64-dwarfstack
mingw-w64-ucrt-x86_64-python
mingw-w64-ucrt-x86_64-openssl
- uses: actions/checkout@v4
- run: git clone https://github.com/Il-Capitano/cppb.git
- name: Build cppb
run: |
cd cppb
mkdir bin
make
cd ..
- run: touch ryu_format.windows.bc
- name: Build bozon
run: cppb/bin/cppb build -v --build-config no-sanitize
- name: Compile bitcode_test.bz
run: |
cppb/bin/cppb run -v --build-config no-sanitize
cppb/bin/cppb run-rule a.exe
./a.exe
- name: Build tests
run: cppb/bin/cppb build -v --build-config test-no-sanitize
- name: Run tests
run: |
cppb/bin/cppb run -v --build-config test-no-sanitize
cppb/bin/cppb run-rule run-tests
windows-gcc:
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- uses: msys2/setup-msys2@v2
with:
update: true
msystem: ucrt64
install: >-
make
git
mingw-w64-ucrt-x86_64-pkgconf
mingw-w64-ucrt-x86_64-fmt
mingw-w64-ucrt-x86_64-nlohmann-json
mingw-w64-ucrt-x86_64-llvm
mingw-w64-ucrt-x86_64-lld
mingw-w64-ucrt-x86_64-clang
mingw-w64-ucrt-x86_64-gcc
mingw-w64-ucrt-x86_64-dwarfstack
mingw-w64-ucrt-x86_64-python
mingw-w64-ucrt-x86_64-openssl
- uses: actions/checkout@v4
- name: Build cppb
run: |
git clone https://github.com/Il-Capitano/cppb.git
cd cppb
mkdir bin
make
cd ..
- run: touch ryu_format.windows.bc
- name: Build bozon
run: cppb/bin/cppb build -v --build-config gcc
- name: Compile bitcode_test.bz
run: |
cppb/bin/cppb run -v --build-config gcc
cppb/bin/cppb run-rule a.exe
./a.exe
- name: Build tests
run: cppb/bin/cppb build -v --build-config test-gcc
- name: Run tests
run: cppb/bin/cppb run -v --build-config test-gcc
linux-clang:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install packages
run: |
printf "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-19 main" | sudo tee /etc/apt/sources.list.d/llvm-toolchain-focal-19.list
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt update
sudo apt install gcc gcc-12 g++-12 llvm-19 lld-19 clang-19 libfmt-dev nlohmann-json3-dev libssl-dev python3
- name: Install libbacktrace
run: |
git clone https://github.com/ianlancetaylor/libbacktrace.git
cd libbacktrace
./configure
sudo make install
cd ..
- name: Build cppb
run: |
git clone https://github.com/Il-Capitano/cppb.git
cd cppb
mkdir bin
make CXX=clang++-19 LD=lld-19
cd ..
- run: touch ryu_format.linux.bc
- name: Build bozon
run: cppb/bin/cppb build -v
- name: Compile bitcode_test.bz
run: |
cppb/bin/cppb run -v
cppb/bin/cppb run-rule a.out
./a.out
- name: Build tests
run: cppb/bin/cppb build -v --build-config test
- name: Run tests
run: |
cppb/bin/cppb run -v --build-config test
cppb/bin/cppb run-rule run-tests
- name: Compile ryu_format.bz
run: cppb/bin/cppb run-rule ryu_format.linux.bc -f
linux-gcc:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install packages
run: |
printf "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-19 main" | sudo tee /etc/apt/sources.list.d/llvm-toolchain-focal-19.list
wget -O - https://apt.llvm.org/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt update
sudo apt install gcc lld gcc-12 g++-12 llvm-19 lld-19 clang-19 libfmt-dev nlohmann-json3-dev libssl-dev python3
- name: Install libbacktrace
run: |
git clone https://github.com/ianlancetaylor/libbacktrace.git
cd libbacktrace
./configure
sudo make install
cd ..
- name: Build cppb
run: |
git clone https://github.com/Il-Capitano/cppb.git
cd cppb
mkdir bin
make CXX=clang++-19 LD=lld-19
cd ..
- run: touch ryu_format.linux.bc
- name: Build bozon
run: cppb/bin/cppb build -v --build-config gcc
- name: Compile bitcode_test.bz
run: |
cppb/bin/cppb run -v --build-config gcc
cppb/bin/cppb run-rule a.out
./a.out
- name: Build tests
run: cppb/bin/cppb build -v --build-config test-gcc
- name: Run tests
run: cppb/bin/cppb run -v --build-config test-gcc
- name: Compile ryu_format.bz
run: cppb/bin/cppb run-rule ryu_format.linux.gcc.bc -f