Skip to content

Commit 018e200

Browse files
authored
Fix broken links, add CI/CD for automated link checking, update markdown files to latest standards for dev/community (#145)
Fixes: #139
1 parent 4b4ab8e commit 018e200

File tree

11 files changed

+341
-238
lines changed

11 files changed

+341
-238
lines changed

.github/workflows/development.yml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,27 @@ jobs:
3737
- name: Run quality checks
3838
run: tox -e types
3939

40+
link-checks:
41+
runs-on: ubuntu-latest
42+
strategy:
43+
matrix:
44+
python: ["3.9"]
45+
steps:
46+
- uses: actions/checkout@v4
47+
- name: Set up Python
48+
uses: actions/setup-python@v5
49+
with:
50+
python-version: ${{ matrix.python }}
51+
- name: Install dependencies
52+
run: pip install tox
53+
- name: Run link checks
54+
run: tox -e links
55+
4056
precommit-checks:
4157
runs-on: ubuntu-latest
4258
strategy:
4359
matrix:
44-
python: ["3.9", "3.13"]
60+
python: ["3.9"]
4561
steps:
4662
- uses: actions/checkout@v4
4763
- name: Set up Python

.github/workflows/main.yml

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,27 @@ jobs:
3838
- name: Run quality checks
3939
run: tox -e types
4040

41+
link-checks:
42+
runs-on: ubuntu-latest
43+
strategy:
44+
matrix:
45+
python: ["3.9"]
46+
steps:
47+
- uses: actions/checkout@v4
48+
- name: Set up Python
49+
uses: actions/setup-python@v5
50+
with:
51+
python-version: ${{ matrix.python }}
52+
- name: Install dependencies
53+
run: pip install tox
54+
- name: Run link checks
55+
run: tox -e links
56+
4157
precommit-checks:
4258
runs-on: ubuntu-latest
4359
strategy:
4460
matrix:
45-
python: ["3.9", "3.10", "3.11", "3.12", "3.13"]
61+
python: ["3.9"]
4662
steps:
4763
- uses: actions/checkout@v4
4864
- name: Set up Python

.github/workflows/nightly.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,22 @@ on:
55
- cron: '0 0 * * *' # Runs at midnight every night
66

77
jobs:
8+
link-checks:
9+
runs-on: ubuntu-latest
10+
strategy:
11+
matrix:
12+
python: ["3.9"]
13+
steps:
14+
- uses: actions/checkout@v4
15+
- name: Set up Python
16+
uses: actions/setup-python@v5
17+
with:
18+
python-version: ${{ matrix.python }}
19+
- name: Install dependencies
20+
run: pip install tox
21+
- name: Run link checks
22+
run: tox -e links
23+
824
unit-tests:
925
runs-on: ubuntu-latest
1026
strategy:

.github/workflows/release-candidate.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,22 @@ on:
66
- 'release/*'
77

88
jobs:
9+
link-checks:
10+
runs-on: ubuntu-latest
11+
strategy:
12+
matrix:
13+
python: ["3.9"]
14+
steps:
15+
- uses: actions/checkout@v4
16+
- name: Set up Python
17+
uses: actions/setup-python@v5
18+
with:
19+
python-version: ${{ matrix.python }}
20+
- name: Install dependencies
21+
run: pip install tox
22+
- name: Run link checks
23+
run: tox -e links
24+
925
unit-tests:
1026
runs-on: ubuntu-latest
1127
strategy:

.github/workflows/release.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,22 @@ jobs:
5151
password: ${{ secrets.PYPI_PUBLIC_AUTH }}
5252
whl: $(find dist -name '*.tar.gz')
5353

54+
link-checks:
55+
runs-on: ubuntu-latest
56+
strategy:
57+
matrix:
58+
python: ["3.9"]
59+
steps:
60+
- uses: actions/checkout@v4
61+
- name: Set up Python
62+
uses: actions/setup-python@v5
63+
with:
64+
python-version: ${{ matrix.python }}
65+
- name: Install dependencies
66+
run: pip install tox
67+
- name: Run link checks
68+
run: tox -e links
69+
5470
unit-tests:
5571
runs-on: ubuntu-latest
5672
strategy:

CODE_OF_CONDUCT.md

Lines changed: 51 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,47 +1,77 @@
1-
# Community Code of Conduct
1+
# GuideLLM Code of Conduct
22

33
## Our Pledge
44

5-
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to make participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
5+
We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.
6+
7+
We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.
68

79
## Our Standards
810

9-
Examples of behavior that contributes to creating a positive environment include:
11+
Examples of behavior that contributes to a positive environment for our community include:
1012

11-
- Using welcoming and inclusive language
12-
- Being respectful of differing viewpoints and experiences
13-
- Gracefully accepting constructive criticism
14-
- Focusing on what is best for the community
15-
- Showing empathy towards other community members
13+
- Demonstrating empathy and kindness toward other people
14+
- Being respectful of differing opinions, viewpoints, and experiences
15+
- Giving and gracefully accepting constructive feedback
16+
- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
17+
- Focusing on what is best not just for us as individuals, but for the overall community
1618

17-
Examples of unacceptable behavior by participants include:
19+
Examples of unacceptable behavior include:
1820

19-
- The use of sexualized language or imagery and unwelcome sexual attention or advances
20-
- Trolling, insulting/derogatory comments, and personal or political attacks
21+
- The use of sexualized language or imagery, and sexual attention or advances of any kind
22+
- Trolling, insulting or derogatory comments, and personal or political attacks
2123
- Public or private harassment
22-
- Publishing others' private information, such as a physical or electronic address, without explicit permission
24+
- Publishing others private information, such as a physical or email address, without their explicit permission
2325
- Other conduct which could reasonably be considered inappropriate in a professional setting
2426

25-
## Our Responsibilities
27+
## Enforcement Responsibilities
2628

27-
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
29+
Community leaders are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.
2830

29-
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
31+
Community leaders have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, and will communicate reasons for moderation decisions when appropriate.
3032

3133
## Scope
3234

33-
This Code of Conduct applies within all project spaces, and it also applies when an individual is representing the project or its community in public spaces. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
35+
This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces. Examples of representing our community include using an official e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event.
3436

3537
## Enforcement
3638

37-
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team using the [Neural Magic Contact Us Form](https://neuralmagic.com/contact). All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
39+
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported to the community leaders responsible for enforcement through GitHub, Slack, or Email. All complaints will be reviewed and investigated promptly and fairly.
40+
41+
All community leaders are obligated to respect the privacy and security of the reporter of any incident.
42+
43+
## Enforcement Guidelines
44+
45+
Community leaders will follow these Community Impact Guidelines in determining the consequences for any action they deem in violation of this Code of Conduct:
46+
47+
### 1. Correction
48+
49+
**Community Impact**: Use of inappropriate language or other behavior deemed unprofessional or unwelcome in the community.
50+
51+
**Consequence**: A private, written warning from community leaders, providing clarity around the nature of the violation and an explanation of why the behavior was inappropriate. A public apology may be requested.
52+
53+
### 2. Warning
54+
55+
**Community Impact**: A violation through a single incident or series of actions.
56+
57+
**Consequence**: A warning with consequences for continued behavior. No interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, for a specified period of time. This includes avoiding interactions in community spaces as well as external channels like social media. Violating these terms may lead to a temporary or permanent ban.
58+
59+
### 3. Temporary Ban
60+
61+
**Community Impact**: A serious violation of community standards, including sustained inappropriate behavior.
62+
63+
**Consequence**: A temporary ban from any sort of interaction or public communication with the community for a specified period of time. No public or private interaction with the people involved, including unsolicited interaction with those enforcing the Code of Conduct, is allowed during this period. Violating these terms may lead to a permanent ban.
64+
65+
### 4. Permanent Ban
66+
67+
**Community Impact**: Demonstrating a pattern of violation of community standards, including sustained inappropriate behavior, harassment of an individual, or aggression toward or disparagement of classes of individuals.
3868

39-
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
69+
**Consequence**: A permanent ban from any sort of public interaction within the community.
4070

4171
## Attribution
4272

43-
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html
73+
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
4474

45-
For answers to common questions about this code of conduct, see https://www.contributor-covenant.org/faq
75+
Community Impact Guidelines were inspired by [Mozilla’s code of conduct enforcement ladder](https://github.com/mozilla/diversity).
4676

47-
[homepage]: https://www.contributor-covenant.org
77+
For answers to common questions about this code of conduct, see the FAQ at https://www.contributor-covenant.org/faq. Translations are available at https://www.contributor-covenant.org/translations.

CONTRIBUTING.md

Lines changed: 95 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,68 +1,121 @@
11
# Contributing to GuideLLM
22

3-
If you’re reading this, hopefully we have piqued your interest to take the next step. Join us and help make GuideLLM even better! As a contributor, here are some community guidelines we would like you to follow:
3+
Thank you for considering contributing to GuideLLM! We welcome contributions from the community to help improve and grow this project. This document outlines the process and guidelines for contributing.
44

5-
- [Code of Conduct](#code-of-conduct)
6-
- [Ways to Contribute](#ways-to-contribute)
7-
- [Bugs and Feature Requests](#bugs-and-feature-requests)
8-
- [Question or Problem](#question-or-problem)
9-
- [Developing GuideLLM](DEVELOPING.md)
5+
## How Can You Contribute?
106

11-
## Code of Conduct
7+
There are many ways to contribute to GuideLLM:
128

13-
Help us keep the software inclusive. Please read and follow our [Code of Conduct](CODE_OF_CONDUCT.md) in order to promote an environment that is friendly, fair, respectful, and safe. We want to inspire collaboration, innovation, and fun!
9+
- **Reporting Bugs**: If you encounter a bug, please let us know by creating an issue.
10+
- **Suggesting Features**: Have an idea for a new feature? Open an issue to discuss it.
11+
- **Improving Documentation**: Help us improve our documentation by submitting pull requests.
12+
- **Writing Code**: Contribute code to fix bugs, add features, or improve performance.
13+
- **Reviewing Pull Requests**: Provide feedback on open pull requests to help maintain code quality.
1414

15-
## Ways to Contribute
15+
## Getting Started
1616

17-
Whether you’re a newbie, dabbler, or expert, we appreciate you jumping in.
17+
### Prerequisites
1818

19-
### Contributing Code
19+
Before contributing, ensure you have the following installed:
2020

21-
- Make pull requests for addressing bugs, open issues, and documentation
22-
- Neural Magic as the maintainer will do reviews and final merge
21+
- Python 3.9 or higher
22+
- pip (Python package manager)
23+
- Tox
24+
- Git
2325

24-
### Reporting In
26+
### Setting Up the Repository
2527

26-
- See something, say something: bugs, documentation
27-
- Propose new feature requests to Neural Magic
28+
You can either clone the repository directly or fork it if you plan to contribute changes back:
2829

29-
### Helping Others
30+
#### Option 1: Cloning the Repository
3031

31-
- Answer open discussion topics
32-
- Spread the word about GuideLLM
33-
- Teach and empower others. This is the way!
32+
1. Clone the repository to your local machine:
3433

35-
## Bugs and Feature Requests
34+
```bash
35+
git clone https://github.com/neuralmagic/guidellm.git
36+
cd guidellm
37+
```
3638

37-
Please search through existing issues and requests first to avoid duplicates. Neural Magic will work with you further to take next steps.
39+
#### Option 2: Forking the Repository
3840

39-
- Go to: [GitHub Issues](https://github.com/neuralmagic/guidellm/issues)
41+
1. Fork the repository by clicking the "Fork" button on the repository's GitHub page.
4042

41-
For bugs, include:
43+
2. Clone your forked repository to your local machine:
4244

43-
- brief summary
44-
- OS/Environment details
45-
- steps to reproduce (s.t.r.)
46-
- code snippets, screenshots/casts, log content, sample models
47-
- add the GitHub label "bug" to your post
45+
```bash
46+
git clone https://github.com/<your-username>/guidellm.git
47+
cd guidellm
48+
```
4849

49-
For feature requests, include:
50+
For detailed instructions on setting up your development environment, please refer to the [DEVELOPING.md](https://github.com/neuralmagic/speculators/blob/main/DEVELOPING.md) file. It includes step-by-step guidance on:
5051

51-
- problem you’re trying to solve
52-
- community benefits
53-
- other relevant details to support your proposal
54-
- add the GitHub label "enhancement" to your post
52+
- Installing dependencies
53+
- Running tests
54+
- Using Tox for various tasks
5555

56-
For documentation edits, include:
56+
## Code Style and Guidelines
5757

58-
- current state, proposed state
59-
- if applicable, screenshots/casts
60-
- add the GitHub label "documentation" to your post
58+
We follow strict coding standards to ensure code quality and maintainability. Please adhere to the following guidelines:
6159

62-
## Question or Problem
60+
- **Code Style**: Use [Black](https://black.readthedocs.io/en/stable/) for code formatting and [Ruff](https://github.com/charliermarsh/ruff) for linting.
61+
- **Type Checking**: Use [Mypy](http://mypy-lang.org/) for type checking.
62+
- **Testing**: Write unit tests for new features and bug fixes. Use [pytest](https://docs.pytest.org/) for testing.
63+
- **Documentation**: Update documentation for any changes to the codebase.
6364

64-
Sign up or log in to our [**Neural Magic Community Slack**](https://neuralmagic.com/community/). We are growing the community member by member and happy to see you there. Don’t forget to search through existing discussions to avoid duplication! Thanks!
65+
To check code quality locally, use the following Tox environment:
6566

66-
## Developing GuideLLM
67+
```bash
68+
tox -e quality
69+
```
6770

68-
Made it this far? Review [Developing GuideLLM](DEVELOPING.md) to get started.
71+
To automatically fix style issues, use:
72+
73+
```bash
74+
tox -e style
75+
```
76+
77+
To run type checks, use:
78+
79+
```bash
80+
tox -e types
81+
```
82+
83+
## Submitting Changes
84+
85+
1. **Create a Branch**: Create a new branch for your changes:
86+
87+
```bash
88+
git checkout -b feature/your-feature-name
89+
```
90+
91+
2. **Make Changes**: Commit your changes with clear and descriptive commit messages.
92+
93+
3. **Run Tests and Quality Checks**: Before submitting your changes, ensure all tests pass and code quality checks are satisfied:
94+
95+
```bash
96+
tox
97+
```
98+
99+
4. **Push Changes**: Push your branch to your forked repository (if you forked):
100+
101+
```bash
102+
git push origin feature/your-feature-name
103+
```
104+
105+
5. **Open a Pull Request**: Go to the original repository and open a pull request. Provide a clear description of your changes and link any related issues.
106+
107+
## Reporting Issues
108+
109+
If you encounter a bug or have a feature request, please open an issue on GitHub. Include as much detail as possible, such as:
110+
111+
- Steps to reproduce the issue
112+
- Expected and actual behavior
113+
- Environment details (OS, Python version, etc.)
114+
115+
## Community Standards
116+
117+
We are committed to fostering a welcoming and inclusive community. Please read and adhere to our [Code of Conduct](https://github.com/neuralmagic/speculators/blob/main/CODE_OF_CONDUCT.md).
118+
119+
## License
120+
121+
By contributing to Speculators, you agree that your contributions will be licensed under the [Apache License 2.0](https://github.com/neuralmagic/speculators/blob/main/LICENSE).

0 commit comments

Comments
 (0)