mirror of
https://seed.radicle.dev/rad:z6cFWeWpnZNHh9rUW8phgA3b5yGt.git
synced 2026-10-28 07:30:51 +08:00
Initially, radicle-source was envisioned to be another layer on top of radicle-surf, however, it ended up duplicating a lot of concepts. We consolidate them by merging radicle-source into radicle-surf. This meant removing modules branch.rs, tag.rs, oid.rs and error.rs.
149 lines
3.7 KiB
YAML
149 lines
3.7 KiB
YAML
name: ci
|
|
on: [push, pull_request]
|
|
jobs:
|
|
fmt:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: nightly
|
|
components: rustfmt
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: ./scripts/ci/fmt
|
|
shell: bash
|
|
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
components: clippy
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: ./scripts/ci/lint
|
|
shell: bash
|
|
|
|
docs:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: ./scripts/ci/docs
|
|
shell: bash
|
|
|
|
cargo-deny:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
checks:
|
|
- advisories
|
|
- bans licenses sources
|
|
continue-on-error: ${{ matrix.checks == 'advisories' }}
|
|
steps:
|
|
- uses: actions/checkout@v2
|
|
- uses: EmbarkStudios/cargo-deny-action@v1
|
|
with:
|
|
command: check ${{ matrix.checks }}
|
|
|
|
build-linux:
|
|
runs-on: ubuntu-latest
|
|
strategy:
|
|
matrix:
|
|
toolchain:
|
|
- stable
|
|
- nightly
|
|
continue-on-error: ${{ matrix.toolchain == 'nightly' }}
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: ${{ matrix.toolchain }}
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: ./scripts/ci/build
|
|
shell: bash
|
|
|
|
test-linux:
|
|
runs-on: ubuntu-latest
|
|
needs: build-linux
|
|
strategy:
|
|
matrix:
|
|
toolchain:
|
|
- stable
|
|
- nightly
|
|
continue-on-error: ${{ matrix.toolchain == 'nightly' }}
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
with:
|
|
fetch-depth: 0
|
|
# The 'main' branch is needed for radicle-surf vcs::git::tests::test_submodule_failure,
|
|
# however actions/checkout uses the default branch 'master' at this moment.
|
|
# We will improve the test soon to remove this need.
|
|
# - run: git branch main
|
|
# - run: git branch -u origin/main main
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: ${{ matrix.toolchain }}
|
|
- uses: baptiste0928/cargo-install@v1
|
|
with:
|
|
crate: cargo-nextest
|
|
version: 0.9
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: ./scripts/ci/test
|
|
shell: bash
|
|
|
|
build-macos:
|
|
runs-on: macos-latest
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: ./scripts/ci/build
|
|
shell: bash
|
|
|
|
test-macos:
|
|
runs-on: macos-latest
|
|
needs: build-macos
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
with:
|
|
fetch-depth: 0
|
|
- run: git branch main
|
|
- run: git branch -u origin/main main
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
- uses: baptiste0928/cargo-install@v1
|
|
with:
|
|
crate: cargo-nextest
|
|
version: 0.9
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: ./scripts/ci/test
|
|
shell: bash
|
|
|
|
build-windows:
|
|
runs-on: windows-latest
|
|
continue-on-error: true
|
|
steps:
|
|
- uses: actions/checkout@master
|
|
- uses: actions-rs/toolchain@v1
|
|
with:
|
|
profile: minimal
|
|
toolchain: stable
|
|
- uses: Swatinem/rust-cache@v1
|
|
- run: ./scripts/ci/build
|
|
shell: bash
|