Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
84 changes: 84 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: Bug report
description: Report reproducible behavior that appears incorrect
title: "[Bug]: "
labels: [bug]
body:
- type: markdown
attributes:
value: |
Thanks for helping improve SlurmDeck. Search existing issues first.
For vulnerabilities, use the private security-reporting link instead of this form.

- type: input
id: version
attributes:
label: SlurmDeck version
description: Run `slurmdeck --version`.
placeholder: slurmdeck 0.1.0
validations:
required: true

- type: dropdown
id: interface
attributes:
label: Interface
options:
- CLI
- TUI
- Both
- Automation or JSON output
validations:
required: true

- type: textarea
id: description
attributes:
label: What happened?
description: Describe the observed behavior and why it appears incorrect.
validations:
required: true

- type: textarea
id: reproduction
attributes:
label: Reproduction steps
description: Provide the smallest commands or project setup that reproduce the problem.
placeholder: |
1. Configure ...
2. Run ...
3. Observe ...
validations:
required: true

- type: textarea
id: expected
attributes:
label: Expected behavior
validations:
required: true

- type: textarea
id: environment
attributes:
label: Environment
description: Include the local OS and Python version, plus relevant Slurm and remote Python versions.
placeholder: |
Local: Ubuntu 24.04, Python 3.12
Remote: Slurm 24.11, Python 3.11

- type: textarea
id: diagnostics
attributes:
label: Diagnostics and logs
description: Include relevant output only. Remove credentials, usernames, hostnames, paths, and personal data.
render: shell

- type: checkboxes
id: checks
attributes:
label: Checklist
options:
- label: I searched existing issues for this problem.
required: true
- label: I removed credentials, private hostnames, personal data, and other sensitive information.
required: true
8 changes: 8 additions & 0 deletions .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
blank_issues_enabled: false
contact_links:
- name: Security vulnerability
url: https://github.com/dejay-vu/slurmdeck/security/advisories/new
about: Report suspected vulnerabilities privately; do not open a public issue.
- name: Usage and configuration documentation
url: https://github.com/dejay-vu/slurmdeck/tree/main/docs
about: Review the documentation before opening a support request.
64 changes: 64 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
name: Feature request
description: Propose a focused improvement to SlurmDeck
title: "[Feature]: "
labels: [enhancement]
body:
- type: markdown
attributes:
value: |
Thanks for proposing an improvement. For large behavioral or data-format changes,
describe the compatibility and safety implications explicitly.

- type: textarea
id: problem
attributes:
label: Problem or use case
description: What workflow is difficult or impossible today, and who is affected?
validations:
required: true

- type: textarea
id: proposal
attributes:
label: Proposed behavior
description: Describe the user-visible result rather than only an implementation.
validations:
required: true

- type: dropdown
id: area
attributes:
label: Area
options:
- CLI
- TUI
- Remote and SSH
- Runs and Slurm submission
- Environments
- Snapshots and results
- Packaging or documentation
- Other
validations:
required: true

- type: textarea
id: alternatives
attributes:
label: Alternatives considered
description: Include current workarounds or simpler approaches you considered.

- type: textarea
id: compatibility
attributes:
label: Compatibility and safety
description: Note effects on existing configuration, remote state, destructive operations, or cluster policy.

- type: checkboxes
id: checks
attributes:
label: Checklist
options:
- label: I searched existing issues for similar requests.
required: true
- label: This request does not include credentials, private cluster details, or personal data.
required: true
25 changes: 25 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
## Summary

Describe what changed and why.

## User impact

Describe user-visible behavior, compatibility implications, and any migration
required. Write "None" when the change has no user-visible impact.

## Safety

Describe effects on SSH behavior, remote state, snapshots, destructive
operations, credentials, or cluster policy. Write "None" when not applicable.

## Verification

List the checks you ran and their results.

## Checklist

- [ ] The pull request title follows Conventional Commits.
- [ ] Tests cover observable behavior or the change is documentation/configuration only.
- [ ] User-facing documentation is updated where needed.
- [ ] No credentials, private cluster details, generated outputs, or local instructions are included.
- [ ] Destructive or state-changing behavior remains explicit and reviewable.
7 changes: 7 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,7 @@ jobs:
BASE_SHA: ${{ github.event.pull_request.base.sha }}
BEFORE_SHA: ${{ github.event.before }}
EVENT_NAME: ${{ github.event_name }}
PR_TITLE: ${{ github.event.pull_request.title }}
run: |
set -euo pipefail

Expand Down Expand Up @@ -56,6 +57,11 @@ jobs:
cz check --commit-msg-file "$RUNNER_TEMP/commit-message"
done

if [[ "$EVENT_NAME" == "pull_request" ]]; then
echo "Checking pull request title"
cz check --message "$PR_TITLE"
fi

checks:
runs-on: ubuntu-latest
strategy:
Expand Down Expand Up @@ -110,6 +116,7 @@ jobs:
"/LICENSE",
"/README.md",
"/CHANGELOG.md",
"/CODE_OF_CONDUCT.md",
"/CONTRIBUTING.md",
"/SECURITY.md",
"/docs/configuration.md",
Expand Down
41 changes: 41 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Code of Conduct

## Our commitment

SlurmDeck contributors and maintainers are committed to a welcoming,
professional, and harassment-free community. Participation is open regardless
of background, identity, experience, ability, or viewpoint.

## Expected behavior

- Be respectful, patient, and constructive.
- Discuss ideas and evidence rather than attacking people.
- Accept feedback gracefully and acknowledge mistakes.
- Respect privacy and avoid sharing another person's personal or institutional
information without permission.
- Prioritize the safety of users, contributors, and affected communities.

## Unacceptable behavior

Harassment, threats, discrimination, sexualized attention, deliberate
intimidation, sustained disruption, doxxing, and other conduct that would be
unreasonable in a professional setting are not acceptable. Retaliation against
someone who reports a concern is also prohibited.

## Scope

This policy applies in project repositories, issue trackers, reviews,
discussions, and other spaces where someone is representing SlurmDeck.

## Reporting and enforcement

Report conduct concerns privately to the maintainer using a private contact
method listed on their GitHub profile. If none is available, open an issue
requesting a private contact channel without including sensitive details.

The maintainer will review reports in good faith, protect the reporter's
privacy as far as practical, and respond proportionately. Responses may
include a clarification, warning, content removal, temporary restriction, or
permanent exclusion from project spaces. Anyone directly involved in a report
should not make the final enforcement decision when an uninvolved maintainer
is available.
3 changes: 3 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,6 +93,9 @@ installs the wheel and source distribution.

## Pull requests

Use a Conventional Commit-formatted pull request title. SlurmDeck uses squash
merges, so the pull request title becomes the commit subject on `main`.

Describe the user-visible change, safety implications, and checks performed.
Keep unrelated refactoring out of the same pull request. Review feedback may
request smaller commits or additional failure-path coverage.
Expand Down
1 change: 1 addition & 0 deletions MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
include LICENSE
include README.md
include CHANGELOG.md
include CODE_OF_CONDUCT.md
include CONTRIBUTING.md
include SECURITY.md
include pyproject.toml
Expand Down