# Frontend Commons This repository contains consolidated boilerplates, CI/CD pipelines, and utilities for setting up frontend projects. ## CI/CD GitHub (forgejo) pipelines and other CI/CD utilities for the frontends Phoenix Technologies maintains. Its purpose is to provide unified and consistent CI/CD workflows for all recent frontend projects developed and operated within our company, ensuring alignment, quality, and maintainability across setups. ## Build Containers are built using dedicated `Dockerfile`s located in the `/docker` directory within each project repository. After the build, the images are pushed to the registry. ### `Build Standalone` A standard single-repository project with a `package.json` file located at the root, managing dependencies for the entire project. ##### Inputs | Key | Description | Required | | ------------------------- | ------------------------------- | -------- | | `PACKAGE_WRITER_USERNAME` | User name of the package writer | ✓ | ##### Secrets | Key | Description | Required | | --------------------------- | -------------------------------------------------- | -------- | | `PACKAGE_WRITE_TOKEN` | Accesstoken of the package writer | ✓ | | `FONTAWESOME_PACKAGE_TOKEN` | Fontawesome Pro library token (Only if fa in use ) | | ### `Build Monorepo` A monorepo project based on Turborepo, with individual projects located under the `/apps/` directory. ##### Inputs | Key | Description | Required | | ------------------------- | ------------------------------- | -------- | | `PACKAGE_WRITER_USERNAME` | User name of the package writer | ✓ | | `PROJECT_ID` | ID of the projcet | ✓ | | `TURBO_TEAM` | Turbo repo team ID | | | `TURBO_API` | Turbo repo API | | ##### Secrets | Key | Description | Required | | --------------------------- | -------------------------------------------------- | -------- | | `PACKAGE_WRITE_TOKEN` | Access token of the package writer | ✓ | | `TURBO_TOKEN` | Access token for turbo cache | | | `FONTAWESOME_PACKAGE_TOKEN` | Fontawesome Pro library token (Only if fa in use ) | | ## Authors - Thomas Sauter, thomas.sauter@phoenix-technologies.ch