diff --git a/.github/workflows/pipeline.yaml b/.github/workflows/pipeline.yaml index abd94421..17166ecc 100644 --- a/.github/workflows/pipeline.yaml +++ b/.github/workflows/pipeline.yaml @@ -97,8 +97,20 @@ jobs: - name: Test darwin run run: make ci-test-mac-run + test-windows-artifacts: + needs: [ build-artifacts ] + runs-on: windows-latest + steps: + - uses: actions/checkout@master + - uses: actions/download-artifact@master + with: + name: artifacts + path: dist + - name: Test windows run + run: make ci-test-windows-run + release: - needs: [ test, build-artifacts, test-linux-artifacts, test-mac-artifacts ] + needs: [ test, build-artifacts, test-linux-artifacts, test-mac-artifacts, test-windows-artifacts ] runs-on: ubuntu-latest if: startsWith(github.ref, 'refs/tags/v') steps: diff --git a/Makefile b/Makefile index 40f1a81b..5e820fe0 100644 --- a/Makefile +++ b/Makefile @@ -101,30 +101,35 @@ ci-plugs-out-test: -w //src \ golang:latest \ /bin/bash -x -c "\ - ./dist/go-bouncer_linux_amd64/bouncer version && \ - ./dist/go-bouncer_linux_amd64/bouncer list github.com/wagoodman/go-bouncer && \ - ./dist/go-bouncer_linux_amd64/bouncer check github.com/wagoodman/go-bouncer \ + ./dist/linux-build_linux_amd64/bouncer version && \ + ./dist/linux-build_linux_amd64/bouncer list github.com/wagoodman/go-bouncer && \ + ./dist/linux-build_linux_amd64/bouncer check github.com/wagoodman/go-bouncer \ " ci-test-linux-run: - chmod 755 ./dist/go-bouncer_linux_amd64/bouncer && \ - ./dist/go-bouncer_linux_amd64/bouncer version && \ - ./dist/go-bouncer_linux_amd64/bouncer list github.com/wagoodman/go-bouncer + chmod 755 ./dist/linux-build_linux_amd64/bouncer && \ + ./dist/linux-build_linux_amd64/bouncer version && \ + ./dist/linux-build_linux_amd64/bouncer list github.com/wagoodman/go-bouncer ci-test-linux-arm-run: - chmod 755 ./dist/go-bouncer_linux_arm64/bouncer && \ - ./dist/go-bouncer_linux_arm64/bouncer version && \ - ./dist/go-bouncer_linux_arm64/bouncer list github.com/wagoodman/go-bouncer + chmod 755 ./dist/linux-build_linux_arm64/bouncer && \ + ./dist/linux-build_linux_arm64/bouncer version && \ + ./dist/linux-build_linux_arm64/bouncer list github.com/wagoodman/go-bouncer ci-test-mac-run: - chmod 755 ./dist/go-bouncer_darwin_amd64/bouncer && \ - ./dist/go-bouncer_darwin_amd64/bouncer version && \ - ./dist/go-bouncer_darwin_amd64/bouncer list github.com/wagoodman/go-bouncer + chmod 755 ./dist/darwin-build_darwin_amd64/bouncer && \ + ./dist/darwin-build_darwin_amd64/bouncer version && \ + ./dist/darwin-build_darwin_amd64/bouncer list github.com/wagoodman/go-bouncer ci-test-mac-arm-run: - chmod 755 ./dist/go-bouncer_darwin_arm64/bouncer && \ - ./dist/go-bouncer_darwin_arm64/bouncer version && \ - ./dist/go-bouncer_darwin_arm64/bouncer list github.com/wagoodman/go-bouncer + chmod 755 ./dist/darwin-build_darwin_arm64/bouncer && \ + ./dist/darwin-build_darwin_arm64/bouncer version && \ + ./dist/darwin-build_darwin_arm64/bouncer list github.com/wagoodman/go-bouncer + +ci-test-windows-run: + chmod 755 ./dist/windows-build_windows_amd64/bouncer.exe && \ + ./dist/windows-build_windows_amd64/bouncer.exe version && \ + ./dist/windows-build_windows_amd64/bouncer.exe list github.com/wagoodman/go-bouncer ci-release: pkged.go $(BIN)/goreleaser --rm-dist diff --git a/bouncer.sh b/bouncer.sh index 6a915817..cdaa735e 100755 --- a/bouncer.sh +++ b/bouncer.sh @@ -66,6 +66,7 @@ get_binaries() { linux/amd64) BINARIES="bouncer" ;; darwin/arm64) BINARIES="bouncer" ;; linux/arm64) BINARIES="bouncer" ;; + windows/amd64) BINARIES="bouncer.exe" ;; *) log_crit "platform $PLATFORM is not supported. Make sure this script is up-to-date and file request at https://github.com/${PREFIX}/issues/new" exit 1 diff --git a/goreleaser.yaml b/goreleaser.yaml index e4f8ed35..85527e50 100644 --- a/goreleaser.yaml +++ b/goreleaser.yaml @@ -1,17 +1,46 @@ release: prerelease: auto +env: + - CGO_ENABLED=0 + builds: - - binary: bouncer - env: - - CGO_ENABLED=0 + - id: linux-build + binary: bouncer goos: - - darwin - linux goarch: - amd64 - arm64 - ldflags: -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.buildTime={{.Date}}`. + ldflags: &build-ldflags -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.buildTime={{.Date}}`. + + - id: darwin-build + binary: bouncer + goos: + - darwin + goarch: + - amd64 + - arm64 + ldflags: *build-ldflags + + - id: windows-build + binary: bouncer + goos: + - windows + goarch: + - amd64 + ldflags: *build-ldflags archives: - - format: tar.gz + - id: linux-archives + builds: + - linux-build + + - id: darwin-archives + builds: + - darwin-build + + - id: windows-archives + format: zip + builds: + - windows-build