name: Samples Go on: push: paths: - 'samples/server/petstore/go-echo-server/**' - 'samples/server/petstore/go-api-server/**' - 'samples/server/petstore/go-chi-server/**' - 'samples/server/others/go-server/**' pull_request: paths: - 'samples/server/petstore/go-echo-server/**' - 'samples/server/petstore/go-api-server/**' - 'samples/server/petstore/go-chi-server/**' - 'samples/server/others/go-server/**' jobs: build: name: Build Go runs-on: ubuntu-latest strategy: fail-fast: false matrix: sample: - samples/server/petstore/go-echo-server/ - samples/server/petstore/go-api-server/ - samples/server/petstore/go-chi-server/ - samples/server/others/go-server/no-body-path-params/ - samples/server/others/go-server/optional-body/ steps: - uses: actions/checkout@v5 - uses: actions/setup-go@v6 with: go-version: "stable" - run: go version - name: Run test working-directory: ${{ matrix.sample }} run: go test -mod=mod -v verify: name: Verify generated Go files with Go tests runs-on: ubuntu-latest strategy: fail-fast: false matrix: sample: - samples/server/petstore/go-api-server/ go-version: - "1.18" steps: - uses: actions/checkout@v5 - name: Set up Go uses: actions/setup-go@v6 with: go-version: ${{ matrix.go-version }} - name: Install Dependencies working-directory: ${{ matrix.sample }} run: | go mod tidy - name: Run tests working-directory: ${{ matrix.sample }} run: go test ./samples_tests -v