name: Earthly +build

on:
  workflow_dispatch:
  merge_group:
  pull_request:
  push:
    branches:
      - main

env:
  FORCE_COLOR: 1

jobs:
  build:
    permissions:
      packages: write
    timeout-minutes: 30
    runs-on: ubuntu-latest

    steps:
      - uses: earthly/actions-setup@v1
        with:
          use-cache: true
          version: v0.8.0

      # Setup repo and add caching
      - uses: actions/checkout@v4

      - name: Login to GitHub Container Registry
        uses: docker/login-action@v3
        with:
          registry: ghcr.io
          username: ${{ github.actor }}
          password: ${{ secrets.GITHUB_TOKEN }}

      - name: Run build
        run: earthly --push --ci -P +all