Files
icarus_meta/.gitea/workflows/workflow.yml

156 lines
5.0 KiB
YAML

name: Rust Build
on:
push:
branches:
- main
- devel
pull_request:
branches:
- main
- devel
jobs:
install_dependencies:
# runs-on: ubuntu-latest # Or similar Debian/Ubuntu based runner
runs-on: ubuntu-24.04
container: rust:1.86.0 # Example using the official Rust image (Debian based)
steps:
- name: Install FFmpeg development libraries
run: |
check:
name: Check
runs-on: ubuntu-24.04
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.86.0
- run: |
echo "Installing ffmpeg dev libraries"
apt-get update -y
apt-get install -y --no-install-recommends \
libavutil-dev \
libavformat-dev \
libavcodec-dev \
libswscale-dev \
# Add other ffmpeg dev packages if needed by your specific crate
rm -rf /var/lib/apt/lists/* # Clean up
mkdir -p ~/.ssh
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key
chmod 600 ~/.ssh/gitlab_deploy_key
ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts
eval $(ssh-agent -s)
ssh-add -v ~/.ssh/gitlab_deploy_key
cargo check
test:
name: Test Suite
runs-on: ubuntu-24.04
needs: setup_ssh
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.86.0
- run: |
echo "Installing ffmpeg dev libraries"
apt-get update -y
apt-get install -y --no-install-recommends \
libavutil-dev \
libavformat-dev \
libavcodec-dev \
libswscale-dev \
# Add other ffmpeg dev packages if needed by your specific crate
rm -rf /var/lib/apt/lists/* # Clean up
mkdir -p ~/.ssh
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key
chmod 600 ~/.ssh/gitlab_deploy_key
ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts
eval $(ssh-agent -s)
ssh-add -v ~/.ssh/gitlab_deploy_key
cargo test
fmt:
name: Rustfmt
runs-on: ubuntu-24.04
needs: setup_ssh
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.86.0
- run: rustup component add rustfmt
- run: |
echo "Installing ffmpeg dev libraries"
apt-get update -y
apt-get install -y --no-install-recommends \
libavutil-dev \
libavformat-dev \
libavcodec-dev \
libswscale-dev \
# Add other ffmpeg dev packages if needed by your specific crate
rm -rf /var/lib/apt/lists/* # Clean up
mkdir -p ~/.ssh
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key
chmod 600 ~/.ssh/gitlab_deploy_key
ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts
eval $(ssh-agent -s)
ssh-add -v ~/.ssh/gitlab_deploy_key
cargo fmt --all -- --check
clippy:
name: Clippy
runs-on: ubuntu-24.04
needs: setup_ssh
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.86.0
- run: rustup component add clippy
- run: |
echo "Installing ffmpeg dev libraries"
apt-get update -y
apt-get install -y --no-install-recommends \
libavutil-dev \
libavformat-dev \
libavcodec-dev \
libswscale-dev \
# Add other ffmpeg dev packages if needed by your specific crate
rm -rf /var/lib/apt/lists/* # Clean up
mkdir -p ~/.ssh
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key
chmod 600 ~/.ssh/gitlab_deploy_key
ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts
eval $(ssh-agent -s)
ssh-add -v ~/.ssh/gitlab_deploy_key
cargo clippy -- -D warnings
build:
name: build
runs-on: ubuntu-24.04
needs: setup_ssh
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: 1.86.0
- run: |
echo "Installing ffmpeg dev libraries"
apt-get update -y
apt-get install -y --no-install-recommends \
libavutil-dev \
libavformat-dev \
libavcodec-dev \
libswscale-dev \
# Add other ffmpeg dev packages if needed by your specific crate
rm -rf /var/lib/apt/lists/* # Clean up
mkdir -p ~/.ssh
echo "${{ secrets.MYREPO_TOKEN }}" > ~/.ssh/gitlab_deploy_key
chmod 600 ~/.ssh/gitlab_deploy_key
ssh-keyscan ${{ vars.MYHOST }} >> ~/.ssh/known_hosts
eval $(ssh-agent -s)
ssh-add -v ~/.ssh/gitlab_deploy_key
cargo build --release