name: Build on: push: branches: - master jobs: build: runs-on: ubuntu-latest env: RUSTFLAGS: -C linker=clang -C link-arg=-fuse-ld=mold strategy: fail-fast: false matrix: rust-version: [stable, nightly, 1.88.0] steps: - uses: hecrj/setup-rust-action@v2 with: rust-version: ${{ matrix.rust-version }} - uses: actions/checkout@master - name: Install dependencies run: | export DEBIAN_FRONTED=noninteractive sudo apt-get -qq update sudo apt-get install -y libxkbcommon-dev clang mold - uses: actions/cache@v4 if: matrix.rust-version != 'nightly' with: path: | ~/.cargo/bin/ ~/.cargo/registry/index/ ~/.cargo/registry/cache/ ~/.cargo/git/db/ target/ key: ${{ runner.os }}-build-${{ matrix.rust-version }}-${{ hashFiles('**/Cargo.lock') }} - name: Build iced-builder binary run: cargo build --verbose --profile release-opt - name: Archive iced-builder binary if: matrix.rust-version == 'stable' uses: actions/upload-artifact@v4 with: name: iced-builder-x86_64-unknown-linux-gnu path: target/release-opt/iced-builder