Files
hatchet/hack/dev/compression-test/scripts/build_and_test.sh
T
Sid Premkumar 709dd89a18 Add gzip compression (#2539)
* Add gzip compression init

* revert

* Feat: Initial cross-domain identify setup (#2533)

* feat: initial setup

* fix: factor out

* chore: lint

* fix: xss vuln

* feat: set up properly

* fix: lint

* fix: key

* fix: keys, cleanup

* Fix: use sessionStorage instead of localStorage (#2541)

* chore(deps): bump golang.org/x/crypto from 0.44.0 to 0.45.0 (#2545)

Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.44.0 to 0.45.0.
- [Commits](https://github.com/golang/crypto/compare/v0.44.0...v0.45.0)

---
updated-dependencies:
- dependency-name: golang.org/x/crypto
  dependency-version: 0.45.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* chore(deps): bump google/osv-scanner-action/.github/workflows/osv-scanner-reusable-pr.yml (#2547)

Bumps [google/osv-scanner-action/.github/workflows/osv-scanner-reusable-pr.yml](https://github.com/google/osv-scanner-action) from 2.2.4 to 2.3.0.
- [Release notes](https://github.com/google/osv-scanner-action/releases)
- [Commits](https://github.com/google/osv-scanner-action/compare/v2.2.4...v2.3.0)

---
updated-dependencies:
- dependency-name: google/osv-scanner-action/.github/workflows/osv-scanner-reusable-pr.yml
  dependency-version: 2.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* [Go SDK] Resubscribe and get a new listener stream when gRPC connections fail (#2544)

* fix listener cache issue to resubscribe when erroring out

* worker retry message clarification (#2543)

* add another retry layer and add comments

* fix loop logic

* make listener channel retry

* Compression test utils, and add log to indicate its enabled

* clean + fix

* more fallbacks

* common pgxpool afterconnect method (#2553)

* remove

* lint

* lint

* add cpu monitor during test

* fix background monitor and lint

* Make envvar to disable compression

* cleanup monitoring

* PR Feedback

* Update paths in compression tests + bump package versions

* path issue on test script

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: matt <mrkaye97@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Mohammed Nafees <hello@mnafees.me>
2025-11-26 17:14:38 -05:00

83 lines
2.0 KiB
Bash
Executable File

#!/bin/bash
# build_and_test.sh - Build images and run tests for current branch
set -e
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
TEST_DIR="$(cd "$SCRIPT_DIR/.." && pwd)"
REPO_ROOT="$(cd "$TEST_DIR/../../.." && pwd)"
STATE=${1:-enabled}
HATCHET_CLIENT_TOKEN=${HATCHET_CLIENT_TOKEN:-""}
if [ -z "$HATCHET_CLIENT_TOKEN" ]; then
echo "Error: HATCHET_CLIENT_TOKEN environment variable is required"
echo "Usage: export HATCHET_CLIENT_TOKEN='your-token' && $0 [enabled|disabled]"
exit 1
fi
echo "=========================================="
echo "Building and Testing Compression Suite"
echo "State: $STATE"
echo "=========================================="
echo ""
# Navigate to repo root
cd "$REPO_ROOT"
echo "Building Docker images..."
echo ""
# Build Go SDK
echo "Building Go SDK image..."
docker build -t "go-${STATE}-compression" -f hack/dev/compression-test/Dockerfile.client-go . || {
echo "Error: Failed to build Go SDK image"
exit 1
}
# Build TypeScript SDK
echo "Building TypeScript SDK image..."
docker build -t "typescript-${STATE}-compression" -f hack/dev/compression-test/Dockerfile.client-ts . || {
echo "Error: Failed to build TypeScript SDK image"
exit 1
}
# Build Python SDK
echo "Building Python SDK image..."
docker build -t "python-${STATE}-compression" -f hack/dev/compression-test/Dockerfile.client-python . || {
echo "Error: Failed to build Python SDK image"
exit 1
}
echo ""
echo "All images built successfully!"
echo ""
# Navigate to test directory
cd "$TEST_DIR"
# Run setup if needed
if ! docker network ls | grep -q hatchet-test; then
echo "Running setup..."
./scripts/setup.sh
fi
echo ""
echo "Running tests with HATCHET_CLIENT_TOKEN..."
echo ""
# Export token for all test runs
export HATCHET_CLIENT_TOKEN
# Run all tests
./scripts/run_all_tests.sh "$STATE"
echo ""
echo "Generating report..."
./scripts/generate_report.sh
echo ""
echo "=========================================="
echo "Build and test complete!"
echo "=========================================="