Skip to content

Latest commit

 

History

1,517 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Actions

Composite and Node GitHub Actions, reusable workflows and shared Renovate presets, each released under its own tag.

CI License

What this is

One repository holding the CI parts the other repositories in this account call: the actions under actions/, the callable workflows under workflows/, and the Renovate presets and branch rulesets under configs/.

Each directory is its own release-please component, so actions/rust/clippy and actions/bun/setup-cached are versioned and tagged apart from each other. A tag names the component it belongs to, as actions-<path>-vX.Y.Z or workflows-<path>-vX.Y.Z. The tables below carry the current tag of every component and the uses: line that pins it.

Quick start

Copy a uses: line from the tables below. It pins the released tag to the commit that tag points at, and repeats the tag in a trailing comment.

Then extend the shared Renovate preset in your renovate.json:

{
  "extends": ["github>TimSchoenle/actions//configs/renovate/base"]
}

The preset installs a regex manager that matches exactly that shape. It also turns Renovate's built-in github-actions manager off for this repository, so a pin written without its # tag= comment matches nothing and never moves. The versioning regex carries the component prefix through as its compatibility group. That is what stops a release of actions-rust-clippy being offered as an upgrade to actions-bun-setup-cached.

Table of contents

Usage

Actions

The first column links to the action's directory. Its action.yaml declares the inputs and the outputs. Where an action needs more than that, a README sits next to it.

Bun

Action Description Version Usage
Bun Setup-cached Sets up Bun and manages dependency caching. actions-bun-setup-cached-v1.1.10 uses: TimSchoenle/actions/actions/bun/setup-cached@cbdcf6fd08b46059064bc9c91efa6b610a9ee7db # tag=actions-bun-setup-cached-v1.1.10

Common

Action Description Version Usage
Close Pull Request Closes a pull request actions-common-close-pull-request-v1.3.2 uses: TimSchoenle/actions/actions/common/close-pull-request@c36446abd6998a728ff87b5b73c2718e12af6983 # tag=actions-common-close-pull-request-v1.3.2
Commit Changes Commits changes using the GitHub API to ensure verified bot commits. actions-common-commit-changes-v1.3.3 uses: TimSchoenle/actions/actions/common/commit-changes@57e5492e68be560bddac3c6fc9ba0a944cfee961 # tag=actions-common-commit-changes-v1.3.3
Common Modify YAML A action to modify a value in a YAML file while strictly preserving comments and structure actions-common-modify-yaml-v1.4.3 uses: TimSchoenle/actions/actions/common/modify-yaml@704c71fc1b0cac28ef7c10357c284a9b0f133e22 # tag=actions-common-modify-yaml-v1.4.3
Common Read YAML A action to read a value from a YAML file using dot notation actions-common-read-yaml-v1.2.1 uses: TimSchoenle/actions/actions/common/read-yaml@7efaecb5aae4f1b50f567b357cd91cfa2a1191ac # tag=actions-common-read-yaml-v1.2.1
Common Readme Variables Collect the standard README render payload — repository facts, release, toolchain and a docs index — as strict JSON for render-template actions-common-readme-variables-v1.1.0 uses: TimSchoenle/actions/actions/common/readme-variables@b5b5c9e047f00ffa00b7772536c8bdb4f158f706 # tag=actions-common-readme-variables-v1.1.0
Create Branch Creates or resets a git branch using GitHub API. actions-common-create-branch-v1.4.2 uses: TimSchoenle/actions/actions/common/create-branch@7c48fd3e0108a94d9b2a83f87c455d6991d65347 # tag=actions-common-create-branch-v1.4.2
Create Pull Request Creates or updates a pull request using GitHub App authentication with optional branch reset. actions-common-create-pull-request-v1.0.12 uses: TimSchoenle/actions/actions/common/create-pull-request@5dc57f8787b2e2572fc2419c8446b7cdd33c37a4 # tag=actions-common-create-pull-request-v1.0.12
Delete-Branch Deletes a branch from a repository. Fails gracefully if the branch does not exist. actions-common-delete-branch-v1.3.2 uses: TimSchoenle/actions/actions/common/delete-branch@8c880e3ff510c01a8615bff10c989657797d7759 # tag=actions-common-delete-branch-v1.3.2
Get App Git Identity Resolves the git identity (username, email, user ID) for a GitHub App bot. actions-common-get-app-git-identity-v1.3.2 uses: TimSchoenle/actions/actions/common/get-app-git-identity@975ae3a2616f52d8752f801a7f345e90c7c4f6e7 # tag=actions-common-get-app-git-identity-v1.3.2
Render Template A action to render a Handlebars template file to an output file from a JSON map of variables, deterministically actions-common-render-template-v1.1.1 uses: TimSchoenle/actions/actions/common/render-template@3b7d152374ee63e720e7c16bed8b088b40554911 # tag=actions-common-render-template-v1.1.1
Render Template And Commit Renders a Handlebars template to a file and commits the result as a verified bot commit, skipping the commit when the render changed nothing. actions-common-render-template-and-commit-v1.1.3 uses: TimSchoenle/actions/actions/common/render-template-and-commit@15d83f02081c9dc8a844646199c63792dcccdfa8 # tag=actions-common-render-template-and-commit-v1.1.3
Setup App Git Identity Configures git with the identity of a GitHub App bot and outputs the bot details. actions-common-setup-app-git-identity-v1.3.3 uses: TimSchoenle/actions/actions/common/setup-app-git-identity@b93859026b0ec9920179417cb6c7dcc206ab85bc # tag=actions-common-setup-app-git-identity-v1.3.3

Helm

Action Description Version Usage
Apply Helm Chart Updates Applies a set of templated image updates to a Helm chart's values.yaml and bumps Chart.yaml, preserving comments and structure. Every image carries its own version and digest. actions-helm-apply-chart-updates-v1.2.1 uses: TimSchoenle/actions/actions/helm/apply-chart-updates@64ea1ec370145ec92148b80717c12033b82375cd # tag=actions-helm-apply-chart-updates-v1.2.1
Update Helm Chart Version Updates a Helm chart's image tags, version and appVersion, then opens a Pull Request. Every image carries its own version and digest, so one call can move a chart with many services. This action requires a bot account with access to the charts repo. actions-helm-update-chart-version-v1.6.3 uses: TimSchoenle/actions/actions/helm/update-chart-version@3b83076da17618c3221049eb1e671f20e8403694 # tag=actions-helm-update-chart-version-v1.6.3

Helper

Action Description Version Usage
Helper Verify-branch-name Verify the head branch of a pull request matches a pattern and check whether it comes from a fork actions-helper-verify-branch-name-v1.3.2 uses: TimSchoenle/actions/actions/helper/verify-branch-name@ccd39d7d3c44988aa79b393a284d0c622cfe7808 # tag=actions-helper-verify-branch-name-v1.3.2
Resolve Branch Resolve the given base branch or return default branch. With optional existence check. actions-helper-resolve-base-branch-v1.3.2 uses: TimSchoenle/actions/actions/helper/resolve-base-branch@45e613e1449fb05c672e2817d48e161d35f15704 # tag=actions-helper-resolve-base-branch-v1.3.2
Verify Commit Authors Verifies that all commits in a PR are authored by a specific set of users and are signed. actions-helper-verify-commit-authors-v1.3.2 uses: TimSchoenle/actions/actions/helper/verify-commit-authors@7f0fe78248481f8d61f8a683bcd86b783b1251a0 # tag=actions-helper-verify-commit-authors-v1.3.2

Java-gradle

Action Description Version Usage
Java-gradle Auto-spotless Automatically apply spotless formatting and commit changes. actions-java-gradle-auto-spotless-v1.1.16 uses: TimSchoenle/actions/actions/java-gradle/auto-spotless@84fb33691fb190da99c4a84c4bf56737f12bb972 # tag=actions-java-gradle-auto-spotless-v1.1.16
Java-Gradle default setup Setup Java and Gradle environment for building, with opinionated default settings actions-java-gradle-setup-base-environment-v1.2.9 uses: TimSchoenle/actions/actions/java-gradle/setup-base-environment@e9ac4a44bc0c474dc91d1e0e69d61d8bf8aa8f46 # tag=actions-java-gradle-setup-base-environment-v1.2.9

Maintenance

Action Description Version Usage
Maintenance Auto-approve-pr Auto approve Pull Requests with the given user ids and branches. actions-maintenance-auto-approve-pr-v1.3.2 uses: TimSchoenle/actions/actions/maintenance/auto-approve-pr@abf371d5c6afa750195ca35b42161c472b9a6f6f # tag=actions-maintenance-auto-approve-pr-v1.3.2
Maintenance Ensure-actions-are-executed Ensures selected checks completed successfully when they were started. actions-maintenance-ensure-actions-are-executed-v1.3.2 uses: TimSchoenle/actions/actions/maintenance/ensure-actions-are-executed@c837042661a52c9e413ec0d6eb13a013152e98b3 # tag=actions-maintenance-ensure-actions-are-executed-v1.3.2

Rust

Action Description Version Usage
Rust Auto-format Action that runs cargo fmt and commits changes. actions-rust-auto-format-v1.1.11 uses: TimSchoenle/actions/actions/rust/auto-format@bde85524c019be605fa345f4203c4a37b68f1336 # tag=actions-rust-auto-format-v1.1.11
Rust Cargo-check Action that runs cargo check to verify Rust code compiles without errors. actions-rust-cargo-check-v1.1.5 uses: TimSchoenle/actions/actions/rust/cargo-check@5798c7bd8d1d98a0c7360114e91a0ac3b86bf145 # tag=actions-rust-cargo-check-v1.1.5
Rust Clippy Action that runs clippy to catch common mistakes and improve your Rust code. actions-rust-clippy-v1.1.9 uses: TimSchoenle/actions/actions/rust/clippy@dcfb46a6a17ad8565db74057ce60278953056ad5 # tag=actions-rust-clippy-v1.1.9
Rust Config Contract Action that checks a terrace-config contract, its Dockerfile LABEL block and a built image against the configuration types they claim to describe. actions-rust-config-contract-v1.1.0 uses: TimSchoenle/actions/actions/rust/config-contract@99c83581b3486a8a9f28e43226b8f02025fcdf9a # tag=actions-rust-config-contract-v1.1.0
Rust Coverage (Codecov) Action that runs cargo llvm-cov to generate code coverage and uploads to Codecov. actions-rust-coverage-codecov-v1.1.39 uses: TimSchoenle/actions/actions/rust/coverage-codecov@207f2cffd44a2c761e4cffe05133190db5f70577 # tag=actions-rust-coverage-codecov-v1.1.39
Rust Test Action that runs cargo nextest to verify Rust code passes tests. actions-rust-test-v1.1.1 uses: TimSchoenle/actions/actions/rust/test@c6844b562767b6e68fff4d39bdf9eced6e29b318 # tag=actions-rust-test-v1.1.1

Test

Action Description Version Usage
Setup E2E Test Sets up the environment for E2E testing: generates token, checks out test repo, and checks out actions code. actions-test-setup-e2e-v1.2.2 uses: TimSchoenle/actions/actions/test/setup-e2e@9aabf0be4b0008aa5bdc479b556851c3a5c54d93 # tag=actions-test-setup-e2e-v1.2.2

Reusable workflows

Releasing one of these publishes it onto its tag at .github/workflows/<category>-<name>.yaml, which is the path the uses: line resolves. Read and change the source under workflows/.

Maintenance

Workflow Description Version Usage
Auto Format Reusable workflow to auto-format code by running a "bun run" script and commit changes. workflows-maintenance-auto-bun-prettier-v1.1.27 uses: TimSchoenle/actions/.github/workflows/maintenance-auto-bun-prettier.yaml@08f9d3edd630b7e9a6624b16a26bdfbb26f65fce # tag=workflows-maintenance-auto-bun-prettier-v1.1.27
Auto-Approve & Merge Timed PRs Reusable workflow that automatically verifies, approves, and merges Pull Requests that match a specific branch pattern and have been open for a configurable duration. It ensures all commits are signed and authored by trusted users. workflows-maintenance-timed-auto-pr-approve-v1.2.32 uses: TimSchoenle/actions/.github/workflows/maintenance-timed-auto-pr-approve.yaml@e6fecc9f09559eced99c451f433a5bbe7027193e # tag=workflows-maintenance-timed-auto-pr-approve-v1.2.32
Maintenance Auto-approve-renovate Reusable workflow to auto approve Renovate PRs, this is useful to auto merge Renovate PRs which have auto-merge enabled. workflows-maintenance-auto-approve-renovate-v1.4.21 uses: TimSchoenle/actions/.github/workflows/maintenance-auto-approve-renovate.yaml@f01853c3e1b3eb332b02ed77f9aaaa862687792e # tag=workflows-maintenance-auto-approve-renovate-v1.4.21
Maintenance Auto-rebase Automatically rebases open PRs with a given label. workflows-maintenance-auto-rebase-v1.1.7 uses: TimSchoenle/actions/.github/workflows/maintenance-auto-rebase.yaml@112057eff67d583e17eda2b173bc5d67eb83fb4f # tag=workflows-maintenance-auto-rebase-v1.1.7
Maintenance Wipe-cache Workflow to wipe all cache entries for the given branch. workflows-maintenance-wipe-cache-v1.1.11 uses: TimSchoenle/actions/.github/workflows/maintenance-wipe-cache.yaml@7103e418c5c928a5c0ba684e72c2f062bed96505 # tag=workflows-maintenance-wipe-cache-v1.1.11

Shared configurations

The Renovate presets are consumed through extends. The ruleset files are GitHub's own export format: download one and import it under the repository's Settings, then Rules.

GitHub Rulesets

Config Description
Default Branch: Default Protection Rules Enforces standard protection rules on the default branch: requires PRs with 1 approval (squash only), signed commits, CodeQL scanning, and passing status checks.
Release Please Branches: Trusted Bots Only Restricts access to release-please branches, allowing only trusted bots to create, update, or delete them, while enforcing code quality and signature requirements.
Release Tags: Only Allow Automatic Release Manager Bot Enforces that only the Automatic Release Manager bot can create, update, or delete release tags.
Renovate Branches: Trusted Bots & Admins Only Restricts access to Renovate branches, allowing only trusted bots (Renovate, Automatic Release Manager) and admins to manage them, while enforcing code quality and signature requirements.

Renovate

Config Description Usage
actions Versioning rules for all custom Github Actions defined in this repository "extends": ["github>TimSchoenle/actions//configs/renovate/actions"]
base Base configuration to handle custom versioning for all resources in this repository. "extends": ["github>TimSchoenle/actions//configs/renovate/base"]
ci-automerge Auto-merge rules for all none major Github Actions including custom actions defined in this repository. "extends": ["github>TimSchoenle/actions//configs/renovate/ci-automerge"]
default Default configuration for Renovate "extends": ["github>TimSchoenle/actions//configs/renovate/default"]
workflows Versioning rules for all custom Reusable Workflows defined in this repository "extends": ["github>TimSchoenle/actions//configs/renovate/workflows"]

Contributing

Issues and pull requests are welcome. CONTRIBUTING.md covers the commit convention release-please reads, the interactive generators that scaffold a new action or workflow, and the checks CI runs. This file and SECURITY.md are generated. An edit to either is reverted on the next pull request.

Security

Do not open a public issue for a vulnerability. SECURITY.md has the private reporting route and the list of supported versions.

License

Every action, workflow and config here is published under the terms in LICENSE.

About

Composite and Node GitHub Actions, reusable workflows and shared Renovate presets, each released under its own tag.

Topics

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages