diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 0000000..694f1b0 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,65 @@ +name: CI + +on: + push: + branches: [ main, develop ] + pull_request: + branches: [ main, develop ] + +jobs: + test: + runs-on: ubuntu-latest + + steps: + - name: Checkout code + uses: actions/checkout@v4 + + - name: Set up Go + uses: actions/setup-go@v5 + with: + go-version: '1.23' + + - name: Cache Go modules + uses: actions/cache@v4 + with: + path: | + ~/.cache/go-build + ~/go/pkg/mod + key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }} + restore-keys: | + ${{ runner.os }}-go- + + - name: Install dependencies + run: go mod download + + - name: Verify dependencies + run: go mod verify + + - name: Format check + run: | + if [ "$(gofmt -s -l . | wc -l)" -gt 0 ]; then + echo "Code is not formatted properly:" + gofmt -s -l . + exit 1 + fi + + - name: Vet + run: go vet ./... + + - name: Install golangci-lint + run: go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest + + - name: Lint + run: golangci-lint run + + - name: Test + run: go test -v ./... + + - name: Test with race detection + run: go test -race -v ./... + + - name: Build + run: go build -v ./... + + - name: Build binary + run: make build-all diff --git a/build/proxy-queue-darwin-amd64 b/build/proxy-queue-darwin-amd64 new file mode 100755 index 0000000..f8f1cb6 Binary files /dev/null and b/build/proxy-queue-darwin-amd64 differ diff --git a/build/proxy-queue-darwin-arm64 b/build/proxy-queue-darwin-arm64 new file mode 100755 index 0000000..db19bbf Binary files /dev/null and b/build/proxy-queue-darwin-arm64 differ diff --git a/build/proxy-queue-linux-amd64 b/build/proxy-queue-linux-amd64 new file mode 100755 index 0000000..4267c0a Binary files /dev/null and b/build/proxy-queue-linux-amd64 differ diff --git a/build/proxy-queue-linux-arm64 b/build/proxy-queue-linux-arm64 new file mode 100755 index 0000000..af9c2ee Binary files /dev/null and b/build/proxy-queue-linux-arm64 differ diff --git a/build/proxy-queue-windows-amd64.exe b/build/proxy-queue-windows-amd64.exe new file mode 100755 index 0000000..2bba151 Binary files /dev/null and b/build/proxy-queue-windows-amd64.exe differ diff --git a/build/proxy-queue-windows-arm64.exe b/build/proxy-queue-windows-arm64.exe new file mode 100755 index 0000000..871a3b8 Binary files /dev/null and b/build/proxy-queue-windows-arm64.exe differ