Files
hakorune/.github/workflows/llvm-vinvoke-smoke.yml
Moe Charm 11506cee3b Phase 11-12: LLVM backend initial, semantics layer, plugin unification
Major changes:
- LLVM backend initial implementation (compiler.rs, llvm mode)
- Semantics layer integration in interpreter (operators.rs)
- Phase 12 plugin architecture revision (3-layer system)
- Builtin box removal preparation
- MIR instruction set documentation (26→Core-15 migration)
- Cross-backend testing infrastructure
- Await/nowait syntax support

New features:
- LLVM AOT compilation support (--backend llvm)
- Semantics layer for interpreter→VM flow
- Tri-backend smoke tests
- Plugin-only registry mode

Bug fixes:
- Interpreter plugin box arithmetic operations
- Branch test returns incorrect values

Documentation:
- Phase 12 README.md updated with new plugin architecture
- Removed obsolete NYIR proposals
- Added LLVM test programs documentation

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-01 23:44:34 +09:00

59 lines
1.5 KiB
YAML

name: LLVM VInvoke Smoke
on:
push:
paths:
- 'src/**'
- 'crates/**'
- 'apps/**'
- 'tools/**'
- 'Cargo.toml'
- 'Cargo.lock'
- '.github/workflows/llvm-vinvoke-smoke.yml'
pull_request:
paths:
- 'src/**'
- 'crates/**'
- 'apps/**'
- 'tools/**'
- 'Cargo.toml'
- 'Cargo.lock'
jobs:
llvm-vinvoke:
runs-on: ubuntu-latest
env:
CARGO_TERM_COLOR: always
NYASH_CLI_VERBOSE: '1'
# Plugins enabled (do not set NYASH_DISABLE_PLUGINS)
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup Rust (stable)
uses: dtolnay/rust-toolchain@stable
- name: Cache cargo registry and build
uses: actions/cache@v4
with:
path: |
~/.cargo/registry
~/.cargo/git
target
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
restore-keys: |
${{ runner.os }}-cargo-
- name: Install LLVM 18 (llvm-config-18)
run: |
sudo apt-get update
sudo apt-get install -y curl ca-certificates lsb-release wget gnupg build-essential libzstd-dev
curl -fsSL https://apt.llvm.org/llvm.sh -o llvm.sh
chmod +x llvm.sh
sudo ./llvm.sh 18
llvm-config-18 --version
- name: Run LLVM VInvoke + Array smoke tests
run: |
NYASH_LLVM_VINVOKE_RET_SMOKE=1 NYASH_LLVM_ARRAY_RET_SMOKE=1 ./tools/llvm_smoke.sh release