name: 测试版
on:
  push:
    tags:
      - p*

env:
  GITHUB_TOKEN: ${{ github.token }}

jobs:
  my-job:
    name: Build ZeroBot-Plugin on Push Tag 🚀
    runs-on: ubuntu-latest
    steps:

    - name: Set up Go
      uses: actions/setup-go@v2
      with:
        go-version: 1.17

    - name: Check out code into the Go module directory
      uses: actions/checkout@v2
      
    - name: Cache Go
      id: cache
      uses: actions/cache@v2
      with:
        # A list of files, directories, and wildcard patterns to cache and restore
        path: ~/go/pkg/mod
        key: ${{ runner.os }}-build-${{ hashFiles('**/go.sum') }}

    - name: Tidy Go modules
      run: go mod tidy
      
    - name: Build linux-x64
      run: CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o artifacts/zerobot-plugin-linux-x64
    - name: Build linux-x86
      run: CGO_ENABLED=0 GOOS=linux GOARCH=386 go build -ldflags="-s -w" -o artifacts/zerobot-plugin-linux-x86
    - name: Build windows-x64
      run: CGO_ENABLED=0 GOOS=windows GOARCH=amd64 go build -ldflags="-s -w" -o artifacts/zerobot-plugin-windows-x64.exe
    - name: Build windows-x86
      run: CGO_ENABLED=0 GOOS=windows GOARCH=386 go build -ldflags="-s -w" -o artifacts/zerobot-plugin-windows-x86.exe
    - name: Build arm64
      run: CGO_ENABLED=0 GOOS=linux GOARCH=arm64 GOARM=7 go build -ldflags="-s -w" -o artifacts/zerobot-plugin-linux-arm64
    - name: Build armv6
      run: CGO_ENABLED=0 GOOS=linux GOARCH=arm GOARM=6 go build -ldflags="-s -w" -o artifacts/zerobot-plugin-linux-armv6

    - name: Upload binaries to release
      uses: svenstaro/upload-release-action@v2
      with:
        repo_token: ${{ secrets.GITHUB_TOKEN }}
        file: artifacts/zerobot-plugin-*
        tag: ${{ github.ref }}
        overwrite: true
        file_glob: true
