Merge pull request #37 from actions/ncalteen/copilot

Add Copilot Configuration
This commit is contained in:
Nick Alteen 2025-07-15 14:41:16 -04:00 committed by GitHub
commit 7b93064372
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
16 changed files with 191 additions and 45 deletions

4
.checkov.yaml Normal file
View File

@ -0,0 +1,4 @@
quiet: true
skip-check:
- CKV_DOCKER_2
- CKV_DOCKER_3

69
.github/copilot-instructions.md vendored Normal file
View File

@ -0,0 +1,69 @@
# Copilot Instructions
This GitHub Action is written as a Docker container that invokes an entrypoint
script. The entrypoint script is responsible for invoking the main logic of the
action.
## Repository Structure
| Path | Description |
| -------------------- | ----------------------------------- |
| `.devcontainer/` | Development Container Configuration |
| `.github/` | GitHub Configuration |
| `.markdown-lint.yml` | Markdown Linter Configuration |
| `.prettierrc.yml` | Prettier Formatter Configuration |
| `.yaml-lint.yml` | YAML Linter Configuration |
| `action.yml` | GitHub Action Metadata |
| `CODEOWNERS` | Code Owners File |
| `Dockerfile` | Dockerfile for the Action |
| `entrypoint.sh` | Entrypoint Script |
| `LICENSE` | License File |
| `README.md` | Project Documentation |
## General Coding Guidelines
- Follow standard shell scripting conventions and best practices
- Changes should maintain consistency with existing patterns and style
- Document changes clearly and thoroughly, including updates to existing
comments when appropriate
- Do not include basic, unnecessary comments that simply restate what the code
is doing (focus on explaining _why_, not _what_)
- Use consistent error handling patterns throughout the codebase
- Keep functions focused and manageable
- Use descriptive variable and function names that clearly convey their purpose
- When suggesting code changes, always opt for the most maintainable approach.
Try your best to keep the code clean and follow "Don't Repeat Yourself" (DRY)
principles
- Avoid unnecessary complexity and always consider the long-term maintainability
of the code
### Versioning
GitHub Actions are versioned using branch and tag names. The version should
follow [Semantic Versioning](https://semver.org/) principles.
## Pull Request Guidelines
When creating a pull request (PR), please ensure that:
- Keep changes focused and minimal (avoid large changes, or consider breaking
them into separate, smaller PRs)
- Formatting checks pass
- Linting checks pass
- If necessary, the `README.md` file is updated to reflect any changes in
functionality or usage
The body of the PR should include:
- A summary of the changes
- A special note of any changes to dependencies
- A link to any relevant issues or discussions
- Any additional context that may be helpful for reviewers
## Code Review Guidelines
When performing a code review, please follow these guidelines:
- If there are changes that modify the functionality/usage of the action,
validate that there are changes in the `README.md` file that document the new
or modified functionality

View File

@ -1,6 +0,0 @@
quiet: true
skip-check:
# Ensure that HEALTHCHECK instructions have been added to container images
- CKV_DOCKER_2
# Ensure that a user for the container has been created
- CKV_DOCKER_3

View File

@ -0,0 +1,34 @@
# Create Release Notes
You are an expert technical writer tasked with creating release notes for
updates to this repository. Your specific task is to generate release notes that
are clear, concise, and useful for developers and users of the project.
## Guidelines
Ensure you adhere to the following guidelines when creating release notes:
- Use a clear and consistent format for the release notes
- Include a summary of the changes made in the release
- Highlight any new features, improvements, or bugfixes
- If applicable, include instructions for upgrading or migrating to the new
version
- Use technical language that is appropriate for the audience, but avoid jargon
that may not be understood by all users
- Ensure that the release notes are easy to read and navigate
- Include relevant issue or PR numbers where applicable
- Use proper Markdown formatting
- Use code blocks for commands, configuration examples, or code changes
- Use note and warning callouts for important information
## Versioning
GitHub Actions are versioned using branch and tag names. The version should
reflect the changes made in the codebase and follow
[Semantic Versioning](https://semver.org/) principles. Depending on the nature
of the changes, please make sure to adjust the release notes accordingly:
- For **major** changes, include a detailed description of the breaking changes
and how users can adapt to them
- For **minor** changes, highlight new features and improvements
- For **patch** changes, focus on bugfixes and minor improvements

View File

@ -2,6 +2,8 @@ name: Continuous Integration
on:
pull_request:
branches:
- main
push:
branches:
- main

View File

@ -1,7 +1,14 @@
# This workflow will lint the entire codebase using the
# `super-linter/super-linter` action.
#
# For more information, see the super-linter repository:
# https://github.com/super-linter/super-linter
name: Lint Codebase
on:
pull_request:
branches:
- main
push:
branches:
- main
@ -29,4 +36,5 @@ jobs:
env:
DEFAULT_BRANCH: main
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
LINTER_RULES_PATH: ${{ github.workspace }}
VALIDATE_ALL_CODEBASE: true

1
.gitignore vendored
View File

@ -21,5 +21,4 @@ Thumbs.db
# IDE files
.idea
.vscode
*.code-workspace

View File

@ -1,7 +1,13 @@
# See: https://github.com/DavidAnson/markdownlint
# Unordered list style
MD004:
style: dash
# Disable line length for tables
MD013:
tables: false
# Ordered list item prefix
MD029:
style: one

View File

@ -1,16 +0,0 @@
{
"printWidth": 80,
"tabWidth": 2,
"useTabs": false,
"semi": false,
"singleQuote": true,
"quoteProps": "as-needed",
"jsxSingleQuote": false,
"trailingComma": "none",
"bracketSpacing": true,
"bracketSameLine": true,
"arrowParens": "avoid",
"proseWrap": "always",
"htmlWhitespaceSensitivity": "css",
"endOfLine": "lf"
}

16
.prettierrc.yml Normal file
View File

@ -0,0 +1,16 @@
# See: https://prettier.io/docs/en/configuration
printWidth: 80
tabWidth: 2
useTabs: false
semi: false
singleQuote: true
quoteProps: as-needed
jsxSingleQuote: false
trailingComma: none
bracketSpacing: true
bracketSameLine: true
arrowParens: always
proseWrap: always
htmlWhitespaceSensitivity: css
endOfLine: lf

9
.vscode/mcp.json vendored Normal file
View File

@ -0,0 +1,9 @@
{
"servers": {
"github": {
"url": "https://api.githubcopilot.com/mcp/",
"type": "http"
}
},
"inputs": []
}

15
.vscode/settings.json vendored Normal file
View File

@ -0,0 +1,15 @@
{
"github.copilot.chat.reviewSelection.instructions": [
{
"text": "Review the code changes carefully before accepting them."
}
],
"github.copilot.chat.commitMessageGeneration.instructions": [
{
"text": "Use conventional commit message format."
}
],
"github.copilot.chat.pullRequestDescriptionGeneration.instructions": [
{ "text": "Always include a list of key changes." }
]
}

View File

@ -1,3 +1,5 @@
# See: https://yamllint.readthedocs.io/en/stable/
rules:
document-end: disable
document-start:
@ -8,3 +10,5 @@ rules:
max: 80
allow-non-breakable-words: true
allow-non-breakable-inline-mappings: true
ignore:
- .licenses/

View File

@ -1,3 +1,7 @@
# Repository CODEOWNERS
############################################################################
# Repository CODEOWNERS #
# Order is important! The last matching pattern takes the most precedence. #
############################################################################
# Default owners, unless a later match takes precedence.
* @actions/actions-oss-maintainers

View File

@ -1,23 +1,16 @@
# Container Action Template
# Create a Container Action
[![GitHub Super-Linter](https://github.com/actions/container-action/actions/workflows/linter.yml/badge.svg)](https://github.com/super-linter/super-linter)
[![Check dist/](https://github.com/actions/container-action/actions/workflows/check-dist.yml/badge.svg)](https://github.com/actions/container-action/actions/workflows/check-dist.yml)
![CI](https://github.com/actions/container-action/actions/workflows/ci.yml/badge.svg)
[![CodeQL](https://github.com/actions/container-action/actions/workflows/codeql-analysis.yml/badge.svg)](https://github.com/actions/container-action/actions/workflows/codeql-analysis.yml)
[![Coverage](./badges/coverage.svg)](./badges/coverage.svg)
Use this template to bootstrap the creation of a container action. :rocket:
This template includes compilation support, tests, a validation workflow,
publishing, and versioning guidance.
If you are new, there's also a simpler introduction in the
[Hello World Docker Action](https://github.com/actions/hello-world-docker-action)
repository.
If you would like to use the
[GitHub Actions Toolkit](https://github.com/actions/toolkit) in your container
action, see the
[Container Toolkit Action](https://github.com/actions/container-toolkit-action)
repository.
## Create Your Own Action
To create your own action, you can use this repository as a template! Just
@ -166,7 +159,7 @@ So, what are you waiting for? Go ahead and start customizing your action!
Your action is now published! :rocket:
For information about versioning your action, see
[Versioning](https://github.com/actions/toolkit/blob/master/docs/action-versioning.md)
[Versioning](https://github.com/actions/toolkit/blob/main/docs/action-versioning.md)
in the GitHub Actions toolkit.
## Validate the Action
@ -179,7 +172,7 @@ action in the same repository.
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Test Local Action
id: test-action
@ -199,7 +192,7 @@ For example workflow runs, check out the
After testing, you can create version tag(s) that developers can use to
reference different stable versions of your action. For more information, see
[Versioning](https://github.com/actions/toolkit/blob/master/docs/action-versioning.md)
[Versioning](https://github.com/actions/toolkit/blob/main/docs/action-versioning.md)
in the GitHub Actions toolkit.
To include the action in a workflow in another repository, you can use the
@ -210,7 +203,7 @@ hash.
steps:
- name: Checkout
id: checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: Test Local Action
id: test-action

View File

@ -1,18 +1,23 @@
name: 'The name of your action here'
description: 'Provide a description here'
author: 'Your name or organization here'
name: The name of your action here
description: Provide a description here
author: Your name or organization here
# Add your action's branding here. This will appear on the GitHub Marketplace.
branding:
icon: heart
color: red
# Define your inputs here.
inputs:
who-to-greet:
description: 'Your input description here'
description: Your input description here
required: true
default: 'World'
default: World
# Define your outputs here.
outputs:
greeting:
description: 'Your output description here'
description: Your output description here
runs:
using: docker