name: Go on: push: branches: [ "main", "v2" ] pull_request: branches: [ "main", "v2" ] jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v7 - name: Set up Go uses: actions/setup-go@v7 with: go-version: '1.25' - name: Build run: go build -v ./... - name: Vet run: go vet ./... && go vet -tags integration ./... - name: Unit tests run: go test -race -count=1 ./... integration: runs-on: ubuntu-latest needs: test steps: - uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: go-version: '1.25' - name: Pull images run: | docker pull pgsty/minio:latest docker pull mcr.microsoft.com/azure-storage/azurite:latest docker pull fsouza/fake-gcs-server:latest docker pull delfer/alpine-ftp-server:latest - name: Integration tests (MinIO, Azurite, fake-gcs-server, FTP) run: go test -tags integration -count=1 -v -run Integration ./...