name: Format and Lint on: push: branches: - "main" pull_request: types: [opened, synchronize, reopened] jobs: format-check: runs-on: docker steps: - name: Checkout Code uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version: '1.23.3' - name: Setup cache uses: actions/cache@v4 with: path: | ~/.cache/go-build ~/go/pkg/mod key: ${{ runner.os }}-golang-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-golang- - name: Run Format Check run: | make format test: runs-on: docker steps: - name: Checkout Code uses: actions/checkout@v4 - name: Setup Go uses: actions/setup-go@v5 with: go-version: '1.23.3' - name: Setup cache uses: actions/cache@v4 with: path: | ~/.cache/go-build ~/go/pkg/mod key: ${{ runner.os }}-golang-${{ hashFiles('**/go.sum') }} restore-keys: | ${{ runner.os }}-golang- - name: Run Tests run: | make test-coverage