geni 1.3.2

A standalone database CLI migration tool
Documentation
name: Docker

on:
  pull_request:
  push:
    branches:
      - main
    tags:
      - 'v[0-9]+.[0-9]+.[0-9]+'

env:
  CARGO_TERM_COLOR: always

jobs:
  test:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Setup
      run: |
        sudo apt-get update
        sudo apt-get install -y mariadb-client
    - name: Run tests
      run: cargo test --verbose
  build-and-release:
    name: build and release docker
    needs: [test]
    runs-on: ubuntu-latest
    strategy:
      matrix:
        include:
          - dockerfile: Dockerfile
            name:
            buildname: Default
    steps:
      - uses: actions/checkout@v4
      - name: Login to GitHub Container Registry
        uses: docker/login-action@v1
        with:
          registry: ghcr.io
          username: ${{ github.repository_owner }}
          password: ${{ secrets.GITHUB_TOKEN }}
      - name: Build
        if: startsWith(github.ref, 'refs/tags/') == false
        run: docker build -t geni -f ${{matrix.dockerfile}} .
      - name: Build Tag
        if: startsWith(github.ref, 'refs/tags/')
        run: docker build -t ghcr.io/${{ github.repository }}:${{ github.ref_name }}${{matrix.name}} .
      - name: Push Tagged Image
        if: startsWith(github.ref, 'refs/tags/')
        run: docker push ghcr.io/${{ github.repository }}:${{ github.ref_name }}${{matrix.name}}
      - uses: actions-ecosystem/action-get-latest-tag@v1
        id: get-latest-tag
      - name: Push Latest Image
        if: ${{ github.ref_name == steps.get-latest-tag.outputs.tag }}
        run: |
          docker tag ghcr.io/${{ github.repository }}:${{ github.ref_name }}${{matrix.name}} ghcr.io/${{ github.repository }}:latest${{matrix.name}}
          docker push ghcr.io/${{ github.repository }}:latest${{matrix.name}}