Skip to content
This repository was archived by the owner on Feb 11, 2026. It is now read-only.

Commit bb90516

Browse files
Add basic documentation + essential GitHub workflows
Documentation updates: - Update README.md - Add CONTRIBUTING guide - Add MAINTAINERS guide Git template updates: - Add issue templates for: bug reports, design changes, and feature requests - Add pull request template Essential GitHub workflows: - Add lint.yml for running lint checks - Python linting: add MyPy and PyLint - Shell linting: Add shellcheck Configurations: - Add Mergify config for Mergify bot - Add .isort.cfg and .pylintrc for Python formatting configs - Add yamllint.yaml for formatting YAML files Testing: - Add tox.ini for setting up testing environments Signed-off-by: Courtney Pacheco <6019922+courtneypacheco@users.noreply.github.com>
1 parent d408523 commit bb90516

File tree

17 files changed

+1358
-2
lines changed

17 files changed

+1358
-2
lines changed
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
---
2+
name: Bug report
3+
about: Create a report to help us improve our in-house GitHub actions
4+
title: ''
5+
labels: bug
6+
assignees: ''
7+
8+
---
9+
10+
**Describe the bug**
11+
<!-- A clear and concise description of what the bug is, including where this bug is seen. -->
12+
13+
**To Reproduce**
14+
Steps to reproduce the behavior:
15+
1. Go to '...'
16+
2. Click on '....'
17+
3. Scroll down to '....'
18+
4. See error
19+
20+
**Expected behavior**
21+
<!-- A clear and concise description of what you expected to happen. -->
22+
23+
**Screenshots**
24+
<!-- If applicable, add screenshots to help explain your problem. -->
25+
26+
**Additional context**
27+
<!-- Add any other context about the problem here. -->
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
---
2+
name: Design change
3+
about: Propose a change to the design of an existing GitHub action
4+
title: ''
5+
labels: design
6+
assignees: ''
7+
8+
---
9+
10+
**Which existing, in-house GitHub action are you looking to change?**
11+
<!-- Provide the name of one GitHub action. If you believe more than one action should be modified, please file a separate issue for each one. -->
12+
13+
**For this specific action, what feature(s) or behavior(s) are you looking to change?**
14+
<!-- At least 1 sentence describing the specific feature(s) and/or behavior(s) you want changed. -->
15+
16+
**For this specific action, what is your proposed behavior or feature change?**
17+
<!-- At least 1-2 sentences describing the what the behavior or the feature would look like after your proposed changes. -->
18+
19+
**What is the benefit of the design change you are proposing?**
20+
<!-- Examples: "quality of life improvement", "performance enhancement", "ease of use", etc. -->
21+
22+
**Is this change backwards compatabile? If not, explain.**
23+
<!-- If this design change is not backwards compatible, explain why and what changes repository owners would have to make to upgrade. -->
24+
25+
**Additional context**
26+
<!-- Add any other context or screenshots about the design change here. -->
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
---
2+
name: Feature request
3+
about: Suggest an idea for our in-house GitHub actions
4+
title: ''
5+
labels: enhancement
6+
assignees: ''
7+
8+
---
9+
10+
**Is your feature request related to a problem? Please describe.**
11+
<!-- A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] -->
12+
13+
**Describe the solution you'd like**
14+
<!-- A clear and concise description of what you want to happen. -->
15+
16+
**Additional context**
17+
<!-- Add any other context or screenshots about the feature request here. -->

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<!-- Thank you for contributing to InstructLab! -->
2+
3+
<!-- STEPS TO FOLLOW:
4+
1. Add a description of the changes (frequently the same as the commit description)
5+
2. Enter the issue number next to "Resolves #" below (if there is no tracking issue resolved, **remove that section**)
6+
3. Add a link to any related Dev Doc or Dev Doc PR in https://github.com/instructlab/dev-docs (if there is no related Dev Doc, **remove that section**)
7+
4. Follow the steps in the checklist below, starting with the **Commit Message Formatting**.
8+
-->
9+
10+
<!-- Uncomment this section with the issue number if an issue is being resolved
11+
**Issue resolved by this Pull Request:**
12+
Resolves #
13+
--->
14+
15+
<!-- Uncomment this section if any existing or in-flight Dev Docs are related to this change
16+
**Dev Docs related to this Pull Request:**
17+
Link to Dev Doc or PR:
18+
--->
19+
20+
**Checklist:**
21+
22+
- [ ] **Commit Message Formatting**: Commit titles and messages follow guidelines in the [conventional commits](https://www.conventionalcommits.org/en/v1.0.0/#summary).
23+
- [ ] [Changelog](https://github.com/instructlab/ci-actions/blob/main/CHANGELOG.md) updated with breaking and/or notable changes for the next minor release.
24+
- [ ] Documentation has been added and/or updated, if applicable.
25+
- [ ] Unit tests have been added and/or updated. (If this is not applicable, please provide a justification.)
26+
27+
## Description of this Change
28+
29+
<!-- Provide a brief description of your pull request, at least 1-2 sentences. This description should explain the motivation and value of your CI action. --->

.github/workflows/lint.yml

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
name: Lint
4+
5+
on:
6+
push:
7+
branches:
8+
- "main"
9+
- "release-**"
10+
paths:
11+
- '**.py'
12+
- 'requirements**.txt'
13+
- 'tox.ini'
14+
- .pylintrc
15+
- '.github/workflows/**' # All workflows, including this one
16+
pull_request:
17+
branches:
18+
- "main"
19+
- "release-**"
20+
paths:
21+
- '**.py'
22+
- 'requirements**.txt'
23+
- 'tox.ini'
24+
- .pylintrc
25+
- '.github/workflows/**' # All workflows, including this one
26+
27+
env:
28+
LC_ALL: en_US.UTF-8
29+
30+
defaults:
31+
run:
32+
shell: bash
33+
34+
permissions:
35+
contents: read
36+
37+
jobs:
38+
lint:
39+
runs-on: ubuntu-latest
40+
# Start name with 'lint:' for lint-workflow-complete job_ids
41+
name: "lint: ${{ matrix.lint.name }}"
42+
strategy:
43+
fail-fast: false
44+
matrix:
45+
lint:
46+
- name: "ruff"
47+
commands: |
48+
tox -e ruff
49+
- name: "pylint"
50+
commands: |
51+
echo "::add-matcher::.github/workflows/matchers/pylint.json"
52+
tox -e fastlint
53+
tox -e lint
54+
- name: "mypy"
55+
commands: |
56+
echo "::add-matcher::.github/workflows/matchers/mypy.json"
57+
tox -e mypy
58+
- name: "yamllint"
59+
commands: |
60+
tox -e yamllint
61+
steps:
62+
- name: "Harden Runner"
63+
uses: step-security/harden-runner@4d991eb9b905ef189e4c376166672c3f2f230481 # v2.11.0
64+
with:
65+
egress-policy: audit # TODO: change to 'egress-policy: block' after couple of runs
66+
67+
- name: "Checkout"
68+
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
69+
with:
70+
# https://github.com/actions/checkout/issues/249
71+
fetch-depth: 0
72+
73+
- name: Setup Python 3.11
74+
uses: actions/setup-python@42375524e23c412d93fb67b49958b491fce71c38 # v5.4.0
75+
with:
76+
python-version: 3.11
77+
cache: pip
78+
cache-dependency-path: |
79+
**/requirements*.txt
80+
81+
- name: "Install tox"
82+
run: |
83+
python -m pip install --upgrade pip
84+
python -m pip install tox tox-gh
85+
86+
- name: "${{ matrix.lint.name }}"
87+
run: |
88+
${{ matrix.lint.commands }}
89+
env:
90+
RUFF_OUTPUT_FORMAT: github
91+
92+
lint-workflow-complete:
93+
permissions:
94+
checks: read
95+
uses: ./.github/workflows/status-checks.yml
96+
with:
97+
job_ids: >- # Space-separated job ids to wait on for status checks
98+
security-lint
99+
lint:
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
{
2+
"problemMatcher": [
3+
{
4+
"owner": "mypy",
5+
"pattern": [
6+
{
7+
"regexp": "^(.+):(\\d+):\\s(error|warning):\\s(.+)$",
8+
"file": 1,
9+
"line": 2,
10+
"severity": 3,
11+
"message": 4
12+
}
13+
]
14+
}
15+
]
16+
}
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
{
2+
"problemMatcher": [
3+
{
4+
"owner": "pylint-error",
5+
"severity": "error",
6+
"pattern": [
7+
{
8+
"regexp": "^(.+):(\\d+):(\\d+):\\s(([EF]\\d{4}):\\s.+)$",
9+
"file": 1,
10+
"line": 2,
11+
"column": 3,
12+
"message": 4,
13+
"code": 5
14+
}
15+
]
16+
},
17+
{
18+
"owner": "pylint-warning",
19+
"severity": "warning",
20+
"pattern": [
21+
{
22+
"regexp": "^(.+):(\\d+):(\\d+):\\s(([CRW]\\d{4}):\\s.+)$",
23+
"file": 1,
24+
"line": 2,
25+
"column": 3,
26+
"message": 4,
27+
"code": 5
28+
}
29+
]
30+
}
31+
]
32+
}

0 commit comments

Comments
 (0)