Download .github/workflows/ci.yml from krystv/pluginengine01: direct link, hf CLI and curl.
- Browser
- Download file 2.39 kB
-
https://huggingface.co/krystv/pluginengine01/resolve/main/.github/workflows/ci.yml
- Command line
-
hf download hf://krystv/pluginengine01/.github/workflows/ci.yml
-
curl -L -o ci.yml https://huggingface.co/krystv/pluginengine01/resolve/main/.github/workflows/ci.yml
2.39 kB
| name: BEX Engine CI | |
| on: | |
| push: | |
| branches: [main] | |
| pull_request: | |
| branches: [main] | |
| env: | |
| CARGO_TERM_COLOR: always | |
| jobs: | |
| build-and-test: | |
| runs-on: ubuntu-22.04 | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Install Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| targets: wasm32-wasip1 | |
| - name: Install wasm-tools | |
| run: cargo install wasm-tools-cli --locked | |
| - name: Cache cargo registry | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| - name: Build engine | |
| run: cargo build --release | |
| - name: Run unit tests | |
| run: cargo test --workspace --exclude bex-gogoanime --exclude bex-kaianime --exclude bex-hianime --exclude bex-imdb --exclude bex-kisskh --exclude bex-yts --exclude bex-yflix | |
| - name: Build WASM plugins | |
| run: | | |
| cargo build --target wasm32-wasip1 --release \ | |
| -p bex-gogoanime -p bex-kaianime -p bex-hianime \ | |
| -p bex-imdb -p bex-kisskh -p bex-yts -p bex-yflix | |
| - name: Pack plugins | |
| run: bash build-plugins.sh || true | |
| - name: E2E test | |
| run: | | |
| chmod +x dist/bex 2>/dev/null || true | |
| chmod +x target/release/bex 2>/dev/null || true | |
| BEX="./target/release/bex" | |
| DATA_DIR="/tmp/bex-ci" | |
| rm -rf "$DATA_DIR" && mkdir -p "$DATA_DIR" | |
| # Install plugins | |
| for bex in dist/*.bex; do | |
| [ -f "$bex" ] && $BEX --data-dir "$DATA_DIR" install "$bex" && echo "Installed: $bex" | |
| done | |
| # List plugins | |
| $BEX --data-dir "$DATA_DIR" list | |
| # Stats | |
| $BEX --data-dir "$DATA_DIR" stats | |
| - name: Check GLIBC requirements | |
| run: | | |
| echo "GLIBC versions required by bex binary:" | |
| objdump -T target/release/bex | grep GLIBC_ | sed 's/.*GLIBC_/GLIBC_/' | sort -Vu | |
| echo "" | |
| echo "System GLIBC:" | |
| ldd --version | head -1 | |
| - name: Upload artifacts | |
| uses: actions/upload-artifact@v4 | |
| with: | |
| name: bex-linux-x64 | |
| path: | | |
| target/release/bex | |
| target/release/libbex_runtime.so | |
| target/release/libbex_runtime.a | |
| dist/*.bex | |