Radish alpha
r
rad:z6cFWeWpnZNHh9rUW8phgA3b5yGt
Git libraries for Radicle
Radicle
Git
ci: github actions CI
Fintan Halpenny committed 3 years ago
commit 260d77a69fc9e531b43c16142be5d92b7d9e5536
parent b379909
1 file changed +137 -0
added .github/workflows/ci.yaml
@@ -0,0 +1,137 @@
+
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
+
      - 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
+
      - 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