Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
69 changes: 69 additions & 0 deletions .github/workflows/build_and_test_no_docker.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
# NOTE:
# It is important that these actions are run for every PR, no matter what
# other actions are added. The ones here are testing the actual code pushed
# instead of a possibly outdated image. Additionally, we also run formatters
# and linters here.
# Do not modify this file unless you really need to. You very likely don't need to.

name: Build and Test (without Docker)
on: [push]

permissions:
contents: read

jobs:
runner-job:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2

- name: Setup Go
uses: actions/setup-go@v5

- name: Setup Goimports
run: go install golang.org/x/tools/cmd/goimports@latest

- uses: actions/setup-node@v4
with:
node-version: 22

- name: Check Formatting (Go)
run: make format-check

- name: Build Binary
run: make build

- name: Run Biome Checks
run: cd pkg/web && npm run biome-check

- name: Start Server
# Use enable these features in our own deployment, so we might as well
# "enable" them during testing as well to simulate a more realistic setup.
env:
QUICKPIZZA_OTLP_ENDPOINT: "http://localhost"
QUICKPIZZA_TRUST_CLIENT_TRACEID: "1"
QUICKPIZZA_PYROSCOPE_ENDPOINT: "http://localhost"
run: ./bin/quickpizza &

- name: Setup k6
uses: grafana/setup-k6-action@ffe7d7290dfa715e48c2ccc924d068444c94bde2 # v1

- name: Install jq
uses: dcarbone/install-jq-action@e397bd87438d72198f81efd21f876461183d383a # v3.0.1

- name: Run k6 foundations tests
run: ./scripts/run-tests.sh -t **/k6/foundations/*.js -u http://localhost:3333

- name: Run k6 foundations TS tests
run: ./scripts/run-tests.sh -t **/k6/foundations/*.ts -u http://localhost:3333

- name: Run k6 internal tests
run: ./scripts/run-tests.sh -t **/k6/internal/*.js -u http://localhost:3333

- name: Run k6 browser tests
run: ./scripts/run-tests.sh -t **/k6/browser/*.js -u http://localhost:3333

- name: Stop Server
run: pkill -9 quickpizza
4 changes: 2 additions & 2 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ QuickPizza is a demonstration web application that generates pizza recommendatio
- `cd pkg/web && npm install` - Install frontend dependencies
- `cd pkg/web && npm run dev` - Start development server
- `cd pkg/web && npm run build` - Build production frontend
- `cd pkg/web && npm run lint` - Lint frontend code
- `cd pkg/web && npm run format` - Format frontend code
- `cd pkg/web && npm run biome-check` - Check frontend code
- `cd pkg/web && npm run biome-format` - Format frontend code

### Go Development
- `make format` - Format Go code with goimports
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ format-go: # Format Go code with goimports

.PHONY: format-web
format-web: # Format frontend code
cd pkg/web/ && npm run format
cd pkg/web/ && npm run biome-format

.PHONY: format-check
format-check: # Check Go code formatting
Expand Down
36 changes: 14 additions & 22 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -16,12 +16,12 @@ require (
github.com/prometheus/client_golang v1.14.1-0.20221122130035-8b6e68085b10
github.com/rs/xid v1.4.0
github.com/uptrace/bun v1.2.15
github.com/uptrace/bun/dbfixture v1.1.14
github.com/uptrace/bun/dialect/pgdialect v1.1.14
github.com/uptrace/bun/dialect/sqlitedialect v1.1.14
github.com/uptrace/bun/dbfixture v1.2.15
github.com/uptrace/bun/dialect/pgdialect v1.2.15
github.com/uptrace/bun/dialect/sqlitedialect v1.2.15
github.com/uptrace/bun/driver/pgdriver v1.2.15
github.com/uptrace/bun/driver/sqliteshim v1.1.14
github.com/uptrace/bun/extra/bunotel v1.1.14
github.com/uptrace/bun/driver/sqliteshim v1.2.15
github.com/uptrace/bun/extra/bunotel v1.2.15
go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.44.0
go.opentelemetry.io/otel v1.37.0
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.28.0
Expand All @@ -30,7 +30,7 @@ require (
go.opentelemetry.io/otel/sdk v1.28.0
go.opentelemetry.io/otel/trace v1.37.0
golang.org/x/crypto v0.40.0
golang.org/x/net v0.41.0
golang.org/x/net v0.42.0
google.golang.org/grpc v1.65.0
google.golang.org/protobuf v1.34.2
)
Expand All @@ -50,40 +50,32 @@ require (
github.com/grpc-ecosystem/grpc-gateway/v2 v2.20.0 // indirect
github.com/hashicorp/go-cleanhttp v0.5.2 // indirect
github.com/jinzhu/inflection v1.0.0 // indirect
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect
github.com/klauspost/compress v1.17.9 // indirect
github.com/mattn/go-isatty v0.0.20 // indirect
github.com/mattn/go-sqlite3 v1.14.17 // indirect
github.com/mattn/go-sqlite3 v1.14.28 // indirect
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 // indirect
github.com/ncruces/go-strftime v0.1.9 // indirect
github.com/prometheus/client_model v0.3.0 // indirect
github.com/prometheus/common v0.37.0 // indirect
github.com/prometheus/procfs v0.8.0 // indirect
github.com/puzpuzpuz/xsync/v3 v3.5.1 // indirect
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
github.com/tmthrgd/go-hex v0.0.0-20190904060850-447a3041c3bc // indirect
github.com/uptrace/opentelemetry-go-extra/otelsql v0.2.1 // indirect
github.com/uptrace/opentelemetry-go-extra/otelsql v0.3.2 // indirect
github.com/vmihailenco/msgpack/v5 v5.4.1 // indirect
github.com/vmihailenco/tagparser/v2 v2.0.0 // indirect
go.opentelemetry.io/auto/sdk v1.1.0 // indirect
go.opentelemetry.io/otel/metric v1.37.0 // indirect
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
golang.org/x/mod v0.25.0 // indirect
golang.org/x/sync v0.16.0 // indirect
golang.org/x/exp v0.0.0-20250711185948-6ae5c78190dc // indirect
golang.org/x/sys v0.34.0 // indirect
golang.org/x/text v0.27.0 // indirect
golang.org/x/tools v0.34.0 // indirect
google.golang.org/genproto/googleapis/api v0.0.0-20240701130421-f6361c86f094 // indirect
google.golang.org/genproto/googleapis/rpc v0.0.0-20240701130421-f6361c86f094 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
lukechampine.com/uint128 v1.3.0 // indirect
mellium.im/sasl v0.3.2 // indirect
modernc.org/cc/v3 v3.40.0 // indirect
modernc.org/ccgo/v3 v3.16.13 // indirect
modernc.org/libc v1.22.6 // indirect
modernc.org/mathutil v1.5.0 // indirect
modernc.org/memory v1.5.0 // indirect
modernc.org/opt v0.1.3 // indirect
modernc.org/sqlite v1.22.1 // indirect
modernc.org/strutil v1.1.3 // indirect
modernc.org/token v1.1.0 // indirect
modernc.org/libc v1.66.3 // indirect
modernc.org/mathutil v1.7.1 // indirect
modernc.org/memory v1.11.0 // indirect
modernc.org/sqlite v1.38.0 // indirect
)
Loading