name: Linux on: push: branches: pull_request: release: types: - published jobs: build-and-release: name: Linux - Build, Test & Release runs-on: ubuntu-latest steps: - name: Set up Go 1.x uses: actions/setup-go@v2 with: go-version: ^1.16 id: go - name: Check out code into the Go module directory uses: actions/checkout@v2 - name: Get dependencies run: go get - name: Unit Tests run: go test ./... -run ./... - name: API Tests run: | npm -g install newman ./testing/run_api_tests.sh - name: Build run: GO111MODULE=on go build -v . - name: Zip executable and sample config if: github.event_name == 'release' run: | cp config.default.yml config.yml zip -9 release.zip wakapi config.yml - name: Upload built executable to Release if: github.event_name == 'release' uses: actions/upload-release-asset@v1.0.2 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ github.event.release.upload_url }} asset_path: release.zip asset_name: wakapi_linux_amd64.zip asset_content_type: application/gzip