+++ /dev/null
-name: Rust
-
-on:
- push:
- branches: [ "main" ]
- pull_request:
- branches: [ "main" ]
-
-env:
- CARGO_TERM_COLOR: always
-
-jobs:
- build:
-
- runs-on: ubuntu-24.04
-
- steps:
- - name: install_dependencies
- run: |
- sudo apt-get update
- sudo apt-get install libsdl2-dev clang llvm glslang-tools
- - name: install_rustup
- run: |
- : install rustup if needed
- if ! command -v rustup &> /dev/null ; then
- curl --proto '=https' --tlsv1.2 --retry 10 --retry-connrefused -fsSL "https://sh.rustup.rs" | sh -s -- --default-toolchain none -y
- echo "${CARGO_HOME:-$HOME/.cargo}/bin" >> $GITHUB_PATH
- fi
- shell: bash
- if: runner.os != 'Windows'
-
- - name: update_rust
- run: |
- rustup update
-
- - name: setup_rust
- run: |
- : disable incremental compilation
- echo CARGO_INCREMENTAL=0 >> $GITHUB_ENV
- : enable colors in Cargo output
- echo CARGO_TERM_COLOR=always >> $GITHUB_ENV
- shell: bash
-
- - name: install_mold
- run: |
- version=$(wget -q -O- https://api.github.com/repos/rui314/mold/releases/latest | jq -r .tag_name | sed 's/^v//'); true
- echo "mold $version"
- wget -q -O- https://github.com/rui314/mold/releases/download/v$version/mold-$version-$(uname -m)-linux.tar.gz | sudo tar -C /usr/ --strip-components=1 -xzf -
- shell: bash
- if: runner.os == 'linux'
-
- - uses: actions/checkout@v4
- - name: Build
- run: cargo build --verbose
- - name: Run tests
- run: cargo test --verbose