diff --git a/.github/workflows/build-monorepo.yaml b/.github/workflows/build-monorepo.yaml index 12888db..15df981 100644 --- a/.github/workflows/build-monorepo.yaml +++ b/.github/workflows/build-monorepo.yaml @@ -8,10 +8,6 @@ on: PROJECT_ID: required: true type: string - DOCKER_REGISTRY: - required: false - type: string - default: git.kvant.cloud jobs: build_and_push: @@ -30,9 +26,7 @@ jobs: tags: | type=ref,event=branch,branch=dev,suffix=-{{sha}},optional=true type=ref,event=branch,branch=dev,value=dev,optional=true - type=match,event=tag,pattern=.*_?(v\d+\.\d+\.\d+(?:-[\w\d.-]+)?),group=1,prefix=,optional=true - type=match,event=tag,pattern=.*_?(v\d+\.\d+\.\d+(?:-[\w\d.-]+)?),value=latest,optional=true - type=match,event=tag,pattern=.*v(\\d+\\.\\d+\\.\\d+).*,group=1,prefix=v,optional=true + type=match,event=tag,pattern=v(.*),group=1,prefix=v,optional=true - name: Print (debug) Docker meta JSON uses: https://github.com/actions/github-script@v8 @@ -51,7 +45,7 @@ jobs: - name: Login into gitea registry uses: docker/login-action@v3 with: - registry: ${{ inputs.DOCKER_REGISTRY }} + registry: git.kvant.cloud username: ${{ inputs.PACKAGE_WRITER_USERNAME }} password: ${{ secrets.PACKAGE_WRITER_TOKEN }} diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 409c2e7..a0b064a 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -5,10 +5,6 @@ on: PACKAGE_WRITER_USERNAME: required: true type: string - DOCKER_REGISTRY: - required: false - type: string - default: git.kvant.cloud jobs: build_and_push: runs-on: ubuntu-latest @@ -26,8 +22,10 @@ jobs: tags: | type=ref,event=branch,branch=dev,suffix=-{{sha}},optional=true type=ref,event=branch,branch=dev,value=dev,optional=true - type=match,event=tag,pattern=v(\d+\.\d+\.\d+(?:-[\w\d.-]+)?),group=1,prefix=v,optional=true - type=match,event=tag,pattern=v(\d+\.\d+\.\d+(?:-[\w\d.-]+)?),value=latest,optional=true + type=match,event=tag,pattern=v(.*),group=1,prefix=v,optional=true + type=match,event=tag,pattern=v(.*),value=latest,optional=true + flavor: | + latest=false - name: Print (debug) Docker meta JSON uses: https://github.com/actions/github-script@v8 @@ -51,7 +49,7 @@ jobs: - name: Login into gitea registry uses: docker/login-action@v3 with: - registry: ${{ inputs.DOCKER_REGISTRY }} + registry: git.kvant.cloud username: ${{ inputs.PACKAGE_WRITER_USERNAME }} password: ${{ secrets.PACKAGE_WRITER_TOKEN }} diff --git a/.github/workflows/lint.yaml b/.github/workflows/lint.yaml index fff5418..5e219e1 100644 --- a/.github/workflows/lint.yaml +++ b/.github/workflows/lint.yaml @@ -41,10 +41,6 @@ jobs: env: NO_YARN_POSTINSTALL: 1 FONTAWESOME_PACKAGE_TOKEN: ${{ secrets.FONTAWESOME_PACKAGE_TOKEN }} - TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} - TURBO_API: ${{ vars.TURBO_API }} - TURBO_TEAM: ${{ vars.TURBO_TEAM }} - TURBO_URL: ${{ vars.TURBO_URL }} steps: - name: Checkout repository uses: actions/checkout@v5 diff --git a/README.md b/README.md index 47d0f65..8d40f7b 100644 --- a/README.md +++ b/README.md @@ -8,31 +8,13 @@ GitHub (forgejo) pipelines and other CI/CD utilities for the frontends Phoenix T ## .Github Workflows: Build and push containers -### Docker / Container 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. -### Tagging - -Only tags following the specified patterns will be considered within container tags. Any other patterns will be ignored, ensuring adherence to the established tagging policy. - -#### Standalone - -- v1.0.0 -- v1.0.0-\ - -#### Monorepo - -- \_v1.0.0 -- \_v1.0.0-\ - -### Pipelines - -#### `Build` +### `Build` A standard single-repository project with a `package.json` file located at the root, managing dependencies for the entire project. -###### Vars (inherited) +##### Vars (inherited) Setuped on org or repo level. @@ -40,13 +22,13 @@ Setuped on org or repo level. | ------------ | --------------- | -------- | | `IMAGE_PATH` | Image base path | ✓ | -###### Inputs +##### Inputs | Key | Description | Required | | ------------------------- | ------------------------------- | -------- | | `PACKAGE_WRITER_USERNAME` | User name of the package writer | ✓ | -###### Secrets +##### Secrets Note: Secrets must be explicitly passed to workflows, even if they are defined at the repository or organization level. This is due to the way Forgejo handles secrets in workflows. @@ -55,11 +37,11 @@ Note: Secrets must be explicitly passed to workflows, even if they are defined a | `PACKAGE_WRITE_TOKEN` | Accesstoken of the package writer | ✓ | | `FONTAWESOME_PACKAGE_TOKEN` | Fontawesome Pro library token (Only needed if FA in use ) | | -#### `Build-Monorepo` +### `Build-Monorepo` A monorepo project based on Turborepo, with individual projects located under the `/apps/` directory. -###### Vars (inherited) +##### Vars (inherited) Setuped on org or repo level. @@ -69,14 +51,14 @@ Setuped on org or repo level. | `TURBO_TEAM` | Turbo repo team ID | | | `TURBO_API` | Turbo repo api url | | -###### Inputs +##### Inputs | Key | Description | Required | | ------------------------- | ------------------------------- | -------- | | `PACKAGE_WRITER_USERNAME` | User name of the package writer | ✓ | | `PROJECT_ID` | ID of the projcet | ✓ | -###### Secrets +##### Secrets Note: Secrets must be explicitly passed to workflows, even if they are defined at the repository or organization level. This is due to the way Forgejo handles secrets in workflows. @@ -88,13 +70,11 @@ Note: Secrets must be explicitly passed to workflows, even if they are defined a ## .Github Workflows: Linting, type checking, code analyzis, dependency tracking -### Pipelines - -#### `Lint` +### `Lint` Linting, type checking, sonarqube, dependency tracking, any testing -###### Vars (inherited) +##### Vars (inherited) Setuped on org or repo level. @@ -104,7 +84,7 @@ Setuped on org or repo level. | `TURBO_API` | Turbo repo api url (only applicable on monorepos) | | | `SONAR_HOST_URL` | Sonarqube Host (required if sonarqube is enabled) | | -###### Inputs +##### Inputs | Key | Description | Required | | -------------------- | ---------------------------------------------------------------------------------- | -------- | @@ -115,7 +95,7 @@ Setuped on org or repo level. | `LINT_SCRIPT` | Script which runs eslint; default: `yarn run lint` | | | `CHECK_TYPES_SCRIPT` | Script which runs tsc type checking: `yarn run check-types` | | -###### Secrets +##### Secrets Note: Secrets must be explicitly passed to workflows, even if they are defined at the repository or organization level. This is due to the way Forgejo handles secrets in workflows.