name: CI & Lint on: pull_request: branches: - main jobs: build: name: Build runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: go-version: '1.24' cache-dependency-path: '**/go.sum' - name: Run build run: go build -o auth-proxy-server ./cmd/server && go build -o admin-cli ./cmd/admin-cli lint: name: Lint runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v4 - name: Set up Go uses: actions/setup-go@v5 with: go-version: '1.24' cache-dependency-path: '**/go.sum' - name: Check formatting run: | gofmt_output=$(gofmt -l .) if [ -n "$gofmt_output" ]; then echo "The following files are not formatted correctly:" echo "$gofmt_output" exit 1 fi echo "All files are correctly formatted." - name: Cache golangci-lint uses: actions/cache@v4 with: path: ~/.cache/golangci-lint key: ${{ runner.os }}-golangci-lint-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-golangci-lint- - name: Run golangci-lint uses: golangci/golangci-lint-action@v6 with: version: latest skip-cache: true