- Add govulncheck, Snyk, and Trivy vulnerability scanning - Create security workflow for automated scanning on push/PR/schedule - Add gitleaks for secrets detection and prevention - Implement EditorConfig linting with eclint and editorconfig-checker - Update Makefile with security and formatting targets - Create SECURITY.md with vulnerability reporting guidelines - Configure Dependabot for automated dependency updates - Fix all EditorConfig violations across codebase - Update Go version to 1.23.10 to address stdlib vulnerabilities - Add tests for internal/helpers package (80% coverage) - Remove deprecated functions and migrate to error-returning patterns - Fix YAML indentation in test fixtures to resolve test failures
Composite Example Action
Overview
Test Composite Action for gh-action-readme dependency analysis
This GitHub Action provides a robust solution for your CI/CD pipeline with comprehensive configuration options and detailed output information.
Table of Contents
- Quick Start
- Configuration
- Input Parameters
- Output Parameters
- Examples
- Dependencies
- Troubleshooting
- Contributing
- License
Quick Start
Add the following step to your GitHub Actions workflow:
name: CI/CD Pipeline
on:
push:
branches: [ main, develop ]
pull_request:
branches: [ main ]
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout Repository
uses: actions/checkout@v4
- name: Composite Example Action
uses: your-org/ @v1
with:
node-version: "20"
working-directory: "."
Configuration
This action supports various configuration options to customize its behavior according to your needs.
Input Parameters
| Parameter | Description | Type | Required | Default Value |
|---|---|---|---|---|
node-version |
Node.js version to use | string |
❌ No | 20 |
working-directory |
Working directory | string |
❌ No | . |
Parameter Details
node-version
Node.js version to use
- Type: String
- Required: No
- Default:
20
with:
node-version: "20"
working-directory
Working directory
- Type: String
- Required: No
- Default:
.
with:
working-directory: "."
Output Parameters
This action provides the following outputs that can be used in subsequent workflow steps:
| Parameter | Description | Usage |
|---|---|---|
build-result |
Build result status | \${{ steps. .outputs.build-result }} |
Using Outputs
- name: Composite Example Action
id: action-step
uses: your-org/ @v1
- name: Use Output
run: |
echo "build-result: \${{ steps.action-step.outputs.build-result }}"
Examples
Basic Usage
- name: Basic Composite Example Action
uses: your-org/ @v1
with:
node-version: "20"
working-directory: "."
Advanced Configuration
- name: Advanced Composite Example Action
uses: your-org/ @v1
with:
node-version: "20"
working-directory: "."
env:
GITHUB_TOKEN: \${{ secrets.GITHUB_TOKEN }}
Conditional Usage
- name: Conditional Composite Example Action
if: github.event_name == 'push'
uses: your-org/ @v1
with:
node-version: "20"
working-directory: "."
📦 Dependencies
This action uses the following dependencies:
| Action | Version | Author | Description |
|---|---|---|---|
| Checkout repository | v4 | actions | |
| Setup Node.js | v4 | actions | |
| Install dependencies | 🔒 | ivuorinen | Shell script execution |
| Run tests | 🔒 | ivuorinen | Shell script execution |
| Build project | v4 | actions |
📋 Dependency Details
Checkout repository @ v4
-
📌 Floating Version: Using latest version (consider pinning for security)
-
👤 Author: actions
-
🏪 Marketplace: View on GitHub Marketplace
-
📂 Source: View Source
-
Configuration:
with: fetch-depth: 0 token: ${{ github.token }}
Setup Node.js @ v4
-
📌 Floating Version: Using latest version (consider pinning for security)
-
👤 Author: actions
-
🏪 Marketplace: View on GitHub Marketplace
-
📂 Source: View Source
-
Configuration:
with: cache: npm node-version: ${{ inputs.node-version }}
Install dependencies
-
🔒 Pinned Version: Locked to specific version for security
-
👤 Author: ivuorinen
-
📂 Source: View Source
Run tests
-
🔒 Pinned Version: Locked to specific version for security
-
👤 Author: ivuorinen
-
📂 Source: View Source
Build project @ v4
-
📌 Floating Version: Using latest version (consider pinning for security)
-
👤 Author: actions
-
🏪 Marketplace: View on GitHub Marketplace
-
📂 Source: View Source
-
Configuration:
with: node-version: ${{ inputs.node-version }}
Same Repository Dependencies
-
Install dependencies - Shell script execution
-
Run tests - Shell script execution
Troubleshooting
Common Issues
- Authentication Errors: Ensure you have set up the required secrets in your repository settings.
- Permission Issues: Check that your GitHub token has the necessary permissions.
- Configuration Errors: Validate your input parameters against the schema.
Getting Help
- Check the action.yml for the complete specification
- Review the examples directory for more use cases
- Open an issue if you encounter problems
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Development Setup
- Fork this repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
This project is licensed under the MIT License. See the LICENSE file for details.
Support
If you find this action helpful, please consider:
- ⭐ Starring this repository
- 🐛 Reporting issues
- 💡 Suggesting improvements
- 🤝 Contributing code