Skip to content

Commit

Permalink
Add action
Browse files Browse the repository at this point in the history
Add action for testing sljit on different architectures
  • Loading branch information
vorosl committed Jul 19, 2024
1 parent 5ad2541 commit 1a3904c
Showing 1 changed file with 228 additions and 0 deletions.
228 changes: 228 additions & 0 deletions .github/workflows/actions.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,228 @@
name: Actions

on:
push:
branches: [ master ]
pull_request:
branches: [ master ]

jobs:
build-test-on-x86:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Packages
run: |
sudo apt update
sudo apt install -y gcc-multilib g++-multilib make
- name: Build x86
env:
CFLAGS: -m32
CXXFLAGS: -m32
run: |
make all
- name: Run Tests
run: |
./bin/sljit_test -v
build-test-on-x64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install Packages
run: |
sudo apt update
sudo apt install -y gcc g++ make
- name: Build x64
run: |
make all
- name: Run Tests
run: |
./bin/sljit_test -v
build-test-on-armt2:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Build in arm32 container
uses: uraimo/run-on-arch-action@v2.7.2
with:
arch: armv7
distro: ubuntu_latest

# Install deps into the container. With the token, the container will be cached
# The image is cached publically like a package
githubToken: ${{ github.token }}

install: |
apt-get update
apt-get install -y gcc g++ make
run: |
make all
./bin/sljit_test -v
build-test-on-aarch64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Build in arm64 container
uses: uraimo/run-on-arch-action@v2.7.2

with:
arch: aarch64
distro: ubuntu22.04

# Install deps into the container. With the token, the container will be cached
# The image is cached publically like a package
githubToken: ${{ github.token }}

install: |
apt-get update
apt-get install -y gcc g++ make
run: |
make all
./bin/sljit_test -v
build-test-on-arm32:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Build in arm32 container
uses: uraimo/run-on-arch-action@v2.7.2
with:
arch: armv7
distro: ubuntu_latest

# Install deps into the container. With the token, the container will be cached
# The image is cached publically like a package
githubToken: ${{ github.token }}
env: |
CFLAGS: -marm
CXXFLAGS: -marm
install: |
apt-get update
apt-get install -y gcc g++ make
run: |
make all
./bin/sljit_test -v
build-test-on-riscv32:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install compiler
run: |
sudo apt update
sudo apt install -y make wget ninja-build
wget https://toolchains.bootlin.com/downloads/releases/toolchains/riscv32-ilp32d/tarballs/riscv32-ilp32d--glibc--bleeding-edge-2024.02-1.tar.bz2
tar -xvf riscv32-ilp32d--glibc--bleeding-edge-2024.02-1.tar.bz2
- name: Install qemu
run: |
wget https://download.qemu.org/qemu-9.0.2.tar.xz
tar -xvf qemu-9.0.2.tar.xz
cd qemu-9.0.2
./configure --target-list="riscv32-linux-user"
make -j4
- name: Build and test in riscv32
env:
CROSS_COMPILER: ./riscv32-ilp32d--glibc--bleeding-edge-2024.02-1/bin/riscv32-buildroot-linux-gnu-gcc-13.2.0.br_real
CFLAGS: -march=rv32g
EXTRA_LDFLAGS: -static
run: |
make all
./qemu-9.0.2/build/qemu-riscv32 ./bin/sljit_test -v
build-test-on-riscv32-extensions:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install compiler
run: |
sudo apt update
sudo apt install -y make wget ninja-build
wget https://toolchains.bootlin.com/downloads/releases/toolchains/riscv32-ilp32d/tarballs/riscv32-ilp32d--glibc--bleeding-edge-2024.02-1.tar.bz2
tar -xvf riscv32-ilp32d--glibc--bleeding-edge-2024.02-1.tar.bz2
- name: Install qemu
run: |
wget https://download.qemu.org/qemu-9.0.2.tar.xz
tar -xvf qemu-9.0.2.tar.xz
cd qemu-9.0.2
./configure --target-list="riscv32-linux-user"
make -j4
- name: Build and test
env:
CROSS_COMPILER: ./riscv32-ilp32d--glibc--bleeding-edge-2024.02-1/bin/riscv32-buildroot-linux-gnu-gcc-13.2.0.br_real
CFLAGS: -march=rv32gv_zba_zbb
EXTRA_LDFLAGS: -static
run: |
make all
./qemu-9.0.2/build/qemu-riscv32 ./bin/sljit_test -v
build-test-on-riscv64:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install compiler
run: |
sudo apt update
sudo apt install -y make wget ninja-build
wget https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--stable-2024.02-1.tar.bz2
tar -xvf riscv64-lp64d--glibc--stable-2024.02-1.tar.bz2
- name: Install qemu
run: |
wget https://download.qemu.org/qemu-9.0.2.tar.xz
tar -xvf qemu-9.0.2.tar.xz
cd qemu-9.0.2
./configure --target-list="riscv64-linux-user"
make -j4
- name: Build and test
env:
CROSS_COMPILER: ./riscv64-lp64d--glibc--stable-2024.02-1/bin/riscv64-buildroot-linux-gnu-gcc-12.3.0.br_real
CFLAGS: -march=rv64g
EXTRA_LDFLAGS: -static
run: |
make all
./qemu-9.0.2/build/qemu-riscv64 ./bin/sljit_test -v
build-test-on-riscv64-extensions:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
submodules: true
- name: Install compiler
run: |
sudo apt update
sudo apt install -y make wget ninja-build
wget https://toolchains.bootlin.com/downloads/releases/toolchains/riscv64-lp64d/tarballs/riscv64-lp64d--glibc--stable-2024.02-1.tar.bz2
tar -xvf riscv64-lp64d--glibc--stable-2024.02-1.tar.bz2
- name: Install qemu
run: |
wget https://download.qemu.org/qemu-9.0.2.tar.xz
tar -xvf qemu-9.0.2.tar.xz
cd qemu-9.0.2
./configure --target-list="riscv64-linux-user"
make -j4
- name: Build and test
env:
CROSS_COMPILER: ./riscv64-lp64d--glibc--stable-2024.02-1/bin/riscv64-buildroot-linux-gnu-gcc-12.3.0.br_real
CFLAGS: -march=rv64gv_zba_zbb
EXTRA_LDFLAGS: -static
run: |
make all
./qemu-9.0.2/build/qemu-riscv64 ./bin/sljit_test -v

0 comments on commit 1a3904c

Please sign in to comment.