torrust-actix 4.2.3

A rich, fast and efficient Bittorrent Tracker.
name: CI

# Only trigger, when the test workflow succeeded
on: [push, pull_request]

jobs:
  test:
    runs-on: ubuntu-latest
    env:
      CARGO_TERM_COLOR: always
    steps:
      - uses: actions/checkout@v4
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
      - uses: Swatinem/rust-cache@v1
      - name: Run tests
        run: cargo test

  build:
    needs: test
    if: |

      github.event_name == 'push' &&
      github.event.base_ref == 'refs/heads/main' &&
      startsWith(github.ref, 'refs/tags/v')
    runs-on: ubuntu-latest
    env:
      CARGO_TERM_COLOR: always
    steps:
      - uses: actions/checkout@v4
      - uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable
      - uses: Swatinem/rust-cache@v1
      - name: Build Torrust-Actix Tracker
        run: cargo build --release
      - name: Upload build artifact
        uses: actions/upload-artifact@v2
        with:
          name: torrust-actix tracker
          path: ./target/release/torrust-actix

  release:
    needs: build
    runs-on: ubuntu-latest
    steps:
      - name: Download build artifact
        uses: actions/download-artifact@v2
        with:
          name: torrust-actix tracker
      - name: Release
        uses: softprops/action-gh-release@v1