name: Go Unit Test on: push: branches: [ master ] pull_request: permissions: contents: read jobs: test-and-lint: name: Build runs-on: ubuntu-latest steps: - name: Check out code into the Go module directory uses: actions/checkout@v4 with: submodules: 'recursive' - name: Set up Go 1.x uses: actions/setup-go@v5 with: go-version: 'stable' cache: true - name: Test lib ssh run: go test -v -cover ./... working-directory: crypto/ssh - name: Test sshpiper run: go test -v -race -cover -tags full ./... - name: golangci-lint uses: golangci/golangci-lint-action@v6 with: args: --timeout=60m -E gofmt --verbose --print-resources-usage --build-tags full env: GOGC: "10" # test go releaser - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Setup Snap run: | set -e sudo snap install snapcraft --classic # https://github.com/goreleaser/goreleaser/pull/2117 mkdir -p $HOME/.cache/snapcraft/download mkdir -p $HOME/.cache/snapcraft/stage-packages - name: Run GoReleaser uses: goreleaser/goreleaser-action@v5 with: distribution: goreleaser version: latest args: release --snapshot --clean env: SKIP_PUSH: "true"