- Shell 100%
|
All checks were successful
Code Quality Analysis / Check Code Formatting (push) Successful in 23s
|
||
|---|---|---|
| .forgejo/workflows | ||
| .github | ||
| scripts | ||
| .gitattributes | ||
| .gitignore | ||
| .prettierignore | ||
| .prettierrc.json | ||
| CHANGELOG.md | ||
| logo.png | ||
| package-lock.json | ||
| package.json | ||
| README.md | ||
| renovate.json5 | ||
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 accesscreate-changelog- Generate changelog entries using opencodedebug-context- Dump key GitHub context variables for debuggingmaven-cache- Cache Maven dependencies with monthly and branch-based keysresolve-version- Resolve application version for Quarkus projectsrestart-pod- Restart Kubernetes pods in OpenShift clusterssetup-agents- Install and configure opencode for AI-assisted stepssetup-forgejo- Install forgejocli and configure Forgejo environment variablessetup-maven- Prepare Mavensettings.xmlwith repository and mirror configurationsetup-mvnd- Install the Maven daemon (mvnd) with integrity verification and recommended CI optionsvalidate-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 toCHANGELOG.API.mdcreate-changelog-md- Generate changelog entries from merged PRs and commit toCHANGELOG.mdforgejo-create-release- Create a Forgejo release from an existing git tag and changelog entryone-click-release- Orchestrate a full release: version bump, changelog, release PR, CI verification, back-merge, and Forgejo releasepr-lint- Validate PR titles and bodies against configurable standardsrestart-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
.githubdirectory for compatibility. The.forgejodirectory 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:
- Add the new version to
CHANGELOG.md— add a new## [X.Y.Z] - YYYY-MM-DDsection at the top with the changes for this release. - Run the Release workflow — go to the Actions tab, select the Release workflow, and click Run workflow. You can either:
- Leave the
versioninput aslatest(default) — the workflow will pick the top entry fromCHANGELOG.md. - Type a specific version (e.g.
1.0.0) — the workflow will look it up inCHANGELOG.md.
- Leave the
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.Zreferences 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