Skip to content

Small optimizations #96

Small optimizations

Small optimizations #96

Workflow file for this run

name: Rust
on:
push:
branches: [ "master" ]
pull_request:
branches: [ "master" ]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: awalsh128/cache-apt-pkgs-action@latest
with:
packages: ninja-build lld libssl-dev qemu-system-x86
version: 1.0
- name: Restore rust compiler artifacts
id: restore-rust-artifacts
uses: actions/cache/restore@v3
with:
path: bin/src/rust-1.73.0-patched
key: ${{ runner.os }}-rust-${{ hashFiles('patch/rust.diff') }}
# Build rust compiler if cache miss
# After building, remove all unnecessary files to reduce the cache size
- name: Build rust compiler
if: steps.restore-rust-artifacts.outputs.cache-hit != 'true'
run: |
chmod +x ./scripts/*
./scripts/first_build.sh
rm -rf bin/src/rust-1.73.0/src
rm -rf bin/src/rust-1.73.0/tests
rm -rf bin/src/rust-1.73.0/build
rm -rf bin/src/rust-1.73.0/target
rm -rf bin/src/rust-1.73.0/library
rm -rf bin/src/rust-1.73.0/compiler
- name: Save rust compiler artifacts
if: steps.restore-rust-artifacts.outputs.cache-hit != 'true'
id: save-rust-artifacts
uses: actions/cache/save@v3
with:
path: bin/src/rust-1.73.0-patched
key: ${{ runner.os }}-rust-${{ hashFiles('patch/rust.diff') }}
- name: Add x86_64-unknown-helium target
if: steps.restore-rust-artifacts.outputs.cache-hit != 'false'
run: ./scripts/add_user_toolchain.sh
- name: Build kernel and userland
run: make build
- name: Virtualized integration tests
run: make run-test