feat: define Mango-native HTTP transport contract (#166) #352
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: CI | |
| on: | |
| pull_request: | |
| push: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| pull-requests: read | |
| jobs: | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-go@v7 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - uses: golangci/golangci-lint-action@v9 | |
| with: | |
| version: v2.12.2 | |
| only-new-issues: true | |
| go: | |
| name: Go | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-go@v7 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - run: make test | |
| - run: make test-race | |
| - run: make vet | |
| service-conformance: | |
| name: Service conformance | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-go@v7 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - name: Start PostgreSQL, Temporal, NATS, and MinIO | |
| run: docker compose -f deployments/local/compose.yaml up -d --wait postgres temporal nats minio | |
| - name: Run service conformance tests | |
| run: make test-service | |
| - name: Show dependency logs after failure | |
| if: failure() | |
| run: docker compose -f deployments/local/compose.yaml logs --no-color postgres temporal nats minio | |
| - name: Stop service dependencies | |
| if: always() | |
| run: docker compose -f deployments/local/compose.yaml down --volumes | |
| security: | |
| name: Security checks | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-go@v7 | |
| with: | |
| go-version-file: go.mod | |
| cache: true | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: website/package-lock.json | |
| - run: make security | |
| container: | |
| name: Container | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - run: make local-config | |
| - run: make image-smoke IMAGE=mango:ci | |
| docs: | |
| name: Documentation | |
| runs-on: ubuntu-latest | |
| defaults: | |
| run: | |
| working-directory: website | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-node@v7 | |
| with: | |
| node-version: 22 | |
| cache: npm | |
| cache-dependency-path: website/package-lock.json | |
| - run: npm ci | |
| - run: npm run typecheck | |
| - run: npm run build |