[go: up one dir, main page]

rsa 0.4.1

Pure Rust RSA implementation
Documentation
name: CI

on:
  pull_request:
  push:
    branches:
      - master

env:
  RUST_BACKTRACE: 1

jobs:
  build:
    name: ${{ matrix.rust }} - ${{ matrix.target }}
    runs-on: ubuntu-latest

    # The build matrix does not yet support 'allow failures' at job level.
    # See `jobs.nightly` for the active nightly job definition.
    strategy:
      matrix:
        rust:
          - 1.44.0
          - stable
          - nightly
        target:
          - x86_64-unknown-linux-gnu
          - thumbv7m-none-eabi
        include:
          - rust: nightly
            target: x86_64-unknown-linux-gnu
            args: --all-features
          - target: thumbv7m-none-eabi
            test-target: arm-unknown-linux-gnueabi
            args: --no-default-features --features=alloc
          - rust: stable
            target: x86_64-unknown-linux-gnu
            args: --no-default-features --features=std
        exclude:
          - rust: 1.44.0
            target: thumbv7m-none-eabi

    steps:
      - name: Checkout
        uses: actions/checkout@v1

      - name: Install rust
        uses: actions-rs/toolchain@v1
        with:
          toolchain: ${{ matrix.rust || 'stable' }}
          target: ${{ matrix.target }}
          profile: minimal
          override: true

      - name: Build
        uses: actions-rs/cargo@v1
        with:
          use-cross: true
          command: build
          args: --target ${{ matrix.target }} --verbose ${{ matrix.args }}

      - name: Test
        uses: actions-rs/cargo@v1
        with:
          use-cross: true
          command: test
          args: --target ${{ matrix.test-target || matrix.target }} --verbose ${{ matrix.args }}

      - name: Bench
        uses: actions-rs/cargo@v1
        with:
          use-cross: true
          command: bench
          args: --target ${{ matrix.test-target || matrix.target }} --verbose --no-run ${{ matrix.args }}
        if: matrix.rust == 'nightly'