ci: add GitHub Actions workflow; runner: prefer PyVM in selfhost paths; stage3: add LLVM + bridge acceptance smokes; docs: update env flags

This commit is contained in:
Selfhosting Dev
2025-09-17 01:20:15 +09:00
parent 5c9213cd03
commit adbfbb2c76
11 changed files with 212 additions and 20 deletions

51
.github/workflows/ci.yml vendored Normal file
View File

@ -0,0 +1,51 @@
name: nyash-ci
on:
push:
pull_request:
jobs:
build-and-smoke:
runs-on: ubuntu-latest
timeout-minutes: 30
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Install LLVM 18 (apt.llvm.org)
run: |
sudo apt-get update
sudo apt-get install -y wget gnupg lsb-release
wget https://apt.llvm.org/llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 18
- name: Set LLVM env
run: echo "LLVM_SYS_180_PREFIX=$(llvm-config-18 --prefix)" >> "$GITHUB_ENV"
- name: Ensure Python3
run: sudo apt-get install -y python3
- name: Set up Rust
uses: dtolnay/rust-toolchain@stable
- name: Cache Rust build
uses: Swatinem/rust-cache@v2
with:
cache-targets: true
- name: Build (LLVM feature)
run: cargo build --release --features llvm
- name: Curated LLVM smokes
run: ./tools/smokes/curated_llvm.sh
- name: Curated LLVM Stage-3 smokes
run: ./tools/smokes/curated_llvm_stage3.sh
- name: Bridge Stage-3 acceptance (JSON v0 pipe)
run: ./tools/ny_stage3_bridge_accept_smoke.sh
- name: Curated LLVM Stage-3 smokes (PHI-off)
run: ./tools/smokes/curated_llvm_stage3.sh --phi-off