mockserver 0.1.6

A lightweight, file-based mock API server written in Rust.
Documentation
name: Rust

on:
  push:
    branches: [ "main" ]
    tags:
      - "v*"
  pull_request:
    branches: [ "main" ]

env:
  CARGO_TERM_COLOR: always

jobs:
  build:
    name: Build on ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        os: [ubuntu-latest, windows-latest, macos-latest]

    steps:
      - uses: actions/checkout@v3
      - name: Build
        run: cargo build --release

  publish:
    name: Publish for ${{ matrix.os }}
    needs: build
    if: startsWith(github.ref, 'refs/tags/v')
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        include:
          - os: ubuntu-latest
            artifact_name: mockserver
            asset_name: mockserver-linux-amd64
          - os: windows-latest
            artifact_name: mockserver.exe
            asset_name: mockserver-windows-amd64
          - os: macos-latest
            artifact_name: mockserver
            asset_name: mockserver-macos-amd64

    steps:
      - uses: actions/checkout@v3
      - name: Build
        run: cargo build --release
      - name: Upload binaries to release
        uses: svenstaro/upload-release-action@v2
        with:
          repo_token: ${{ secrets.GITHUB_TOKEN }}
          file: target/release/${{ matrix.artifact_name }}
          asset_name: ${{ matrix.asset_name }}
          tag: ${{ github.ref }}