lers 0.4.0

An async, user-friendly Let's Encrypt/ACMEv2 library written in Rust
Documentation
---
name: Tests
on: push  # yamllint disable-line rule:truthy

jobs:
  unit:
    name: Unit
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v3

      - uses: dtolnay/rust-toolchain@stable
      - uses: taiki-e/install-action@just

      - uses: actions/setup-python@v4
        with:
          python-version: '3.11'
      - uses: snok/install-poetry@v1
        with:
          virtualenvs-create: true
          virtualenvs-in-project: true
          installer-parallel: true

      - name: Load cached $HOME/.local
        uses: actions/cache@v3
        with:
          path: ~/.local
          key: local-${{ runner.os }}-${{ hashFiles('.github/workflows/test.yml') }}

      - name: Load cached venv
        id: cached-poetry-dependencies
        uses: actions/cache@v3
        with:
          path: .venv
          key: venv-${{ runner.os }}-${{ hashFiles('poetry.lock') }}-${{ hashFiles('.github/workflows/test.yml') }}

      - run: poetry install --no-interaction
        if: steps.cached-poetry-dependencies.outputs.cache-hit != 'true'

      - run: just test http-01,dns-01,tls-alpn-01 --no-default-features

  examples:
    name: Examples
    runs-on: ubuntu-20.04
    steps:
      - uses: actions/checkout@v3

      - uses: dtolnay/rust-toolchain@stable
      - run: pip install yq

      - name: Build examples
        run: |
          for example in $(tomlq -r '.example[] | "\(.name):\(.["required-features"] | join(","))"' Cargo.toml); do
            name=$(echo $example | awk -F: '{ print $1 }')
            features=$(echo $example | awk -F: '{ print $2 }')

            echo "Building example $name"
            cargo build --example $name --features $features
          done