codebase 0.11.0

Manage your codebase like a boss!
Documentation
# Based on https://daniellockyer.com/automated-rust-releases/

name: Publish

on:
  push:
    tags:
      - '*'

jobs:
  publish:
    name: Publish for ${{ matrix.os }}
    runs-on: ${{ matrix.os }}
    strategy:
      matrix:
        name: [
          linux,
          macos
        ]

        include:
          - name: linux
            os: ubuntu-latest
            artifact_name: codebase
            asset_name: codebase-linux
          - name: macos
            os: macos-latest
            artifact_name: codebase
            asset_name: codebase-macos

    steps:
      - name: Checkout sources
        uses: actions/checkout@v2

      - name: Install stable toolchain
        uses: actions-rs/toolchain@v1
        with:
          profile: minimal
          toolchain: stable

      - name: Build
        uses: actions-rs/cargo@v1
        with:
          command: build
          args: --release --locked

      - name: Upload binaries to release
        uses: svenstaro/upload-release-action@v1-release
        with:
          repo_token: ${{ secrets.GITHUB_TOKEN }}
          file: target/release/${{ matrix.artifact_name }}
          asset_name: ${{ matrix.asset_name }}
          tag: ${{ github.ref }}
  publish-docker:
    name: Publish docker image
    runs-on: ubuntu-latest
    steps:
      - name: Checkout sources
        uses: actions/checkout@v2

      - name: Publish Docker image
        uses: elgohr/Publish-Docker-Github-Action@2.18
        with:
          name: codebase-rs/codebase/codebase
          username: ${{ secrets.DOCKER_USERNAME }}
          password: ${{ secrets.GITHUB_TOKEN }}
          registry: docker.pkg.github.com
          tag_semver: true