mirror of
https://github.com/ivuorinen/gh-action-readme.git
synced 2026-02-05 18:45:39 +00:00
* chore(lint): added nlreturn, run linting * chore(lint): replace some fmt.Sprintf calls * chore(lint): replace fmt.Sprintf with strconv * chore(lint): add goconst, use http lib for status codes, and methods * chore(lint): use errors lib, errCodes from internal/errors * chore(lint): dupl, thelper and usetesting * chore(lint): fmt.Errorf %v to %w, more linters * chore(lint): paralleltest, where possible * perf(test): optimize test performance by 78% - Implement shared binary building with package-level cache to eliminate redundant builds - Add strategic parallelization to 15+ tests while preserving environment variable isolation - Implement thread-safe fixture caching with RWMutex to reduce I/O operations - Remove unnecessary working directory changes by leveraging embedded templates - Add embedded template system with go:embed directive for reliable template resolution - Fix linting issues: rename sharedBinaryError to errSharedBinary, add nolint directive Performance improvements: - Total test execution time: 12+ seconds → 2.7 seconds (78% faster) - Binary build overhead: 14+ separate builds → 1 shared build (93% reduction) - Parallel execution: Limited → 15+ concurrent tests (60-70% better CPU usage) - I/O operations: 66+ fixture reads → cached with sync.RWMutex (50% reduction) All tests maintain 100% success rate and coverage while running nearly 4x faster.
142 lines
3.6 KiB
Cheetah
142 lines
3.6 KiB
Cheetah
# {{.Name}}
|
|
|
|
{{if .Branding}} {{end}}
|
|

|
|

|
|
|
|
> {{.Description}}
|
|
|
|
## 🚀 Quick Start
|
|
|
|
```yaml
|
|
name: My Workflow
|
|
on: [push, pull_request]
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- name: {{.Name}}
|
|
uses: {{gitUsesString .}}
|
|
{{if .Inputs}}with:
|
|
{{- range $key, $val := .Inputs}}
|
|
{{$key}}: {{if $val.Default}}"{{$val.Default}}"{{else}}"value"{{end}}
|
|
{{- end}}{{end}}
|
|
```
|
|
|
|
{{if .Inputs}}
|
|
## 📥 Inputs
|
|
|
|
| Parameter | Description | Required | Default |
|
|
|-----------|-------------|----------|---------|
|
|
{{- range $key, $input := .Inputs}}
|
|
| `{{$key}}` | {{$input.Description}} | {{if $input.Required}}✅{{else}}❌{{end}} | {{if $input.Default}}`{{$input.Default}}`{{else}}-{{end}} |
|
|
{{- end}}
|
|
{{end}}
|
|
|
|
{{if .Outputs}}
|
|
## 📤 Outputs
|
|
|
|
| Parameter | Description |
|
|
|-----------|-------------|
|
|
{{- range $key, $output := .Outputs}}
|
|
| `{{$key}}` | {{$output.Description}} |
|
|
{{- end}}
|
|
{{end}}
|
|
|
|
## 💡 Examples
|
|
|
|
<details>
|
|
<summary>Basic Usage</summary>
|
|
|
|
```yaml
|
|
- name: {{.Name}}
|
|
uses: {{gitUsesString .}}
|
|
{{if .Inputs}}with:
|
|
{{- range $key, $val := .Inputs}}
|
|
{{$key}}: {{if $val.Default}}"{{$val.Default}}"{{else}}"example-value"{{end}}
|
|
{{- end}}{{end}}
|
|
```
|
|
</details>
|
|
|
|
<details>
|
|
<summary>Advanced Configuration</summary>
|
|
|
|
```yaml
|
|
- name: {{.Name}} with custom settings
|
|
uses: {{gitUsesString .}}
|
|
{{if .Inputs}}with:
|
|
{{- range $key, $val := .Inputs}}
|
|
{{$key}}: {{if $val.Default}}"{{$val.Default}}"{{else}}"custom-value"{{end}}
|
|
{{- end}}{{end}}
|
|
```
|
|
</details>
|
|
|
|
{{if .Dependencies}}
|
|
## 📦 Dependencies
|
|
|
|
This action uses the following dependencies:
|
|
|
|
| Action | Version | Author | Description |
|
|
|--------|---------|--------|-------------|
|
|
{{- range .Dependencies}}
|
|
| {{if .MarketplaceURL}}[{{.Name}}]({{.MarketplaceURL}}){{else}}{{.Name}}{{end}} | {{if .IsPinned}}🔒{{end}}{{.Version}} | [{{.Author}}](https://github.com/{{.Author}}) | {{.Description}} |
|
|
{{- end}}
|
|
|
|
<details>
|
|
<summary>📋 Dependency Details</summary>
|
|
|
|
{{range .Dependencies}}
|
|
### {{.Name}}{{if .Version}} @ {{.Version}}{{end}}
|
|
|
|
{{if .IsPinned}}
|
|
- 🔒 **Pinned Version**: Locked to specific version for security
|
|
{{else}}
|
|
- 📌 **Floating Version**: Using latest version (consider pinning for security)
|
|
{{end}}
|
|
- 👤 **Author**: [{{.Author}}](https://github.com/{{.Author}})
|
|
{{if .MarketplaceURL}}- 🏪 **Marketplace**: [View on GitHub Marketplace]({{.MarketplaceURL}}){{end}}
|
|
{{if .SourceURL}}- 📂 **Source**: [View Source]({{.SourceURL}}){{end}}
|
|
{{if .WithParams}}
|
|
- **Configuration**:
|
|
```yaml
|
|
with:
|
|
{{- range $key, $value := .WithParams}}
|
|
{{$key}}: {{$value}}
|
|
{{- end}}
|
|
```
|
|
{{end}}
|
|
|
|
{{end}}
|
|
|
|
{{$hasLocalDeps := false}}
|
|
{{range .Dependencies}}{{if .IsLocalAction}}{{$hasLocalDeps = true}}{{end}}{{end}}
|
|
{{if $hasLocalDeps}}
|
|
### Same Repository Dependencies
|
|
{{range .Dependencies}}{{if .IsLocalAction}}
|
|
- [{{.Name}}]({{.SourceURL}}) - {{.Description}}
|
|
{{end}}{{end}}
|
|
{{end}}
|
|
|
|
</details>
|
|
{{end}}
|
|
|
|
## 🔧 Development
|
|
|
|
See the [action.yml](./action.yml) for the complete action specification.
|
|
|
|
## 📄 License
|
|
|
|
This action is distributed under the MIT License. See [LICENSE](LICENSE) for more information.
|
|
|
|
## 🤝 Contributing
|
|
|
|
Contributions are welcome! Please feel free to submit a Pull Request.
|
|
|
|
---
|
|
|
|
<div align="center">
|
|
<sub>🚀 Generated with <a href="https://github.com/ivuorinen/gh-action-readme">gh-action-readme</a></sub>
|
|
</div>
|