name: Build all distros
on:
  schedule:
    - cron: '0 9 * * *'
  workflow_dispatch: {}

jobs:
  build-all-distros:
    name: build all distros
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - name: Cache go-build and mod
        uses: actions/cache@v2
        with:
          path: |
            ~/.cache/go-build/
            ~/go/pkg/mod/
          key: ${{ hashFiles('go.sum') }}
      - name: Setup Go
        uses: actions/setup-go@v2
        with:
          go-version: 1.18.x
      - name: Setup deps
        run: |
          make install-build-deps
      - name: build image
        run: |
          EKSCTL_IMAGE_VERSION=${GITHUB_REF#refs/*/} make -f Makefile.docker eksctl-image
      - name: build all
        run: |
          make build-all
      - name: slack on failure
        if: failure()
        uses: actions-ecosystem/action-slack-notifier@fc778468d09c43a6f4d1b8cccaca59766656996a
        with:
          slack_token: ${{ secrets.WEAVEWORKS_SLACK_EKSCTLBOT_TOKEN }}
          message: ":ahhhhhhhhh: build-all-distros has failed"
          channel: team-pitch-black
          color: red
          verbose: true
