name: Release

on:
  push:
    branches: [ master ]

jobs:

  build:
    name: Build
    runs-on: ubuntu-latest
    strategy:
      matrix:
        goos: [linux, windows, darwin, freebsd ]
        goarch: [amd64, arm]
        exclude:
          - goarch: arm
            goos: darwin
          - goarch: arm
            goos: windows

    steps:

      - name: Check out code into the Go module directory
        uses: actions/checkout@v2

      - name: Wait for the deletion
        uses: jakejarvis/wait-action@master
        with:
          time: '30s'

      - name: Set BUILD_TIME env
        run: echo BUILD_TIME=$(date -u +%Y-%m-%d-%H-%M) >> ${GITHUB_ENV}

      - name: Go Release Binaries
        uses: wangyoucao577/go-release-action@v1.17
        with:
          goversion: 1.16
          github_token: ${{ secrets.GITHUB_TOKEN }}
          goos: ${{ matrix.goos }}
          goarch: ${{ matrix.goarch }}
          release_tag: dev
          overwrite: true
          pre_command: export CGO_ENABLED=0
          build_flags: -tags 5BytesOffset # optional, default is
          ldflags: -extldflags -static -X github.com/chrislusf/seaweedfs/weed/util.COMMIT=${{github.sha}}
          # Where to run `go build .`
          project_path: weed
          binary_name: weed-large-disk
          asset_name: "weed-large-disk-${{ env.BUILD_TIME }}-${{ matrix.goos }}-${{ matrix.goarch }}"

      - name: Go Release Binaries
        uses: wangyoucao577/go-release-action@v1.17
        with:
          goversion: 1.16
          github_token: ${{ secrets.GITHUB_TOKEN }}
          goos: ${{ matrix.goos }}
          goarch: ${{ matrix.goarch }}
          release_tag: dev
          overwrite: true
          pre_command: export CGO_ENABLED=0
          ldflags: -extldflags -static -X github.com/chrislusf/seaweedfs/weed/util.COMMIT=${{github.sha}}
          # Where to run `go build .`
          project_path: weed
          binary_name: weed
          asset_name: "weed-${{ env.BUILD_TIME }}-${{ matrix.goos }}-${{ matrix.goarch }}"