Skip to content

Bump syn from 2.0.87 to 2.0.89 (#34) #1455

Bump syn from 2.0.87 to 2.0.89 (#34)

Bump syn from 2.0.87 to 2.0.89 (#34) #1455

Workflow file for this run

name: Rust
on:
push:
pull_request:
workflow_dispatch:
schedule:
- cron: 0 5,17 * * *
env:
CARGO_TERM_COLOR: always
jobs:
lint:
if: false
name: "Lint"
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
!target/release/build/devos-*
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install latest nightly
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
components: rustfmt, clippy, llvm-tools-preview, rust-src
- name: Add build target
run: |
rustup target add x86_64-unknown-none
- name: Install e2fsprogs
run: |
sudo apt update
sudo apt install -y e2fsprogs
- name: Clippy
run: |
cargo clippy -- -D warnings
test:
name: "Test"
runs-on: ubuntu-latest
strategy:
matrix:
strategy: [ debug, release ]
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
!target/release/build/devos-*
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install latest nightly
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
components: rustfmt, clippy, llvm-tools-preview, rust-src
- name: Add build target
run: |
rustup target add x86_64-unknown-none
- name: Install e2fsprogs and qemu
run: |
sudo apt update
sudo apt install -y e2fsprogs qemu-system
- name: Test
run: |
cargo test $(if [[ "${{ matrix.strategy }}" == "release" ]]; then echo "--release"; fi)
miri:
name: "Miri"
runs-on: ubuntu-latest
strategy:
matrix:
package: [ foundation, netstack ]
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
!target/release/build/devos-*
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install latest nightly
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
components: rustfmt, clippy, llvm-tools-preview, rust-src, miri
- name: Miri Setup
run: |
cargo miri setup
- name: Miri
run: |
cargo miri test -p ${{ matrix.package }} --many-seeds=0..16
build:
name: "Build and upload artifacts"
runs-on: ubuntu-latest
needs:
- test
- miri
steps:
- uses: actions/checkout@v4
- uses: actions/cache@v4
with:
path: |
~/.cargo/bin/
~/.cargo/registry/index/
~/.cargo/registry/cache/
~/.cargo/git/db/
target/
!target/release/build/devos-*
key: ${{ runner.os }}-cargo-${{ hashFiles('**/Cargo.lock') }}
- name: Install latest nightly
uses: actions-rs/toolchain@v1
with:
toolchain: nightly
override: true
components: rustfmt, clippy, llvm-tools-preview, rust-src
- name: Add build target
run: |
rustup target add x86_64-unknown-none
- name: Install e2fsprogs
run: |
sudo apt update
sudo apt install -y e2fsprogs
- name: Build
run: |
cargo build --release
- uses: actions/upload-artifact@v3
with:
name: devos-boot-images
path: |
target/release/build/**/out/os_disk.img
target/release/build/**/out/uefi.img