Merge pull request #295 from cea-sec/dependabot/cargo/vsock-0.5.0 #658
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: Build & test | |
on: | |
push: | |
branches: [ main ] | |
pull_request: | |
branches: [ main ] | |
env: | |
CARGO_TERM_COLOR: always | |
jobs: | |
build-and-test: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
# Dependency list: build/Dockerfile-debian | |
- name: Install dependencies | |
run: | | |
sudo apt-get update && \ | |
sudo apt-get install -y --no-install-recommends \ | |
libasound2-dev \ | |
ffmpeg \ | |
protobuf-compiler \ | |
libavutil-dev \ | |
libclang-dev \ | |
libkrb5-dev \ | |
libx264-dev \ | |
libx264-dev \ | |
libxcb-render0-dev \ | |
libxcb-shape0-dev \ | |
libxcb-xfixes0-dev \ | |
libxdamage-dev \ | |
libxext-dev \ | |
x264 \ | |
xcb \ | |
libavformat-dev \ | |
libavfilter-dev \ | |
libavdevice-dev \ | |
dpkg-dev \ | |
libpam0g-dev \ | |
libdbus-1-dev | |
- name: Build | |
env: | |
RUSTFLAGS: -D warnings | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --release --all --verbose --all-features | |
- name: Run tests | |
run: cargo test --all --release --verbose --all-features | |
# Upload resulting artifacts: | |
# sanzu_broker, sanzu_client, sanzu_proxy, sanzu_server | |
- name: Upload resulting 'sanzu_broker' | |
uses: actions/upload-artifact@v1 | |
with: | |
name: sanzu_broker | |
path: ./target/release/sanzu_broker | |
- name: Upload resulting 'sanzu_client' | |
uses: actions/upload-artifact@v1 | |
with: | |
name: sanzu_client | |
path: ./target/release/sanzu_client | |
- name: Upload resulting 'sanzu_proxy' | |
uses: actions/upload-artifact@v1 | |
with: | |
name: sanzu_proxy | |
path: ./target/release/sanzu_proxy | |
- name: Upload resulting 'sanzu_server' | |
uses: actions/upload-artifact@v1 | |
with: | |
name: sanzu_server | |
path: ./target/release/sanzu_server | |
build-windows: | |
runs-on: windows-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
- name: dl full ffmpeg binaries | |
run: | | |
curl -L -o ffmpeg.zip https://github.com/BtbN/FFmpeg-Builds/releases/download/latest/ffmpeg-n6.1-latest-win64-gpl-shared-6.1.zip | |
- name: dl full ffmpeg binaries | |
run: | | |
unzip -qq ffmpeg.zip -d ffmpeg | |
- name: cp files | |
run: | | |
cp ffmpeg\ffmpeg-n6.1-latest-win64-gpl-shared-6.1\bin\* . | |
- name: install cargo wix | |
run: | | |
cargo install --git https://github.com/volks73/cargo-wix --tag 0.3.4 cargo-wix | |
- name: prepare vcpkg | |
run: | | |
vcpkg integrate install | |
- name: install ffmpeg | |
run: | | |
vcpkg install ffmpeg[gpl,x264]:x64-windows | |
- name: install protoc | |
uses: arduino/setup-protoc@v1 | |
- name: Build | |
env: | |
RUSTFLAGS: -D warnings | |
uses: actions-rs/cargo@v1 | |
with: | |
command: build | |
args: --release --verbose -p sanzu --no-default-features | |
- name: run cargo wix | |
run: | | |
cargo wix --nocapture --package=sanzu | |
- name: Upload resulting 'sanzu_client.exe' | |
uses: actions/upload-artifact@v1 | |
with: | |
name: sanzu_client.exe | |
path: ./target/release/sanzu_client.exe | |
- name: Upload resulting 'sanzu_server.exe' | |
uses: actions/upload-artifact@v1 | |
with: | |
name: sanzu_server.exe | |
path: ./target/release/sanzu_server.exe | |
- name: Upload resulting sanzu msi | |
uses: actions/upload-artifact@v3 | |
with: | |
name: sanzu_msi | |
path: ./target/wix/*.msi | |
docker-alpine: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
components: rustfmt | |
- name: build | |
run: cargo clean && cd build && make alpine | |
- name: Upload resulting 'alpine bins' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: bins_alpine | |
path: ./target/release/sanzu_client | |
docker-alma8: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
components: rustfmt | |
- name: build | |
run: cargo clean && cd build && make almalinux8 | |
- name: Upload resulting 'alma8 pkg' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: pkg_alma8 | |
path: ./target/generate-rpm/* | |
docker-alma9: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
components: rustfmt | |
- name: build | |
run: cargo clean && cd build && make almalinux9 | |
- name: Upload resulting 'alma9 pkg' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: pkg_alma9 | |
path: ./target/generate-rpm/* | |
docker-windows: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
components: rustfmt | |
- name: build | |
run: cargo clean && cd build && make windows | |
docker-debian: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
components: rustfmt | |
- name: build | |
run: cargo clean && cd build && make debian | |
- name: Upload resulting 'debian pkg' | |
uses: actions/upload-artifact@v3 | |
with: | |
name: pkg_debian | |
path: ./target/debian/* | |
fmt: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
components: rustfmt | |
- name: Check format | |
run: cargo fmt --all -- --check | |
audit: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- name: Security audit | |
uses: actions-rs/audit-check@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
clippy: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: actions-rs/toolchain@v1 | |
with: | |
toolchain: stable | |
components: clippy | |
# Dependency list: build/Dockerfile-debian | |
- name: Install dependencies | |
run: | | |
sudo apt-get update && \ | |
sudo apt-get install -y --no-install-recommends \ | |
libasound2-dev \ | |
ffmpeg \ | |
protobuf-compiler \ | |
libavutil-dev \ | |
libclang-dev \ | |
libkrb5-dev \ | |
libx264-dev \ | |
libx264-dev \ | |
libxcb-render0-dev \ | |
libxcb-shape0-dev \ | |
libxcb-xfixes0-dev \ | |
libxdamage-dev \ | |
libxext-dev \ | |
x264 \ | |
xcb \ | |
libavformat-dev \ | |
libavfilter-dev \ | |
libavdevice-dev \ | |
dpkg-dev \ | |
libpam0g-dev \ | |
libdbus-1-dev | |
- uses: actions-rs/cargo@v1 | |
with: | |
command: clippy | |
args: -- -D warnings |