[go: up one dir, main page]

figment 0.10.19

A configuration library so con-free, it's unreal.
Documentation
name: CI

on: [push, pull_request]

env:
  CARGO_TERM_COLOR: always

jobs:
  test:
    name: "${{ matrix.os.name }} ${{ matrix.test.name }} (${{ matrix.toolchain }})"
    continue-on-error: false
    runs-on: ${{ matrix.os.distro }}

    strategy:
      fail-fast: false
      matrix:
        os:
          - { name: Linux, distro: ubuntu-latest }
          - { name: Windows, distro: windows-latest }
          - { name: macOS, distro: macOS-latest }
        toolchain: [nightly, stable]

    steps:
      - name: Checkout Sources
        uses: actions/checkout@v4

      - name: Install Native Dependencies (macOS)
        if: matrix.os.name == 'macOS'
        run: brew install coreutils

      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ matrix.toolchain }}

      - name: Check Features
        run: ./scripts/test.sh --core
        shell: bash

      - name: Run Tests
        run: ./scripts/test.sh
        shell: bash

  test_cross:
    name: Linux ARMv7 (${{ matrix.toolchain }})
    runs-on: ubuntu-latest

    strategy:
      fail-fast: false
      matrix:
        toolchain: [nightly, stable]

    steps:
      - name: Checkout Sources
        uses: actions/checkout@v4

      - name: Install Rust
        uses: dtolnay/rust-toolchain@master
        with:
          toolchain: ${{ matrix.toolchain }}
          targets: armv7-unknown-linux-gnueabihf

      - name: Build
        uses: actions-rs/cargo@v1
        with:
          use-cross: true
          command: build
          args: --target armv7-unknown-linux-gnueabihf --all-features