Reusable Forgejo Actions and Workflows that can be used across projects.
Find a file
phoeniqs-bot 6327da06c5
All checks were successful
Code Quality Analysis / Check Code Formatting (push) Successful in 23s
[phoeniqs-bot] Bump version to v1.5.0
2026-10-20 10:03:09 +00:00
.forgejo/workflows fix: Release step now stops if version detected is wrong 2026-10-18 15:49:31 +02:00
.github [phoeniqs-bot] Bump version to v1.5.0 2026-10-20 10:03:09 +00:00
scripts [phoeniqs-bot] Bump version to v1.5.0 2026-10-20 10:03:09 +00:00
.gitattributes code format 2026-03-27 17:09:16 +01:00
.gitignore chore: code formatting 2026-10-14 14:06:10 +02:00
.prettierignore executed prettier with latest config 2026-06-29 15:01:19 +02:00
.prettierrc.json executed prettier with latest config 2026-06-29 15:01:19 +02:00
CHANGELOG.md chore: better error handling inside restart-pod 2026-10-20 11:59:50 +02:00
logo.png chore: Added logo to readme 2026-10-13 12:27:32 +02:00
package-lock.json fix(deps): update prettier to 3.9.10 (renovate) 2026-10-10 12:28:05 +00:00
package.json fix(deps): update prettier to 3.9.10 (renovate) 2026-10-10 12:28:05 +00:00
README.md [phoeniqs-bot] Bump version to v1.5.0 2026-10-20 10:03:09 +00:00
renovate.json5 chore: Move renovate.json5 to root dir as it gets confused 2026-10-16 13:00:57 +02:00

Phoeniqs

Phoeniqs Forgejo Actions

Reusable Forgejo Actions and Workflows that can be used across projects.

Available Actions

Each action has its own documentation with usage examples:

  • configure-ssh-git - Configure SSH and Git for secure repository access
  • create-changelog - Generate changelog entries using opencode
  • debug-context - Dump key GitHub context variables for debugging
  • maven-cache - Cache Maven dependencies with monthly and branch-based keys
  • resolve-version - Resolve application version for Quarkus projects
  • restart-pod - Restart Kubernetes pods in OpenShift clusters
  • setup-agents - Install and configure opencode for AI-assisted steps
  • setup-forgejo - Install forgejocli and configure Forgejo environment variables
  • setup-maven - Prepare Maven settings.xml with repository and mirror configuration
  • setup-mvnd - Install the Maven daemon (mvnd) with integrity verification and recommended CI options
  • validate-versions - Validate version patterns in project metadata files

Available Workflows

Each workflow has its own documentation with usage examples:

  • create-changelog-api-md - Generate API changelog entries from GraphQL schema diffs and commit to CHANGELOG.API.md
  • create-changelog-md - Generate changelog entries from merged PRs and commit to CHANGELOG.md
  • forgejo-create-release - Create a Forgejo release from an existing git tag and changelog entry
  • one-click-release - Orchestrate a full release: version bump, changelog, release PR, CI verification, back-merge, and Forgejo release
  • pr-lint - Validate PR titles and bodies against configurable standards
  • restart-pod - Restart a pod in an OpenShift/Kubernetes cluster

Usage

Note

Always specify the version tag (e.g. @v1.5.0), not a branch name, to ensure reproducible workflow runs.

Note

Due to Forgejo limitations all actions and workflows had to be placed inside .github directory for compatibility. The .forgejo directory contains actions related to this repository itself and are not meant to be referenced by other projects.

Using Actions

Reference any action directly by its fully qualified URL with a version tag:

steps:
  - name: Validate versions
    uses: https://git.kvant.cloud/phoenix-oss/forgejo-actions/.github/actions/validate-versions@v1.5.0
    with:
      metadata-file-path: ".github/project.yaml"

Using Workflows

Reference any reusable workflow directly by its fully qualified URL with a version tag: (Deprecated)

jobs:
  pr-lint:
    uses: https://git.kvant.cloud/phoenix-oss/forgejo-actions/.github/workflows/pr-lint/workflow.yml@v1.5.0

Warning

Due to Forgejo limitations currently in order to have fully working reusable workflows an alternative approach has to be taken. More information in Workflows Readme

Releasing

To cut a new release of this repository:

  1. Add the new version to CHANGELOG.md — add a new ## [X.Y.Z] - YYYY-MM-DD section at the top with the changes for this release.
  2. Run the Release workflow — go to the Actions tab, select the Release workflow, and click Run workflow. You can either:
    • Leave the version input as latest (default) — the workflow will pick the top entry from CHANGELOG.md.
    • Type a specific version (e.g. 1.0.0) — the workflow will look it up in CHANGELOG.md.

The workflow will then:

  • Verify the version exists in CHANGELOG.md
  • Check it's not already the latest Forgejo release
  • Find the previous release tag and replace all @vX.Y.Z references with the new version
  • Commit the change, create the new tag, and push to main
  • Create the Forgejo release with release notes extracted from the changelog

Code Formatting

First, install dependencies with node:

npm install

Check for formatting errors:

npm run check

Automatically fix and format code:

npm run write