name: CI

on:
  push:
    branches:
      - main
    paths-ignore:
      - 'README.md'
  schedule:
    - cron: '0 12 15 * *'
  workflow_dispatch:

env:
  DOCKER_TAG: ${{ github.sha }}

jobs:
  build-and-push-images:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f # v2.3.4

      - name: Login to the Docker registry
        uses: docker/login-action@f054a8b539a109f9f41c372932f1ae047eff08c9 # v1.10.0
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}

      - run: make build-images
      - run: make push-images

      - name: Add the deployment SSH key
        uses: shimataro/ssh-key-action@6f350ca8484d8d55c2e361e74d17e638dabe713a # 2.1.0
        with:
          key: ${{ secrets.SSH_PRIVATE_KEY }}
          name: id_rsa
          known_hosts: ${{ secrets.SSH_KNOWN_HOSTS }}

      - run: make deploy

# vim: sw=2 ts=2