All checks were successful
CI / check (push) Successful in 3m54s
rustls 0.23 pulls aws-lc-sys, which compiles AWS-LC via cmake; the node image has gcc/make but not cmake, so add it (plus clang) before the build.
31 lines
1.1 KiB
YAML
31 lines
1.1 KiB
YAML
# Build, lint, and test on every push and pull request. Adjust `runs-on` to a
|
|
# label your Forgejo runner advertises (commonly `ubuntu-latest` or `docker`).
|
|
name: CI
|
|
|
|
on:
|
|
push:
|
|
branches: [main]
|
|
pull_request:
|
|
|
|
jobs:
|
|
check:
|
|
runs-on: ubuntu-latest
|
|
# A Node image, because the JS-based actions/checkout needs `node` in the
|
|
# container. Rust is installed on top; a rust:* image has no node.
|
|
container:
|
|
image: node:20-bookworm
|
|
steps:
|
|
- name: Checkout
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Build, lint, and test
|
|
run: |
|
|
set -e
|
|
# cmake + a C compiler for aws-lc-sys (rustls's crypto backend). The
|
|
# node image already ships gcc/g++/make; protoc is vendored in build.rs.
|
|
apt-get update && apt-get install -y --no-install-recommends cmake clang
|
|
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --profile minimal -c clippy
|
|
. "$HOME/.cargo/env"
|
|
cargo build --workspace --locked
|
|
cargo clippy --workspace --locked -- -D warnings
|
|
cargo test --workspace --locked
|