name: setup-buildx-ci

on:
  push:
    branches:
      - master
    paths:
      - .github/workflows/setup-buildx-ci.yml
      - setup-buildx/**
  pull_request:
    branches:
      - master
    paths:
      - .github/workflows/setup-buildx-ci.yml
      - setup-buildx/**

jobs:
  build:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        buildx-version:
          - latest
          - v0.2.2
    steps:
      -
        name: Runner info
        run: |
          sudo apt-get install -y hwinfo
          sudo hwinfo --short
          sudo mount
      -
        name: Checkout
        uses: actions/checkout@v2.3.1
      -
        name: Set up Docker Buildx
        id: buildx
        uses: ./setup-buildx/
        with:
          buildx-version: ${{ matrix.buildx-version }}
      -
        name: Available platforms
        run: echo ${{ steps.buildx.outputs.platforms }}
      -
        name: Dump context
        uses: crazy-max/ghaction-dump-context@v1

  install:
    runs-on: ubuntu-latest
    steps:
      -
        name: Checkout
        uses: actions/checkout@v2.3.1
      -
        name: Set up Docker Buildx
        uses: ./setup-buildx/
        with:
          install: true
      -
        name: Check cmd
        run: |
          docker build --help

  with-qemu:
    runs-on: ubuntu-latest
    strategy:
      fail-fast: false
      matrix:
        buildx-version:
          - latest
          - v0.2.2
        qemu-platforms:
          - all
          - arm64,riscv64,arm
    steps:
      -
        name: Checkout
        uses: actions/checkout@v2.3.1
      -
        name: Set up QEMU
        uses: ./setup-qemu/
        with:
          platforms: ${{ matrix.qemu-platforms }}
      -
        name: Set up Docker Buildx
        id: buildx
        uses: ./setup-buildx/
        with:
          buildx-version: ${{ matrix.buildx-version }}
      -
        name: Available platforms
        run: echo ${{ steps.buildx.outputs.platforms }}