Merge selfhosting-dev into main (Core-13 pure CI/tests + LLVM bridge) (#126)
* WIP: sync before merging origin/main * fix: unify using/module + build CLI; add missing helper in runner; build passes; core smokes green; jit any.len string now returns 3 * Apply local changes after merging main; keep docs/phase-15 removed per main; add phase-15.1 docs and tests * Remove legacy docs/phase-15/README.md to align with main * integration: add Core-13 pure CI, tests, and minimal LLVM execute bridge (no docs) (#125) Co-authored-by: Tomoaki <tomoaki@example.com> --------- Co-authored-by: Selfhosting Dev <selfhost@example.invalid> Co-authored-by: Tomoaki <tomoaki@example.com>
This commit is contained in:
5
.github/pull_request_template.md
vendored
5
.github/pull_request_template.md
vendored
@ -9,3 +9,8 @@
|
||||
- [ ] 回帰CI green(env直読み検出なし)
|
||||
- [ ] stats: fallback率・理由が記録される
|
||||
|
||||
### Selfhosting‑dev Gate(このブランチ向け)
|
||||
- [ ] `bash tools/selfhost_vm_smoke.sh` が PASS(plugins 無効)
|
||||
- [ ] `docs/CONTRIBUTING-MERGE.md` の境界方針を満たす(Cranelift実装差分は専用ブランチ)
|
||||
- 影響範囲: runner / interpreter / vm / tools / docs
|
||||
- Feature gates(該当時): `cranelift-jit`, その他(記述)
|
||||
|
||||
36
.github/workflows/core13-pure-llvm.yml
vendored
Normal file
36
.github/workflows/core13-pure-llvm.yml
vendored
Normal file
@ -0,0 +1,36 @@
|
||||
name: Core-13 Pure CI (LLVM)
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
test-core13-pure-llvm:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Rust (stable)
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Cache cargo
|
||||
uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: Install LLVM 18 (llvm-config-18)
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y curl ca-certificates lsb-release wget gnupg
|
||||
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 tests with Core-13 pure mode + LLVM
|
||||
env:
|
||||
NYASH_MIR_CORE13_PURE: "1"
|
||||
run: |
|
||||
export LLVM_SYS_180_PREFIX="$(llvm-config-18 --prefix)"
|
||||
export LLVM_SYS_181_PREFIX="$(llvm-config-18 --prefix)"
|
||||
cargo test --features llvm --all-targets --no-fail-fast
|
||||
|
||||
27
.github/workflows/core13-pure.yml
vendored
Normal file
27
.github/workflows/core13-pure.yml
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
name: Core-13 Pure CI
|
||||
|
||||
on:
|
||||
push:
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
test-core13-pure:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
|
||||
- name: Install Rust (stable)
|
||||
uses: dtolnay/rust-toolchain@stable
|
||||
|
||||
- name: Cache cargo
|
||||
uses: Swatinem/rust-cache@v2
|
||||
|
||||
- name: Build (release)
|
||||
run: cargo build --release
|
||||
|
||||
- name: Run tests with Core-13 pure mode
|
||||
env:
|
||||
NYASH_MIR_CORE13_PURE: "1"
|
||||
run: cargo test --all-targets --no-fail-fast
|
||||
|
||||
54
.github/workflows/selfhost-minimal.yml
vendored
Normal file
54
.github/workflows/selfhost-minimal.yml
vendored
Normal file
@ -0,0 +1,54 @@
|
||||
name: Selfhost Minimal Smoke
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ selfhosting-dev ]
|
||||
paths:
|
||||
- 'apps/selfhost-minimal/**'
|
||||
- 'src/**'
|
||||
- 'tools/**'
|
||||
- 'Cargo.toml'
|
||||
- 'Cargo.lock'
|
||||
- '.github/workflows/selfhost-minimal.yml'
|
||||
- 'docs/**'
|
||||
pull_request:
|
||||
branches: [ selfhosting-dev ]
|
||||
paths:
|
||||
- 'apps/selfhost-minimal/**'
|
||||
- 'src/**'
|
||||
- 'tools/**'
|
||||
- 'Cargo.toml'
|
||||
- 'Cargo.lock'
|
||||
- 'docs/**'
|
||||
|
||||
jobs:
|
||||
selfhost-minimal:
|
||||
runs-on: ubuntu-latest
|
||||
timeout-minutes: 10
|
||||
env:
|
||||
CARGO_TERM_COLOR: always
|
||||
NYASH_DISABLE_PLUGINS: '1'
|
||||
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: Build (release, cranelift-jit)
|
||||
run: cargo build --release --features cranelift-jit
|
||||
|
||||
- name: Run selfhost-minimal smoke
|
||||
run: bash tools/selfhost_vm_smoke.sh
|
||||
|
||||
Reference in New Issue
Block a user