Skip to content

Conversation

@webberwang
Copy link
Member

Description

Video or Image

Related Issue(s)

Fixes #

@gitguardian
Copy link

gitguardian bot commented Jul 1, 2025

️✅ There are no secrets present in this pull request anymore.

If these secrets were true positive and are still valid, we highly recommend you to revoke them.
While these secrets were previously flagged, we no longer have a reference to the
specific commits where they were detected. Once a secret has been leaked into a git
repository, you should consider it compromised, even if it was deleted immediately.
Find here more information about risks.


🦉 GitGuardian detects secrets in your source code to help developers and security teams secure the modern development process. You are seeing this because you or someone else with access to this repository has authorized GitGuardian to scan your pull request.

Updated the README to reflect that nx.sh is no longer used and instead users should use an nx
alias to add --output-style=stream to all commands. This aligns with the current implementation
where the nx.sh wrapper script has been removed.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
webberwang and others added 24 commits July 4, 2025 11:39
Replace Terraform Cloud-based version management with direct git tag usage. Docker images are now
tagged based on semantic version tags (e.g., 1.2.3) found on commits, or 'latest' if no tag exists.

Key changes:
- Remove increment-docker-version scripts and Terraform Cloud variable updates
- Add Docker tag detection logic to env.sh for centralized version management
- Create validate-git-tag.sh script for semantic version validation
- Update all Docker build jobs to use setup-env for consistent versioning
- Add TF_VAR_DOCKER_TAG_VERSION export for Terraform compatibility
- Simplify setup-infra-workspace job by removing redundant version logic
- Add comprehensive documentation in .claude/documentation/git-tag-version-control.md

This simplifies the deployment process by using git tags as the single source of truth for
versioning, eliminating the need for external version tracking in Terraform Cloud.
Update infra-pr workflow to trigger on semantic version tags (x.y.z pattern) in addition to
staging branch. This allows tagged releases to trigger the full infrastructure deployment
pipeline.
- Update infra-pr workflow to trigger on staging branch only
- Create infra-pr-tag workflow to trigger on version tags only
- Remove unnecessary branch ignore filters from tag workflow
- Fix env.sh to use relative path for validation script

This prevents duplicate workflow runs when pushing both branch and tag.
- Replace bash validation script with Node.js validate-semver.js
- Handle all version logic in the JS script (empty, valid, invalid)
- Simplify env.sh to just call the validation script
- Remove conditional logic from env.sh for cleaner code
- Update both infra-pr and infra-pr-tag workflows to build Docker images earlier
- Docker builds now only depend on setup-infra-workspace instead of tf-apply-ci
- This allows Docker builds to run in parallel with terraform planning/applying
- Significantly reduces total pipeline time while maintaining safety checks

The production terraform deployment still waits for all Docker builds to complete
before proceeding, ensuring images are ready when needed.
…ions

- Add test environment examples for API and sites apps
- Update Auth0 Terraform client configurations for machine and web clients
- Document TypeScript class member ordering rules
- Add Ant Design icon import convention
- Include other common linting rules
- Add AppCard, AppsSummary, and PageLayout components for sites app
- Update ElementWrapper with logging integration
- Add browser logger service and React hook
- Update project configuration and dependencies
… access

Prevent TypeRef resolution errors in production mode where atom API types
aren't loaded. MobX initializes all computed properties even if unused.

Closes #3760
Add TypeScript path mapping for @codelab/frontend-application-app/use-cases/page-preview
to fix module resolution error in sites app build.
- Extract shared batching logic from server to client module
- Rename server files to follow .server.ts convention
- Enable Apollo Server batch operation support
- Configure batch fetcher with 20ms window and max 10 operations
- Eliminate code duplication between client and server fetch implementations

Co-Authored-By: Claude <noreply@anthropic.com>
- Add timing information to logger output for better performance tracking
- Convert sequential atom processing to parallel with Promise.all
- Update atom and type application services for parallel execution
- Add structured logging with operation context and duration

Co-Authored-By: Claude <noreply@anthropic.com>
- Add page production query and hydration utilities
- Update CLAUDE.md with commit guidelines
- Fix TypeScript compilation and linting issues
- Update package.json and codegen configuration
- Improve node-fetch agent configuration

Co-Authored-By: Claude <noreply@anthropic.com>
- Add 'export const dynamic = force-dynamic' to root page to prevent static generation
- Root page fetches data from API which isn't available during build
- This ensures the page is rendered at runtime when API is available
- Mock @codelab/shared-infra-auth0/client in jest.mocks.ts
- Prevents import of Next.js server-side APIs in test environment
- Fixes 'Request is not defined' error introduced in commit af4d50a
…tion to server module

- Move BatchFetcher class and related logic from client to server module
- Remove dependency on client-side batch fetch implementation
- Maintain same functionality with server-side implementation
…ve .server suffix

- Rename batch-fetch.server.ts to batch-fetch.ts
- Rename fetch-with-auth.server.ts to fetch-with-auth.ts
- Update import paths in dependent files
Remove alphabetical sorting of fields during export to maintain the original
field order based on sibling relationships. This ensures that imported and
exported data remain identical.
Add explicit tsc-check targets to override plugin's incorrect dist path resolution
- Add nvm loading before using npx to ensure node/npm are available
- Add debug logging to validate-semver.js for better error visibility
- Ensure validate-semver.js handles empty version tags gracefully
- Fix MODULE_NOT_FOUND error by loading nvm from $HOME/.nvm/nvm.sh
- Add load-nvm step after install-nvm in CircleCI jobs
- Remove manual nvm loading from env.sh
- Clean up debug output from env.sh
- This ensures nvm/node/npm are properly loaded before setup-env runs
- Add source $BASH_ENV at the end of install-nvm.sh
- Remove unnecessary load-nvm steps from all jobs
- This ensures nvm is available immediately after installation
- Simplifies the CircleCI configuration
…abase

Remove the last reference to load-nvm command from restore-workspace-database.yml
since nvm is now loaded automatically via BASH_ENV after install-nvm.sh runs.
- Check if npx exists before attempting to use it
- Add detailed error messages showing PATH, npm, and node locations
- Check if validate-semver.js exists before running
- Capture and display both stdout and stderr from validate-semver.js
- Add success/failure messages throughout the script
- Make errors more descriptive to help with debugging CI issues
- Add set +e to prevent script from exiting on non-zero return codes
- Add detailed error handling for git log command with CIRCLE_SHA1
- Add git repository check before attempting to get tags
- Show current HEAD SHA for debugging
- List all tags before filtering for semantic versions
- Handle cases where CIRCLE_SHA1 is not set or invalid
- Try npx with --package=semver@7 syntax first
- If that fails with MODULE_NOT_FOUND, install semver locally with npm
- Then retry with just node command
- This handles cases where npx doesn't properly install packages in CI
- Source BASH_ENV in "Set Node Version" step to ensure nvm is available
- Add npm/npx version output to verify installation
- Add npm config debugging to env.sh
- Test npx package installation before using it
- Show npm cache and prefix directories
- This will help identify why npx isn't installing packages properly in CI
…tallation

- Show npm registry and cache configuration
- Test npm install with verbose output
- Test npx with verbose logging
- List npm cache directory contents
- This will help identify why npm/npx cannot install packages in CI
…npm package

- Remove dependency on semver npm package in validate-semver.js
- Script now uses a simple regex to validate semantic versions
- This fixes the MODULE_NOT_FOUND error in setup-infra-workspace job
- Remove unnecessary npx/npm debugging from env.sh
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants