diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 5c4d65d..b49b475 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -8,20 +8,13 @@ on: jobs: release: name: 'Build, package and release to GitHub' - + runs-on: ubuntu-latest strategy: fail-fast: false matrix: - platform: [ubuntu-latest, macos-latest, windows-latest] - include: - - platform: ubuntu-latest - alias: linux - - platform: macos-latest - alias: mac - - platform: windows-latest - alias: win + GOOS: [darwin, windows, linux] + GOARCH: [amd64, arm64] - runs-on: ${{ matrix.platform }} steps: - name: Set up Go 1.x @@ -40,24 +33,22 @@ jobs: || git symbolic-ref -q --short HEAD \ || git rev-parse --short HEAD) > version.txt 2> /dev/null - - name: Get dependencies - run: go get + - name: Prepare + run: | + mkdir -p dist/ && cd dist/ + cp ../config.default.yml config.yml - name: Build - run: go build -v . + working-directory: ./dist + run: | + GOOS=${{ matrix.GOOS }} GOARCH=${{ matrix.GOARCH }} go build -v ../ - - name: Compress working folder on Windows - if: runner.os == 'Windows' + - name: Compress working folder + working-directory: ./dist run: | - cp .\config.default.yml .\config.yml - Compress-Archive -Path .\wakapi.exe, .\config.yml -DestinationPath wakapi_${{ matrix.alias }}_amd64.zip - - name: Compress working folder on Unix - if: runner.os != 'Windows' - run: | - cp config.default.yml config.yml - zip -9 wakapi_${{ matrix.alias }}_amd64.zip wakapi config.yml + zip -9 wakapi_${{ matrix.GOOS }}_${{ matrix.GOARCH }}.zip * - name: Upload built executable to Release uses: softprops/action-gh-release@v1 with: - files: wakapi_${{ matrix.alias }}_amd64.zip + files: ./dist/*.zip