Files
gh-action-readme/templates_embed/templates/themes/gitlab/readme.tmpl
Ismo Vuorinen 4f12c4d3dd feat(lint): add many linters, make all the tests run fast! (#23)
* 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.
2025-08-06 15:28:09 +03:00

95 lines
1.9 KiB
Cheetah

# {{.Name}}
{{if .Branding}}**{{.Branding.Icon}}** {{end}}**{{.Description}}**
---
## Installation
Add this action to your GitLab CI/CD pipeline or GitHub workflow:
### GitHub Actions
```yaml
steps:
- name: {{.Name}}
uses: your-org/{{.Name | lower | replace " " "-"}}@v1
{{if .Inputs}}with:
{{- range $key, $val := .Inputs}}
{{$key}}: {{if $val.Default}}{{$val.Default}}{{else}}value{{end}}
{{- end}}{{end}}
```
### GitLab CI/CD
```yaml
{{.Name | lower | replace " " "-"}}:
stage: build
image: node:20
script:
- # Your action logic here
{{if .Inputs}}variables:
{{- range $key, $val := .Inputs}}
{{$key | upper}}: {{if $val.Default}}{{$val.Default}}{{else}}value{{end}}
{{- end}}{{end}}
```
## Configuration
{{if .Inputs}}
### Input Parameters
{{range $key, $input := .Inputs}}
#### `{{$key}}`
- **Description**: {{$input.Description}}
- **Type**: String{{if $input.Required}}
- **Required**: Yes{{else}}
- **Required**: No{{end}}{{if $input.Default}}
- **Default**: `{{$input.Default}}`{{end}}
{{end}}
{{end}}
{{if .Outputs}}
### Output Parameters
{{range $key, $output := .Outputs}}
#### `{{$key}}`
- **Description**: {{$output.Description}}
{{end}}
{{end}}
## Usage Examples
### Basic Example
```yaml
{{.Name | lower | replace " " "-"}}:
stage: deploy
script:
- echo "Using {{.Name}}"
{{if .Inputs}}variables:
{{- range $key, $val := .Inputs}}
{{$key | upper}}: "{{if $val.Default}}{{$val.Default}}{{else}}example{{end}}"
{{- end}}{{end}}
```
### Advanced Example
For more complex scenarios, refer to the [action.yml](./action.yml) specification.
## Documentation
- [Action specification](./action.yml)
- [Usage examples](./examples/)
- [Contributing guidelines](./CONTRIBUTING.md)
## License
This project is licensed under the MIT License.
---
*Generated with [gh-action-readme](https://github.com/ivuorinen/gh-action-readme)*