Max Peintner
312b7b6010
chore: 🚀 Migrate monorepo from Yarn to pnpm + Turbo integration + Configuration cleanup ( #10165 )
...
This PR modernizes the ZITADEL monorepo build system by migrating from
Yarn to pnpm, introducing Turbo for improved build orchestration, and
cleaning up configuration inconsistencies across all apps and packages.
### 🎯 Key Improvements
#### 📦 **Package Manager Migration (Yarn → pnpm)**
- **Performance**: Faster installs with pnpm's efficient symlink-based
node_modules structure
- **Disk space**: Significant reduction in disk usage through
content-addressable storage
- **Lockfile**: More reliable dependency resolution with pnpm-lock.yaml
- **Workspace support**: Better monorepo dependency management
#### ⚡ **Turbo Integration**
- **Build orchestration**: Dependency-aware task execution across the
monorepo
- **Intelligent caching**: Dramatically faster builds on CI/CD and local
development
- **Parallel execution**: Optimal task scheduling based on dependency
graphs
- **Vercel optimization**: Enhanced build performance and caching on
Vercel deployments
#### 🧹 **Configuration Cleanup & Unification**
- **Removed config packages**: Eliminated `@zitadel/*-config` packages
and inlined configurations
- **Simplified dependencies**: Reduced complexity in package.json files
across all apps
- **Consistent tooling**: Unified prettier, ESLint, and TypeScript
configurations
- **Standalone support**: Improved prepare-standalone.js script for
subtree deployments
### 📋 Detailed Changes
#### **🔧 Build System & Dependencies**
- ✅ Updated all package.json scripts to use `pnpm` instead of `yarn`
- ✅ Replaced `yarn.lock` with pnpm-lock.yaml and regenerated
dependencies
- ✅ Added Turbo configuration (turbo.json) to root and individual
packages
- ✅ Configured proper dependency chains: `@zitadel/proto#generate` →
`@zitadel/client#build` → `console#build`
- ✅ Added missing `@bufbuild/protobuf` dependency to console app for
TypeScript compilation
#### **🚀 CI/CD & Workflows**
- ✅ Updated all GitHub Actions workflows to use `pnpm/action-setup@v4`
- ✅ Migrated build processes to use Turbo with directory-based filters
(`--filter=./console`)
- ✅ **New**: Added `docs.yml` workflow for building documentation
locally (helpful for contributors without Vercel access)
- ✅ Fixed dependency resolution issues in lint workflows
- ✅ Ensured proto generation always runs before builds and linting
#### **📚 Documentation & Proto Generation**
- ✅ **Robust plugin management**: Enhanced plugin-download.sh with retry
logic and error handling
- ✅ **Vercel compatibility**: Fixed protoc-gen-connect-openapi plugin
availability in Vercel builds
- ✅ **API docs generation**: Resolved Docusaurus build errors with
OpenAPI plugin configuration
- ✅ **Type safety**: Improved TypeScript type extraction patterns in
Angular components
#### **🛠️ Developer Experience**
- ✅ Updated all README files to reference pnpm commands
- ✅ Improved Makefile targets to use Turbo for consistent builds
- ✅ Enhanced standalone build process for login app subtree deployments
- ✅ Added debug utilities for troubleshooting build issues
#### **🗂️ File Structure & Cleanup**
- ✅ Removed obsolete configuration packages and their references
- ✅ Cleaned up Docker files to remove non-existent package copies
- ✅ Updated workspace references and import paths
- ✅ Streamlined turbo.json configurations across all packages
### 🎉 Benefits
1. **⚡ Faster Builds**: Turbo's caching and parallel execution
significantly reduce build times
2. **🔄 Better Caching**: Improved cache hits on Vercel and CI/CD
environments
3. **🛠️ Simplified Maintenance**: Unified tooling and configuration
management
4. **📈 Developer Productivity**: Faster local development with optimized
dependency resolution
5. **🚀 Enhanced CI/CD**: More reliable and faster automated builds and
deployments
6. **📖 Better Documentation**: Comprehensive build documentation and
troubleshooting guides
### 🧪 Testing
- ✅ All apps build successfully with new pnpm + Turbo setup
- ✅ Proto generation works correctly across console, login, and docs
- ✅ GitHub Actions workflows pass with new configuration
- ✅ Vercel deployments work with enhanced plugin management
- ✅ Local development workflow verified and documented
This migration sets a solid foundation for future development while
maintaining backward compatibility and improving the overall developer
experience.
---------
Co-authored-by: Elio Bischof <elio@zitadel.com >
2025-07-16 09:10:19 +02:00
Fabienne Bühler
07ce3b6905
chore!: Introduce ZITADEL v3 ( #9645 )
...
This PR summarizes multiple changes specifically only available with
ZITADEL v3:
- feat: Web Keys management
(https://github.com/zitadel/zitadel/pull/9526 )
- fix(cmd): ensure proper working of mirror
(https://github.com/zitadel/zitadel/pull/9509 )
- feat(Authz): system user support for permission check v2
(https://github.com/zitadel/zitadel/pull/9640 )
- chore(license): change from Apache to AGPL
(https://github.com/zitadel/zitadel/pull/9597 )
- feat(console): list v2 sessions
(https://github.com/zitadel/zitadel/pull/9539 )
- fix(console): add loginV2 feature flag
(https://github.com/zitadel/zitadel/pull/9682 )
- fix(feature flags): allow reading "own" flags
(https://github.com/zitadel/zitadel/pull/9649 )
- feat(console): add Actions V2 UI
(https://github.com/zitadel/zitadel/pull/9591 )
BREAKING CHANGE
- feat(webkey): migrate to v2beta API
(https://github.com/zitadel/zitadel/pull/9445 )
- chore!: remove CockroachDB Support
(https://github.com/zitadel/zitadel/pull/9444 )
- feat(actions): migrate to v2beta API
(https://github.com/zitadel/zitadel/pull/9489 )
---------
Co-authored-by: Livio Spring <livio.a@gmail.com >
Co-authored-by: Stefan Benz <46600784+stebenz@users.noreply.github.com >
Co-authored-by: Silvan <27845747+adlerhurst@users.noreply.github.com >
Co-authored-by: Ramon <mail@conblem.me >
Co-authored-by: Elio Bischof <elio@zitadel.com >
Co-authored-by: Kenta Yamaguchi <56732734+KEY60228@users.noreply.github.com >
Co-authored-by: Harsha Reddy <harsha.reddy@klaviyo.com >
Co-authored-by: Livio Spring <livio@zitadel.com >
Co-authored-by: Max Peintner <max@caos.ch >
Co-authored-by: Iraq <66622793+kkrime@users.noreply.github.com >
Co-authored-by: Florian Forster <florian@zitadel.com >
Co-authored-by: Tim Möhlmann <tim+github@zitadel.com >
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com >
Co-authored-by: Max Peintner <peintnerm@gmail.com >
2025-04-02 16:53:06 +02:00
Livio Spring
f1f500d0e7
chore: use crdb 24.3 ( #9558 )
...
# Which Problems Are Solved
E2E tests in pipelines started to fail randomly. While debugging it, i
noticed that we use the `latest` tag of cockroach's docker image. They
tagged 25.1 as latest yesterday.
# How the Problems Are Solved
Since we drop support for CRDB with version 3 as there are anyway
multiple issues with various versions, I pinned the docker image tag to
`latest-v24.3`.
# Additional Changes
None
# Additional Context
relates to https://github.com/zitadel/zitadel/actions/runs/13917603587
and https://github.com/zitadel/zitadel/actions/runs/13904928050
2025-03-18 10:52:38 +01:00
dependabot[bot]
831a21a6e2
chore(deps): bump node from 18-buster to 20-buster in /build ( #6258 )
...
Bumps node from 18-buster to 20-buster.
---
updated-dependencies:
- dependency-name: node
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-10-12 16:51:50 +00:00
Silvan
1c354ca977
ci: improve performance ( #5953 )
...
* pipeline runs on ubuntu instead of docker
* added Makefile to build zitadel core (backend) and console (frontend)
* pipeline runs in parallel where possible
* pipeline is split into multiple jobs
* removed goreleaser
* added command to check if zitadel instance is running
2023-07-17 10:08:20 +02:00