Skip to content

Test

Test #800

Workflow file for this run

name: Test
on:
push:
branches: [main]
pull_request:
release:
types: [published]
schedule:
- cron: '25 3 * * *'
env:
CARGO_TERM_COLOR: always
jobs:
build-test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ github.event.schedule && 'nightly' || 'stable' }}
- name: Build
run: cargo build --verbose
- name: Run tests
run: cargo test --verbose
build-debian:
strategy:
matrix:
debian-version: [11, 12]
runs-on: ubuntu-latest
container: debian:${{ matrix.debian-version }}
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
apt-get update
apt-get -y install build-essential dpkg-dev ca-certificates sudo curl
apt-get -y build-dep .
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ github.event.schedule && 'nightly' || 'stable' }}
- name: Build
run: cargo build --verbose
clippy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ github.event.schedule && 'nightly' || 'stable' }}
- run: rustup component add clippy
- name: rust-clippy-check
uses: actions-rs/clippy-check@v1
with:
token: ${{ secrets.GITHUB_TOKEN }}
build-debian-package:
runs-on: ubuntu-latest
container: debian:11
steps:
- uses: actions/checkout@v4
with:
path: clone
- name: Install dependencies
run: |
apt-get update
apt-get install -y build-essential dpkg-dev ca-certificates sudo curl
cd clone
apt-get build-dep -y .
- uses: actions-rust-lang/setup-rust-toolchain@v1
with:
toolchain: ${{ github.event.schedule && 'nightly' || 'stable' }}
- name: Build package
run: |
debian/rules vendor
dpkg-buildpackage --no-sign
working-directory: clone
- uses: actions/upload-artifact@v3
with:
name: deb-package
path: |
./*
!./clone/**
run-ci-ubuntu-latest:
runs-on: ubuntu-latest
needs: [build-debian-package]
steps:
- uses: actions/checkout@v4
- uses: actions/download-artifact@v3
with:
name: deb-package
- name: CI
run: ci/test.sh
env:
HAVE_SYSTEMD: "1"
run-ci-debian:
strategy:
matrix:
debian-version: [11, 12]
runs-on: ubuntu-latest
container: debian:${{ matrix.debian-version }}
needs: [build-debian-package]
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
apt-get update
apt-get -y install build-essential
- uses: actions/download-artifact@v3
with:
name: deb-package
- name: CI
run: ci/test.sh
env:
HAVE_SYSTEMD: "0"
create-release:
runs-on: ubuntu-latest
needs: [run-ci-ubuntu-latest, run-ci-debian]
if: github.event.release
steps:
- uses: actions/download-artifact@v3
with:
name: deb-package
- uses: softprops/action-gh-release@v2
with:
files: "*"
tag_name: ${{ github.event.release.tag_name }}