Small UI fixes #15
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: | |
push: | |
jobs: | |
# Won't work because pkg-config can't find hidapi. | |
# I changed build.rs to search for 'hidapi-libusb', which is how it's installed | |
# on Ubuntu. But that still can't find it. | |
# freebsd-cross-build: | |
# name: Cross-Build for FreeBSD | |
# runs-on: 'ubuntu-22.04' | |
# env: | |
# CARGO_NET_GIT_FETCH_WITH_CLI: true | |
# steps: | |
# - uses: actions/checkout@v3 | |
# - uses: webfactory/ssh-agent@v0.7.0 | |
# with: | |
# ssh-private-key: | | |
# ${{ secrets.PRIVKEY_SMBIOS_LIB }} | |
# - name: Install dependencies | |
# run: | | |
# sudo apt-get update | |
# sudo apt-get install -y libudev-dev libhidapi-dev | |
# - name: Setup Rust toolchain | |
# run: rustup show | |
# - name: Install cross compilation tool | |
# run: cargo install cross | |
# - name: Build FreeBSD tool | |
# run: cross build --target=x86_64-unknown-freebsd --no-default-features --features unix | |
# - name: Upload FreeBSD App | |
# uses: actions/upload-artifact@v3 | |
# with: | |
# name: framework_tool_freebsd | |
# path: target/x86_64-unknown-freebsd/debug/framework_tool | |
build: | |
name: Build Linux and UEFI | |
runs-on: ubuntu-22.04 | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: true | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: webfactory/ssh-agent@v0.7.0 | |
with: | |
ssh-private-key: | | |
${{ secrets.PRIVKEY_SMBIOS_LIB }} | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libudev-dev | |
- name: Setup Rust toolchain | |
run: rustup show | |
- name: Build library (Linux) | |
run: cargo build -p framework_lib | |
- name: Build Linux tool | |
run: cargo build -p framework_tool | |
- name: Check if Linux tool can start | |
run: cargo run -- --help | |
- name: Upload Linux App | |
uses: actions/upload-artifact@v3 | |
with: | |
name: framework_tool | |
path: target/debug/framework_tool | |
- name: Build UEFI application (no ESP) | |
run: make -C framework_uefi build/x86_64-unknown-uefi/boot.efi | |
- name: Upload UEFI App | |
uses: actions/upload-artifact@v3 | |
with: | |
name: framework.efi | |
path: framework_uefi/build/x86_64-unknown-uefi/boot.efi | |
- name: Install mtools to build ESP (Linux) | |
run: sudo apt-get install -y mtools | |
- name: Build ESP (Linux) | |
run: make -C framework_uefi | |
build-windows: | |
name: Build Windows | |
runs-on: windows-2022 | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: true | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: webfactory/ssh-agent@v0.7.0 | |
with: | |
ssh-private-key: | | |
${{ secrets.PRIVKEY_SMBIOS_LIB }} | |
- name: Setup Rust toolchain | |
run: rustup show | |
- name: Build library (Windows) | |
run: cargo build -p framework_lib --no-default-features --features "windows" | |
- name: Build Windows tool | |
run: cargo build -p framework_tool --no-default-features --features "windows" | |
- name: Check if Windows tool can start | |
run: cargo run --no-default-features --features "windows" -- --help | |
- name: Upload Windows App | |
uses: actions/upload-artifact@v3 | |
with: | |
name: framework_tool.exe | |
path: target/debug/framework_tool.exe | |
test: | |
name: Test Suite | |
runs-on: ubuntu-latest | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: true | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v3 | |
- uses: webfactory/ssh-agent@v0.7.0 | |
with: | |
ssh-private-key: | | |
${{ secrets.PRIVKEY_SMBIOS_LIB }} | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libudev-dev | |
- name: Setup Rust toolchain | |
run: rustup show | |
- name: Run cargo test | |
run: cargo test -p framework_lib | |
lints: | |
name: Lints | |
runs-on: ubuntu-22.04 | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: true | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: webfactory/ssh-agent@v0.7.0 | |
with: | |
ssh-private-key: | | |
${{ secrets.PRIVKEY_SMBIOS_LIB }} | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libudev-dev | |
- name: Setup Rust toolchain | |
run: rustup show | |
- name: Run cargo fmt | |
run: cargo fmt --all -- --check | |
- name: Run cargo clippy | |
run: cargo clippy -p framework_lib -p framework_tool -- -D warnings | |
# Just make sure doc generation works | |
doc: | |
name: Generate docs | |
runs-on: ubuntu-22.04 | |
env: | |
CARGO_NET_GIT_FETCH_WITH_CLI: true | |
# Fail if warnings are produced | |
RUSTDOCFLAGS: -Dwarnings | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: webfactory/ssh-agent@v0.7.0 | |
with: | |
ssh-private-key: | | |
${{ secrets.PRIVKEY_SMBIOS_LIB }} | |
- name: Install dependencies | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y libudev-dev | |
- name: Setup Rust toolchain | |
run: rustup show | |
- name: Run cargo doc | |
run: cargo doc |