Files
tamerye/.gitea/workflows/build-and-test.yml
T
oysteikt f7f792bba4
Build and test / test (push) Failing after 41s
Build and test / build-dynamic-library (push) Failing after 46s
Build and test / build-static-library (push) Failing after 46s
Build and test / check (push) Successful in 47s
.gitea/workflows/build-and-test: rewrite to debian native build
2026-05-07 01:28:30 +09:00

90 lines
2.1 KiB
YAML

name: "Build and test"
on:
workflow_dispatch:
pull_request:
push:
env:
BINSTALL_DISABLE_TELEMETRY: 'true'
jobs:
build-dynamic-library:
runs-on: debian-latest
steps:
- uses: actions/checkout@v6
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Build
run: cargo build --release
with:
components: rustfmt
- name: Upload database as artifact
uses: actions/upload-artifact@v3
with:
name: tamerye-dynamic-library-${{ gitea.sha }}.zip
path: target/release/*.so
if-no-files-found: error
retention-days: 15
build-static-library:
runs-on: debian-latest
steps:
- uses: actions/checkout@v6
- name: Install libsqlite3
run: apt-get install --update --assume-yes libsqlite3-dev
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt
- name: Build
run: cargo build --release --features static
- name: Upload database as artifact
uses: actions/upload-artifact@v3
with:
name: tamerye-static-library-${{ gitea.sha }}.zip
path: target/release/*.a
if-no-files-found: error
retention-days: 15
check:
runs-on: debian-latest
steps:
- uses: actions/checkout@v6
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
with:
components: rustfmt, clippy
- name: Check code format
run: cargo fmt -- --check
- name: Check clippy
run: cargo clippy -- --deny warnings
test:
runs-on: debian-latest
steps:
- uses: actions/checkout@v6
- name: Install libsqlite3
run: apt-get install --update --assume-yes libsqlite3-dev
- name: Install rust toolchain
uses: dtolnay/rust-toolchain@stable
- name: Install nextest
run: cargo binstall -y cargo-nextest --secure
- name: Run tests
run: cargo nextest run --release --no-fail-fast --features static
env:
RUST_LOG: "trace"