dwipe 0.1.4

Fast, cross-platform disk cleanup tool with interactive UI
Documentation
name: Push Docker Image

on:
  release:
    types: [published]

env:
  DOCKER_BASE_NAME: ghcr.io/${{ github.repository }}
  DOCKER_HUB_BASE_NAME: ${{ github.repository }}

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Unshallow
        run: git fetch --prune --unshallow
  push:
    runs-on: ubuntu-22.04
    needs: lint
    strategy:
      matrix:
        baseimage:
          - "alpine:3.17"
    steps:
      - name: Checkout
        uses: actions/checkout@v4
      - name: Set env
        run: |
          if [ "${{ github.event_name }}" = 'release' ]; then
            export TAG_NAME="${{ github.event.release.tag_name }}"
          else
            export TAG_NAME="latest"
          fi
          echo "PKG_TAG=${DOCKER_BASE_NAME}:${TAG_NAME}" >> $GITHUB_ENV
          echo "HUB_TAG=${DOCKER_HUB_BASE_NAME}:${TAG_NAME}" >> $GITHUB_ENV
      - name: Build ${{ matrix.baseimage }} base image
        run: |
          docker build . -t "${PKG_TAG}" --build-arg BASE_IMAGE="${{ matrix.baseimage }}"
          docker tag "${PKG_TAG}" "${HUB_TAG}"
      - name: Login to Registries
        if: github.event_name != 'pull_request'
        env:
          PERSONAL_GITHUB_TOKEN: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
          DCKR_PAT: ${{ secrets.DCKR_PAT }}
        run: |
          echo "${PERSONAL_GITHUB_TOKEN}" | docker login ghcr.io -u trinhminhtriet --password-stdin
          echo "${DCKR_PAT}" | docker login -u trinhminhtriet --password-stdin
      - name: Push to GitHub Packages
        if: github.event_name != 'pull_request'
        run: docker push "${PKG_TAG}"
      - name: Push to Docker Hub
        if: github.event_name != 'pull_request'
        run: docker push "${HUB_TAG}"