Reusable GitHub Actions workflows for Trembita Games RedM/RDR2 repositories.
This repository contains shared validation workflows used by public RedM/RDR2 repositories to avoid duplicating the same repository checks in every project.
The goal of this repository is to provide versioned reusable workflows for repository validation.
Caller repositories should reference workflows by release tag, not by branch name. This keeps downstream repositories protected from accidental validation changes.
Use a version tag when referencing reusable workflows:
uses: Trembita-Games/redm-github-actions/.github/workflows/validate-redm-bootstrap.yaml@v0.1.0Do not reference workflows from the main branch:
uses: Trembita-Games/redm-github-actions/.github/workflows/validate-redm-bootstrap.yaml@mainVersion tags keep caller repositories stable when this repository receives new workflow changes.
redm-github-actions/
├── .github/
│ └── workflows/
│ ├── validate-redm-bootstrap.yaml
│ ├── validate-redm-resources.yaml
│ ├── validate-redm-cfx-data.yaml
│ └── validate-redm-recipes.yaml
├── .editorconfig
├── .gitattributes
├── .gitignore
└── README.md
Reusable validation workflow placeholder for bootstrap/runtime repositories.
Target repository:
redm-vanilla-template
Expected caller workflow:
name: Validate Repository
on:
push:
branches:
- main
- master
pull_request:
branches:
- main
- master
workflow_dispatch:
permissions:
contents: read
jobs:
validate:
uses: Trembita-Games/redm-github-actions/.github/workflows/validate-redm-bootstrap.yaml@v0.1.0
with:
default_profile: dev
validate_docker: falseSupported inputs:
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
default_profile |
string |
false |
dev |
Default runtime profile expected by the bootstrap repository. |
validate_docker |
boolean |
false |
false |
Enables Docker Compose validation when implemented. |
Planned validation scope:
- Required files
- Required directories
- Runtime/generated file safety
- Git ignore rules
- Git attributes rules
- Line endings
- Bash scripts
- PowerShell scripts
- Server icon dimensions
- Config templates
- Runtime model references
- README/documentation references
- Secret placeholder safety
Reusable validation workflow placeholder for standalone resource repositories.
Target repository:
redm-server-data
Supported inputs:
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
validate_lua |
boolean |
false |
true |
Enables Lua validation checks when implemented. |
Planned validation scope:
- Resource directory structure
- Resource manifests
- Lua files
- Standalone resource rules
- Static data consistency
- README references
- Secret placeholder safety
Reusable validation workflow placeholder for base resource data repositories.
Target repository:
redm-server-data-cfx
Supported inputs:
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
validate_source_attribution |
boolean |
false |
false |
Enables source attribution checks when implemented. |
Planned validation scope:
- Base resource structure
- Resource manifests
- Source attribution checks
- Runtime file safety
- README references
Reusable validation workflow placeholder for txAdmin recipe repositories.
Target repository:
redm-txadmin-recipes
Supported inputs:
| Input | Type | Required | Default | Description |
|---|---|---|---|---|
validate_yaml |
boolean |
false |
true |
Enables YAML validation checks when implemented. |
Planned validation scope:
- YAML files
- Recipe structure
- Recipe references
- Install flow references
- Secret placeholder safety
Reusable workflows must be consumed by version tag.
Example:
uses: Trembita-Games/redm-github-actions/.github/workflows/validate-redm-bootstrap.yaml@v0.1.0Recommended release flow:
- Add or update a reusable workflow.
- Test it against the target repository.
- Create a release tag.
- Update caller repositories only when they are ready to consume the new version.
No release yet.
The first release will be created after the bootstrap validation workflow is ready for use.
Initial repository setup:
chore: initialize reusable RedM GitHub Actions repository
Add reusable validation workflow placeholders:
chore: add reusable validation workflow placeholders
Add bootstrap validation workflow logic:
chore: add reusable bootstrap validation workflow
Update documentation:
docs: document reusable workflow usage
All text, config, and code files should be saved as UTF-8 without BOM.
All files should end with a single trailing newline.
Reusable workflows should remain backward-compatible within the same minor version whenever possible.
Breaking changes should be released with a new version tag and adopted by caller repositories explicitly.