Download .github/workflows/build.yml from Snapkitty/sov-kernel-monster: direct link, hf CLI and curl.
- Browser
- Download file 3.54 kB
-
https://huggingface.co/Snapkitty/sov-kernel-monster/resolve/main/.github/workflows/build.yml
- Command line
-
hf download hf://Snapkitty/sov-kernel-monster/.github/workflows/build.yml
-
curl -L -o build.yml https://huggingface.co/Snapkitty/sov-kernel-monster/resolve/main/.github/workflows/build.yml
3.54 kB
| name: Build All Languages | |
| on: | |
| push: | |
| pull_request: | |
| jobs: | |
| build: | |
| name: Build | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 60 | |
| env: | |
| # Cache paths | |
| CARGO_HOME: ${{ github.workspace }}/.cargo | |
| RUSTUP_HOME: ${{ github.workspace }}/.rustup | |
| JULIA_DEPOT_PATH: ${{ github.workspace }}/.julia | |
| R_LIBS_USER: ${{ github.workspace }}/.Rpackages | |
| steps: | |
| - name: Checkout repository | |
| uses: actions/checkout@v4 | |
| with: | |
| submodules: recursive | |
| - name: Install system dependencies (gfortran, cmake, etc.) | |
| run: | | |
| sudo apt-get update | |
| sudo apt-get install -y gfortran cmake libssl-dev pkg-config | |
| - name: Setup Rust | |
| uses: dtolnay/rust-toolchain@stable | |
| with: | |
| toolchain: stable | |
| components: rustfmt, clippy | |
| - name: Cache Cargo registry | |
| uses: actions/cache@v4 | |
| with: | |
| path: | | |
| ~/.cargo/registry | |
| ~/.cargo/git | |
| target | |
| key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }} | |
| restore-keys: | | |
| ${{ runner.os }}-cargo- | |
| - name: Setup Julia | |
| uses: julia-actions/setup-julia@v1 | |
| with: | |
| version: '1.10' | |
| arch: x64 | |
| - name: Cache Julia depot | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ env.JULIA_DEPOT_PATH }} | |
| key: ${{ runner.os }}-julia-${{ hashFiles('**/Project.toml', '**/Manifest.toml') }} | |
| restore-keys: | | |
| ${{ runner.os }}-julia- | |
| - name: Setup Elixir (and Erlang) | |
| uses: erlef/setup-beam@v1 | |
| with: | |
| elixir-version: '1.16' | |
| otp-version: '26.2' | |
| - name: Setup R | |
| uses: r-lib/actions/setup-r@v2 | |
| with: | |
| r-version: 'release' | |
| use-public-rspm: true | |
| - name: Cache R packages | |
| uses: actions/cache@v4 | |
| with: | |
| path: ${{ env.R_LIBS_USER }} | |
| key: ${{ runner.os }}-r-${{ hashFiles('**/DESCRIPTION') }} | |
| restore-keys: | | |
| ${{ runner.os }}-r- | |
| - name: Install Lake via Elan (Lean 4) | |
| run: | | |
| curl https://raw.githubusercontent.com/leanprover/elan/master/elan-init.sh -sSf | sh -s -- -y | |
| echo "$HOME/.elan/bin" >> $GITHUB_PATH | |
| elan component add lake | |
| - name: Setup Go | |
| uses: actions/setup-go@v5 | |
| with: | |
| go-version: '1.22' | |
| cache: true | |
| - name: CMake Build (C/C++/Fortran) | |
| run: | | |
| cmake -B build -S . -DCMAKE_BUILD_TYPE=Release | |
| cmake --build build --config Release --parallel $(nproc) | |
| - name: Cargo Build (Rust) | |
| run: cargo build --release --workspace --all-targets | |
| - name: FPM Test (Fortran) | |
| run: | | |
| if command -v fpm &> /dev/null; then | |
| fpm test --profile release | |
| else | |
| echo "fpm not found, skipping Fortran tests." | |
| echo "Install fpm via: curl -fsSL https://fpm.fortran-lang.org/install.sh | bash" | |
| fi | |
| - name: Julia Test | |
| run: | | |
| julia --project -e 'using Pkg; Pkg.test()' | |
| - name: Mix Test (Elixir) | |
| run: | | |
| mix deps.get | |
| mix test | |
| - name: R CMD Check | |
| uses: r-lib/actions/check-r-package@v2 | |
| with: | |
| upload-snapshots: true | |
| - name: Lake Build (Lean 4) | |
| run: lake build |