GitHub Action to setup common Homelab requirements like an SSH-Agent w/ SSH Certificate based auth & trust for self-signed CA Certs.
Find a file
2025-09-16 16:11:10 +00:00
.forgejo/workflows chore(deps): update https://git.auengun.net/actions/forgejo-release action to v2.7.3 2025-09-16 12:30:34 +00:00
LICENSES adjusting for license changes + commit-and-tag-version 2025-03-19 10:52:53 -06:00
.gitignore ci: consistency sweeping patterns of release/tagging/licensing 2025-05-13 12:14:54 -05:00
.renovaterc.json5 adjusting for license changes + commit-and-tag-version 2025-03-19 10:52:53 -06:00
.version chore(release): 1.5.0 2025-07-29 14:52:09 +00:00
.version.license ci: consistency sweeping patterns of release/tagging/licensing 2025-05-13 12:14:54 -05:00
.versionrc fix(ci): adjust to .versionrc file w/ skipped steps & plain-text formatter 2025-03-19 11:31:24 -06:00
.versionrc.license fix(ci): adjust to .versionrc file w/ skipped steps & plain-text formatter 2025-03-19 11:31:24 -06:00
action.yml chore(deps): update https://git.auengun.net/actions/checkout action to v5 2025-08-13 00:34:11 +00:00
Makefile ci: consistency sweeping patterns of release/tagging/licensing 2025-05-13 12:14:54 -05:00
README.md rework for forgejo updates 2025-07-28 17:11:50 -05:00

action-common-setup

A little composite action to consistently setup GitHub Actions across my homelab runner environments.

  • If the ssh-agent bin exists
    • Starts a fresh ssh-agent
    • Sets the env vars for future steps
  • Installs the step binary for step-ca commands
  • Bootstraps the environment for the Homelab SPM CA Trust
    • Tries to update any CA certs for the system that were missed.
    • Configures git commands for https://git.auengun.net to use the Root CA for trust.
  • If JWK_PASSWORD is defined:
    • Attempts to provision a ssh user certificate for the ${{ github.actor }} (username of the user that triggered the initial workflow run) for clone/inter-node actions.
    • Runs step ssh config to update known hosts and other params for easier ssh commands.
  • Clones the repo's code into the /workspace using https://code.forgejo.org/actions/checkout

Example

name: Terraform - Apply

on:
  pull_request:
    types: [labeled]

jobs:
  apply-on-label:
    name: Apply on Label
    if: contains(github.event.pull_request.labels.*.name, 'terraform/apply')
    runs-on: ubuntu-latest
    steps:
      - name: Homelab Setup
        uses: https://git.auengun.net/homelab/action-common-setup@main
        with:
          STEP_CA_JWK_PASSWORD: ${{ secrets.STEP_CA_JWK_PASSWORD }}