This commit is contained in:
Thomas Sauter 2025-10-22 21:11:52 +02:00
parent 1fcceab8bb
commit eb656dbab6
Signed by: thomas.sauter
GPG key ID: 015161F81E6A3C65
4 changed files with 64 additions and 6 deletions

View file

@ -1,4 +1,4 @@
name: Build and push name: Build and push (monorepo)
on: on:
workflow_call: workflow_call:
inputs: inputs:
@ -8,9 +8,9 @@ on:
PROJECT_ID: PROJECT_ID:
required: true required: true
type: string type: string
jobs: jobs:
build: build_and_push:
name: Build and push
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Set current time - name: Set current time

View file

@ -1,4 +1,4 @@
name: Build and push name: Build and push (standalone)
on: on:
workflow_call: workflow_call:
inputs: inputs:
@ -6,8 +6,7 @@ on:
required: true required: true
type: string type: string
jobs: jobs:
build: build_and_push:
name: Build and push
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Set current time - name: Set current time

45
.github/workflows/lint-monorepo.yaml vendored Normal file
View file

@ -0,0 +1,45 @@
name: Linting and type checking (monorepo)
on:
workflow_call:
inputs:
PACKAGE_WRITER_USERNAME:
required: true
type: string
jobs:
linting_type_checking:
runs-on: ubuntu-latest
env:
NO_YARN_POSTINSTALL: 1
TURBO_TEAM: ${{ vars.TURBO_TEAM }}
TURBO_API: ${{ vars.TURBO_API }}
TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }}
FONTAWESOME_PACKAGE_TOKEN: ${{ secrets.FONTAWESOME_PACKAGE_TOKEN }}
steps:
- name: Checkout repository
uses: actions/checkout@v5
- name: Set up Node.js and Corepack
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Enable Corepack
run: |
corepack enable
- name: Install dependencies
run: |
yarn install --immutable --inline-builds
- name: Build packages
run: |
yarn run build:packages
- name: Lint source code (eslint)
run: |
yarn run lint
- name: Static type checking (TypeScript)
run: |
yarn run check-types

View file

@ -14,6 +14,12 @@ Containers are built using dedicated `Dockerfile`s located in the `/docker` dire
A standard single-repository project with a `package.json` file located at the root, managing dependencies for the entire project. A standard single-repository project with a `package.json` file located at the root, managing dependencies for the entire project.
##### Vars (inherited)
| Key | Description | Required |
| ------------ | --------------- | -------- |
| `IMAGE_PATH` | Image base path | ✓ |
##### Inputs ##### Inputs
| Key | Description | Required | | Key | Description | Required |
@ -48,6 +54,14 @@ A monorepo project based on Turborepo, with individual projects located under th
| `TURBO_TOKEN` | Access token for turbo cache | | | `TURBO_TOKEN` | Access token for turbo cache | |
| `FONTAWESOME_PACKAGE_TOKEN` | Fontawesome Pro library token (Only if fa in use ) | | | `FONTAWESOME_PACKAGE_TOKEN` | Fontawesome Pro library token (Only if fa in use ) | |
##### Vars (inherited)
| Key | Description | Required |
| ----------------- | ------------------ | -------- |
| `IMAGE_BASE_PATH` | Image base path | ✓ |
| `TURBO_TEAM` | Turbo repo team ID | |
| `TURBO_API` | Turbo repo api url | |
## Authors ## Authors
- Thomas Sauter, thomas.sauter@phoenix-technologies.ch - Thomas Sauter, thomas.sauter@phoenix-technologies.ch