name: build linux static arm32v7

on:
  push:
    branches: [ ci-linux-static-arm32 ]
    #tags:
    #  - '[0-9]+.[0-9]+'
    #  - '[0-9]+.[0-9]+-*'
    #  - '[0-9]+.[0-9]+.[0-9]+'
    #  - '[0-9]+.[0-9]+.[0-9]+-*'
  workflow_dispatch:

jobs:
  docker:
    runs-on: ubuntu-latest
    steps:
      -
        name: Set up QEMU
        uses: docker/setup-qemu-action@v1
      -
        name: Set up Docker Buildx
        uses: docker/setup-buildx-action@v1
      -
        name: Build and push
        id: docker_build
        uses: docker/build-push-action@v2
        with:
          file: ./docker-static-arm32v7/Dockerfile
          platforms: linux/arm
          tags: hledger-linux-static-arm32v7:latest
          load: true

      - name: Extract binaries from docker
        run: |
          # Create temporary container from it
          container_id=$(docker create hledger-linux-static-arm32v7:latest)
          # Copy stuff from temp container
          docker cp $container_id:/root/hledger /tmp/hledger-linux-static-arm32v7
          # Delete temp container
          docker rm -v $container_id

      - name: Upload binary
        uses: actions/upload-artifact@v2
        with:
          name: hledger-linux-static-arm32v7
          path: /tmp/hledger-linux-static-arm32v7

      - name: Release
        uses: softprops/action-gh-release@v1
        if: startsWith(github.ref, 'refs/tags/')
        with:
          files: /tmp/hledger-linux-static-arm32v7
        env:
          GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
