Centralized configurations and reusable GitHub Actions workflows for the gofiber organization.
Each workflow can be consumed from other repositories with:
jobs:
example:
uses: gofiber/.github/.github/workflows/<workflow-file>@main
# with: ...
# secrets: ...
Runs golangci-lint with the same defaults as the gofiber repositories.
- Inputs: go-version (default 1.25.x), working-directory (default .), golangci-version (default v2.5.0), config-path (default .github/.golangci.yml), config-repository (default gofiber/.github), config-ref (default main), use-shared-config (default true).
Runs gotestsum across the Go/test matrix used in gofiber/fiber by default.
- Inputs: go-versions JSON array (default ["1.25.x"]), platforms JSON array (default ["ubuntu-latest", "windows-latest", "macos-latest"]), working-directory (default .), package-pattern (default ./...), codecov-flags (default unittests), codecov-slug (default ${{ github.repository }}), enable-codecov (default true), enable-repeated (default true).
- Secrets: optional codecov-token when publishing coverage.
Runs markdownlint-cli2 against Markdown files.
- Inputs: globs (newline-separated list) and optional config path. Defaults match the organization markdown workflow.
Runs Release Drafter with a configurable config path fetched from this repo by default.
- Inputs: config-path (default .github/release-drafter.yml), config-repository (default gofiber/.github), config-ref (default main).
- Secrets: optional release-token with contents:write permission; otherwise uses the default token.
Applies labels from the shared configuration in this repository using the gofiber/multi-labeler action. The base configuration captures labels common to gofiber/contrib and gofiber/fiber; repository-specific rules (for example, versioned branches in gofiber/fiber) should be added via a repo-local labeler.yml that extends this shared file.
- Inputs: config-path (default .github/labeler.yml), config-repository (default gofiber/.github), config-ref (default main).
- Secrets: optional github-token with pull_requests:write and issues:write; otherwise uses the default token.
Automatically enables auto-merge on Dependabot pull requests.
- Inputs: match_pattern (regex of status check names to wait for, default test|discover|go), wait-delay (seconds before the first poll, default 60).
- Secrets: github-token with pull_requests:write and contents:write. Declared optional, but a PAT is required in practice: the Actions bot may not approve a pull request, so the default token cannot get the merge through.
- Only runs when the actor is dependabot[bot].
- Merges minor and patch updates, plus github_actions majors - but not for four glue actions, and not in this repository, whose reusable workflows no pull request check here exercises.
Runs Go security checks.
- Inputs: run-govulncheck (default true), run-codeql (default false), working-directory (default .), go-version (default stable).
- CodeQL publishes results to code scanning when enabled.
Pushes documentation (or any directory) from the caller repository to another repository.
- Inputs: source-path, destination-repo, optional destination-branch, destination-path, commit-message, git-user-name, git-user-email.
- Secrets: destination-token with push access to the destination repository.
This repository also stores configuration that should remain identical across gofiber projects:
- .github/release-drafter.yml: Release Drafter template and categories used by the release-drafter workflow.
- .github/labeler.yml: Label mappings used by the auto-labeler workflow.
- .github/.golangci.yml: golangci-lint rules used by the go-lint workflow.
When consuming the corresponding workflows, the shared configuration is automatically fetched from this repository unless you override the inputs.