Skip to content

Merge pull request #295 from cea-sec/dependabot/cargo/vsock-0.5.0 #658

Merge pull request #295 from cea-sec/dependabot/cargo/vsock-0.5.0

Merge pull request #295 from cea-sec/dependabot/cargo/vsock-0.5.0 #658

Workflow file for this run

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