Skip to content

ci(actions): ⏪️ revert to Ubuntu to build .deb package #7

ci(actions): ⏪️ revert to Ubuntu to build .deb package

ci(actions): ⏪️ revert to Ubuntu to build .deb package #7

Workflow file for this run

name: building
on:
push:
branches: ["main"]
pull_request:
branches: ["main"]
env:
CARGO_TERM_COLOR: always
jobs:
build:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install -y wget clang
- name: Setup Rust toolchain
uses: moonrepo/setup-rust@v1
with:
channel: stable
bins: cargo-hack, cargo-deny
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Setup mold
uses: rui314/setup-mold@v1
- name: Setup buf
uses: bufbuild/buf-setup-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup protoc
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup sccache
uses: mozilla-actions/[email protected]
- name: Enable sccache
run: |
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
- name: Lint protobuf files
uses: bufbuild/buf-lint-action@v1
- name: Run clippy lint
run: cargo hack clippy --all-targets --each-feature --workspace
- name: Run tests
run: cargo hack test --all-targets --each-feature --verbose --workspace
- name: Check for MSRV compliance
run: cargo hack check --rust-version --all-targets --each-feature --workspace
- name: Check dependency graph
run: cargo deny --all-features --workspace check
pkg-deb:
runs-on: ubuntu-20.04
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo apt-get update
sudo apt-get install -y wget lintian clang
- name: Setup Rust toolchain
uses: moonrepo/setup-rust@v1
with:
channel: stable
bins: cargo-deb
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Setup mold
uses: rui314/setup-mold@v1
- name: Setup buf
uses: bufbuild/buf-setup-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup protoc
uses: arduino/setup-protoc@v3
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup sccache
uses: mozilla-actions/[email protected]
- name: Enable sccache
run: |
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
- name: Build Debian package
run: cargo xtask dist deb && dpkg-deb -c target/debian/*.deb
- name: Lint Debian package
run: lintian -i target/debian/*.deb
- uses: actions/upload-artifact@v4
with:
name: rsjudge-deb
path: target/debian/*.deb
pkg-rpm:
runs-on: ubuntu-latest
container: fedora:38
steps:
- uses: actions/checkout@v4
- name: Install dependencies
run: |
sudo dnf install -y clang mold protobuf-compiler
- name: Setup Rust toolchain
uses: moonrepo/setup-rust@v1
with:
channel: stable
bins: cargo-generate-rpm
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Setup buf
uses: bufbuild/buf-setup-action@v1
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
- name: Setup sccache
uses: mozilla-actions/[email protected]
- name: Enable sccache
run: |
echo "SCCACHE_GHA_ENABLED=true" >> $GITHUB_ENV
echo "RUSTC_WRAPPER=sccache" >> $GITHUB_ENV
- name: Build RPM package
run: cargo xtask dist rpm && rpm -qlp target/generate-rpm/*.rpm
- uses: actions/upload-artifact@v4
with:
name: rsjudge-rpm
path: target/generate-rpm/*.rpm