Skip to content

Add CI configuration #37

Add CI configuration

Add CI configuration #37

Workflow file for this run

name: Rust
on:
push:
branches: [master]
pull_request:
workflow_dispatch:
merge_group:
types: [checks_requested]
env:
RUST_BACKTRACE: 1
SHELL: /bin/bash
CARGO_INCREMENTAL: 0
jobs:
mac:
runs-on: macos-13
strategy:
fail-fast: false
matrix:
features: ["--features debugmozjs", ""]
env:
RUSTC_WRAPPER: sccache
CCACHE: sccache
SCCACHE_GHA_ENABLED: "true"
steps:
- uses: actions/checkout@v3
- name: Install deps
run: brew install python llvm yasm
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.3
- name: Build
run: |
cargo build --verbose ${{ matrix.features }}
cargo test --verbose ${{ matrix.features }}
linux:
env:
RUSTC_WRAPPER: "sccache"
CCACHE: sccache
SCCACHE_GHA_ENABLED: "true"
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
features: ["--features debugmozjs", ""]
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
- name: Install deps
run: |
sudo apt install llvm -y
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.3
- name: Build
run: |
cargo build --verbose ${{ matrix.features }}
cargo test --verbose ${{ matrix.features }}
windows:
runs-on: windows-latest
strategy:
fail-fast: false
matrix:
features: ["--features debugmozjs", ""]
target: ["x86_64-pc-windows-msvc", "aarch64-pc-windows-msvc"]
env:
LINKER: "lld-link.exe"
CC: "clang-cl"
CXX: "clang-cl"
MOZTOOLS_PATH: "${{ github.workspace }}\\target\\dependencies\\moztools-4.0"
CCACHE: sccache
SCCACHE_GHA_ENABLED: "true"
steps:
- uses: actions/checkout@v3
- uses: dtolnay/rust-toolchain@stable
with:
targets: ${{ matrix.target }}
- name: Install deps
run: |
curl -SL "https://github.com/servo/servo-build-deps/releases/download/msvc-deps/moztools-4.0.zip" --create-dirs -o target/dependencies/moztools.zip
cd target/dependencies && unzip -qo moztools.zip -d .
- name: Run sccache-cache
uses: mozilla-actions/sccache-action@v0.0.3
- name: Build Windows
shell: cmd
run: |
cargo build --verbose --target ${{ matrix.target }} ${{ matrix.features }}
- name: Test Windows
if: ${{ !contains(matrix.target, 'aarch64') }}
shell: cmd
run: |
cargo test --verbose --target ${{ matrix.target }} ${{ matrix.features }}
build_result:
name: Result
runs-on: ubuntu-latest
needs:
["android", "linux", "linux-cross-compile", "mac", "windows", "integrity"]

Check failure on line 98 in .github/workflows/rust.yml

View workflow run for this annotation

GitHub Actions / Rust

Invalid workflow file

The workflow is not valid. .github/workflows/rust.yml (Line: 98, Col: 8): Job 'build_result' depends on unknown job 'android'. .github/workflows/rust.yml (Line: 98, Col: 28): Job 'build_result' depends on unknown job 'linux-cross-compile'.
if: ${{ always() }}
steps:
- name: Mark the job as successful
if: ${{ !contains(needs.*.result, 'failure') && !contains(needs.*.result, 'cancelled') }}
run: exit 0
- name: Mark the job as unsuccessful
if: ${{ contains(needs.*.result, 'failure') || contains(needs.*.result, 'cancelled') }}
run: exit 1