Skip to content

chore(ci): add PR lint workflow and SPDX header pre-commit hook#60

Merged
shiv-tyagi merged 1 commit into
ROCm:mainfrom
sgopinath1:pr_lint
Jun 3, 2026
Merged

chore(ci): add PR lint workflow and SPDX header pre-commit hook#60
shiv-tyagi merged 1 commit into
ROCm:mainfrom
sgopinath1:pr_lint

Conversation

@sgopinath1

Copy link
Copy Markdown
Collaborator

Add pr-lint.yml to enforce conventional commit PR titles and run check-license-headers.sh on all tracked Rust, shell, and Dockerfile sources.

Add scripts/check-license-headers.sh and opt-in .githooks/pre-commit (cargo fmt + staged header check).

Apply AMD Apache-2.0 SPDX headers across the codebase so the new checks pass.

Copilot AI review requested due to automatic review settings June 3, 2026 14:15

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds automated enforcement for PR title conventions and SPDX license headers, plus a local pre-commit hook to keep formatting and headers compliant.

Changes:

  • Add a GitHub Actions workflow to validate PR titles against a conventional-commits-style regex and to check SPDX headers.
  • Add scripts/check-license-headers.sh and a .githooks/pre-commit hook (cargo fmt + staged header check).
  • Add AMD Apache-2.0 SPDX headers across Rust sources, shell scripts, and Dockerfiles.

Reviewed changes

Copilot reviewed 44 out of 44 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
scripts/check-license-headers.sh New script to verify SPDX header presence in tracked source files (but currently misses nested Dockerfiles due to pathspec globbing).
.github/workflows/pr-lint.yml Adds PR title conventional format check and CI SPDX header check.
.githooks/pre-commit Adds local hook to run cargo fmt --check and header checks on staged files (but currently misses nested Dockerfiles due to pathspec globbing).
deploy/docker/gpuaas-entrypoint.sh Adds SPDX/copyright header.
deploy/docker/Dockerfile.session Adds SPDX/copyright header.
deploy/docker/Dockerfile.frontend Adds SPDX/copyright header.
deploy/docker/Dockerfile.api Adds SPDX/copyright header.
crates/spur-cloud-common/src/lib.rs Adds SPDX/copyright header.
crates/spur-cloud-common/src/gpu_types.rs Adds SPDX/copyright header.
crates/spur-cloud-common/src/session_types.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/main.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/config.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/state.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/update.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/spur_client.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/auth/mod.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/auth/github.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/auth/jwt.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/auth/middleware.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/auth/oidc_common.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/auth/okta.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/auth/principal.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/db/mod.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/db/billing_repo.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/db/migrations.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/db/session_repo.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/db/ssh_key_repo.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/db/user_repo.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/models/mod.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/models/session.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/models/user.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/routes/mod.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/routes/admin.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/routes/auth.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/routes/billing.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/routes/gpus.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/routes/health.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/routes/sessions.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/routes/users.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/routes/ws.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/ssh/mod.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/ssh/service_manager.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/terminal/mod.rs Adds SPDX/copyright header.
crates/spur-cloud-api/src/terminal/ws_handler.rs Adds SPDX/copyright header.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread scripts/check-license-headers.sh Outdated
Comment thread .githooks/pre-commit Outdated
Add pr-lint.yml to enforce conventional commit PR titles and run
check-license-headers.sh on all tracked Rust, shell, and Dockerfile
sources. Add scripts/check-license-headers.sh and opt-in .githooks/pre-commit
(cargo fmt + staged header check). Apply AMD Apache-2.0 SPDX headers across
the codebase so the new checks pass.
@shiv-tyagi shiv-tyagi merged commit fe342ce into ROCm:main Jun 3, 2026
7 of 8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants