Files
NeoTachyon/.github/workflows/backend-ci.yml
T

67 lines
1.8 KiB
YAML

name: Backend CI
permissions:
contents: read
on:
pull_request:
paths:
- 'tachyon/files/**'
- 'tachyon/Makefile'
- 'build.sh'
- 'tests/**'
- '.github/workflows/build.yml'
- '.github/workflows/backend-ci.yml'
push:
branches:
- main
paths:
- 'tachyon/files/**'
- 'tachyon/Makefile'
- 'build.sh'
- 'tests/**'
- '.github/workflows/build.yml'
- '.github/workflows/backend-ci.yml'
jobs:
backend-checks:
name: Backend Runtime Checks
runs-on: ubuntu-24.04
steps:
- name: Checkout code
uses: actions/checkout@v5.0.0
with:
fetch-depth: 0
- name: Build ucode
shell: bash
run: |
sudo apt-get update
sudo apt-get install -y build-essential cmake git libjson-c-dev pkg-config nodejs curl
git clone --depth 1 --branch v0.0.20250529 https://github.com/jow-/ucode.git /tmp/ucode
cmake -S /tmp/ucode -B /tmp/ucode/build \
-DUBUS_SUPPORT=OFF \
-DUCI_SUPPORT=OFF \
-DULOOP_SUPPORT=OFF
cmake --build /tmp/ucode/build --parallel
sudo cmake --install /tmp/ucode/build
sudo ldconfig
command -v ucode
ucode -e 'print("ucode ready\n")'
- name: Check ucode syntax
shell: bash
run: |
find tachyon/files/usr/lib -name '*.uc' -print0 | xargs -0 -n1 ucode -c -o /dev/null
find tachyon/files/usr/lib -name '*.uc' -print0 | xargs -0 -n1 ucode -S -c -o /dev/null
- name: Run backend tests
shell: bash
run: |
find tests -maxdepth 1 -name '*.sh' \
! -name 'docker_e2e_test.sh' \
! -name 'container_entrypoint.sh' \
! -name 'run_all.sh' \
-print0 | xargs -0 -n1 -P4 bash