Shared Forgejo Actions
  • Dockerfile 75.1%
  • Shell 24.9%
Find a file
2026-08-18 05:19:09 +00:00
.devcontainer chore: remove unused extensions 2026-05-04 07:13:53 +00:00
.forgejo/workflows feat: migrate/create reusable actions for ansible 2026-08-17 13:21:54 +02:00
aikido-full-scan fix: strip leading slash from forgejo.repository in aikido full scan 2026-05-21 07:50:37 +00:00
aikido-pr-scan fix: reference internal actions as full qualified shared actions 2026-05-04 12:56:45 +00:00
ansible-deploy feat: migrate/create reusable actions for ansible 2026-08-17 13:21:54 +02:00
ansible-lint feat: migrate/create reusable actions for ansible 2026-08-17 13:21:54 +02:00
ansible-setup feat: migrate/create reusable actions for ansible 2026-08-17 13:21:54 +02:00
aws-configure feat: add aws-access-key-id and aws-secret-access-key inputs to aws-configure action 2026-05-04 09:04:49 +00:00
aws-lambda-alias-update feat: add aws-lambda-alias-update and aws-lambda-wait-for-provisioned-concurrency actions 2026-06-25 10:40:28 +00:00
aws-lambda-wait-for-provisioned-concurrency feat: add aws-lambda-alias-update and aws-lambda-wait-for-provisioned-concurrency actions 2026-06-25 10:40:28 +00:00
cache feat: add cache action 2026-05-05 06:04:14 +00:00
checkout fix: correct SSH support by resolving checkout server URL based on provided ssh-key 2026-08-13 11:23:57 +00:00
download-artifact feat: add download-artifact and upload-artifact actions with documentation 2026-05-22 09:55:02 +00:00
esb-deploy fix: action did not provide stage toggle 2026-06-17 08:01:38 +02:00
generate-release-notes fix(generate-release-notes): resolve base-ref/head-ref as branch, tag, or SHA 2026-08-06 13:53:16 +02:00
helm-deploy docs: switch example to v2 2026-07-17 08:20:59 +00:00
i18n-sync feat(i18n-sync): add support for region-qualified locale codes in inputs 2026-08-11 06:58:42 +00:00
inject-content feat: add inject-content action 2026-05-05 12:23:18 +00:00
internal-aikido-full-scan chore(internal-aikido-full-scan, internal-aikido-pr-scan): remove --include-dev-deps parameter to align Local Scanning behaviour to Cloud Scanning 2026-07-09 05:55:20 +00:00
internal-aikido-pr-scan chore(internal-aikido-full-scan, internal-aikido-pr-scan): remove --include-dev-deps parameter to align Local Scanning behaviour to Cloud Scanning 2026-07-09 05:55:20 +00:00
maven-build fix: actually provide maven profile 2026-06-17 09:41:57 +02:00
playwright-merge feat: add playwright actions with documentation 2026-06-08 15:06:22 +00:00
playwright-run feat: add no-deps and projects inputs to playwright-run action 2026-06-24 10:01:11 +00:00
pnpm-build fix(pnpm-build): run dedupe --check after install, not before 2026-08-04 18:35:26 +02:00
publish-npm-package feat: add publish actions with documentation 2026-06-11 07:34:01 +00:00
publish-release-notes-via-webhook chore: add identifier 2026-08-06 12:41:14 +02:00
publish-rust-crate feat: add publish actions with documentation 2026-06-11 07:34:01 +00:00
publish-static-contents fix: update cache control argument handling for S3 sync 2026-06-01 12:35:17 +00:00
publish-tag feat: add publish tag action 2026-07-17 14:11:51 +02:00
publish-timestamp-tag feat: add publish timestamp tag action 2026-07-20 11:15:23 +02:00
rust-build chore(rust-build): clippy no longer fails on warnings 2026-06-25 12:46:40 +00:00
terraform-apply fix(terraform-apply, terraform-plan, terraform-validate): use TF_WORKSPACE environment variable instead of terraform select workspace to select the workspace 2026-07-08 09:00:50 +00:00
terraform-plan fix(terraform-apply, terraform-plan, terraform-validate): use TF_WORKSPACE environment variable instead of terraform select workspace to select the workspace 2026-07-08 09:00:50 +00:00
terraform-validate fix(terraform-apply, terraform-plan, terraform-validate): use TF_WORKSPACE environment variable instead of terraform select workspace to select the workspace 2026-07-08 09:00:50 +00:00
upload-artifact feat: add retry mechanism for artifact uploads with configurable wait time 2026-07-02 09:02:01 +00:00
vacuum-lint feat: add vacuum-lint action with documentation 2026-06-03 14:42:18 +00:00
CODEOWNERS ci: add codeowners 2026-04-24 16:05:57 +02:00
README.md feat: migrate/create reusable actions for ansible 2026-08-17 13:21:54 +02:00

shared-actions

Shared actions for Forgejo CI/CD pipelines.

Actions

Action Description
aikido-full-scan Aikido full scan
aikido-pr-scan Aikido PR scan
ansible-deploy Install dependencies and run a list of Ansible playbooks
ansible-lint Validate inventory, lint, and syntax-check Ansible playbooks
ansible-setup Set up Python venv, pip dependencies, and cached Galaxy roles for Ansible
aws-configure Authenticate with AWS via OIDC
aws-lambda-alias-update Update Aliases of Lambda Functions to a new Version
aws-lambda-wait-for-provisioned-concurrency Wait until the Provisioned Concurrency is Ready for Lambda Functions
cache Cache files between workflow runs
checkout Action for checking out a repository
download-artifact Download Forgejo Actions artifacts by name or pattern
generate-release-notes Generate human-readable release notes from git commit log using Opencode
helm-deploy Deploy a service to Kubernetes via Helm over SSH
i18n-sync Fetch translations from i18n.schmalz.com and open a pull request
inject-content Inject content into a file by appending or overwriting
maven-build Action for building and validating Maven projects
playwright-merge Merge Playwright shard blob reports and publish consolidated reports
playwright-run Run Playwright tests for one shard and upload its blob report
pnpm-build Action for building and validating with PNPM
publish-tag Create and push a git tag to the current repository
publish-timestamp-tag Create and push a timestamp-based git tag to the current repository
publish-npm-package Publish a PNPM package to JFrog Artifactory
publish-rust-crate Publish a Rust crate to JFrog Artifactory
publish-release-notes-via-webhook Send release notes to a Microsoft Teams channel via a Power Automate webhook
publish-static-contents Syncs frontend assets to S3 and invalidates a CloudFront distribution
rust-build Set up Rust toolchain, run checks, and build via the project's build.sh
terraform-apply Apply Terraform configuration files using the official Terraform CLI
terraform-plan Preview Terraform infrastructure changes (create, update, delete, replace) without applying them
terraform-validate Validate Terraform configuration files using the official Terraform CLI
upload-artifact Upload files as a Forgejo Actions artifact
vacuum-lint Validate and lint OpenAPI specifications using Vacuum

Security

Where third-party Forgejo/GitHub Actions are used internally, they are pinned to exact commit hashes rather than mutable tags to prevent supply chain attacks.

Adding a new Action

  • Create a new directory for the action
  • Implement the action
  • Add a README.md file that describes (1) purpose, (2) inputs using a table, (3) example usage, and additional details if requried to the action directory
  • Update the table in the main README (this file) with a new row. The list is sorted alphabetically.
  • Update the tag-release.yml workflow in the .forgejo/ directory if the action is a public action: Add the name to the option list.

Releasing a new Version

We only use Major-Versions, e.g. 1, 2, 3, etc.

  • Decide which Version to use
    • Breaking Change: Increment the current version by one (e.g. 1 -> 2)
    • All non-breaking changes: Stay on the current major version (1 -> 1)
  • Manually run the tag-release.yml workflow
    • Branch: main
    • Action: Name of the Action to release
    • Version: The version to release

Usage

Reference actions from your project's workflow:

- uses: https://schmalz-git.git.onstackit.cloud/schmalz/shared-actions/<action-name>@<action-name>-v1
  with:
    # see each action's README for inputs

Each action has its own README with inputs, usage examples, and notes.