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
28 changes: 28 additions & 0 deletions .github/workflows/cpp-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Lint C++ Frameworks

on:
push:
branches: [main]
paths: [frameworks/web-server/cpp/**, .github/workflows/cpp-lint.yml]
pull_request:
paths: [frameworks/web-server/cpp/**, .github/workflows/cpp-lint.yml]
workflow_dispatch:

permissions:
contents: read

jobs:
lint:
name: C++ format
runs-on: ubuntu-24.04
timeout-minutes: 10
environment:
name: lint-cpp
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Install clang-format
run: sudo apt-get update -qq && sudo apt-get install -y -qq clang-format
- name: Check formatting
run: find frameworks/web-server/cpp -name '*.cpp' -print0 | xargs -0 clang-format --dry-run --Werror
32 changes: 32 additions & 0 deletions .github/workflows/csharp-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Lint C# Frameworks

on:
push:
branches: [main]
paths: [frameworks/web-server/csharp/**, .github/workflows/csharp-lint.yml]
pull_request:
paths: [frameworks/web-server/csharp/**, .github/workflows/csharp-lint.yml]
workflow_dispatch:

permissions:
contents: read

jobs:
lint:
name: C# format
runs-on: ubuntu-24.04
timeout-minutes: 10
environment:
name: lint-csharp
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-dotnet@v6
with:
dotnet-version: 9.0.x
- name: Check formatting
shell: bash
run: |
find frameworks/web-server/csharp -name '*.csproj' -print0 |
xargs -0 -n1 dotnet format --verify-no-changes
38 changes: 38 additions & 0 deletions .github/workflows/go-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
name: Lint Go Frameworks

on:
push:
branches: [main]
paths: [frameworks/web-server/go/**, .github/workflows/go-lint.yml]
pull_request:
paths: [frameworks/web-server/go/**, .github/workflows/go-lint.yml]
workflow_dispatch:

permissions:
contents: read

jobs:
lint:
name: Go format and vet
runs-on: ubuntu-24.04
timeout-minutes: 10
environment:
name: lint-go
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-go@v7
with:
go-version: 1.23.0
check-latest: false
cache-dependency-path: frameworks/web-server/go/*/go.mod
- name: Check formatting
run: test -z "$(find frameworks/web-server/go -name '*.go' -print0 | xargs -0 gofmt -l)"
- name: Run vet
shell: bash
run: |
find frameworks/web-server/go -name go.mod -print0 | while IFS= read -r -d '' manifest; do
module=$(dirname "$manifest")
(cd "$module" && go vet ./...)
done
37 changes: 37 additions & 0 deletions .github/workflows/java-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
name: Lint Java Frameworks

on:
push:
branches: [main]
paths: [frameworks/web-server/java/**, .github/workflows/java-lint.yml]
pull_request:
paths: [frameworks/web-server/java/**, .github/workflows/java-lint.yml]
workflow_dispatch:

permissions:
contents: read

jobs:
lint:
name: Java compile
runs-on: ubuntu-24.04
timeout-minutes: 10
environment:
name: lint-java
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-java@v6
with:
distribution: temurin
java-version: 21
cache: maven
cache-dependency-path: frameworks/web-server/java/**/pom.xml
- name: Compile framework sources
shell: bash
run: |
find frameworks/web-server/java -name pom.xml -print0 | while IFS= read -r -d '' manifest; do
module=$(dirname "$manifest")
(cd "$module" && mvn -B -q -DskipTests package)
done
29 changes: 29 additions & 0 deletions .github/workflows/javascript-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Lint JavaScript Frameworks

on:
push:
branches: [main]
paths: [frameworks/web-server/javascript/**, .github/workflows/javascript-lint.yml]
pull_request:
paths: [frameworks/web-server/javascript/**, .github/workflows/javascript-lint.yml]
workflow_dispatch:

permissions:
contents: read

jobs:
lint:
name: JavaScript format
runs-on: ubuntu-24.04
timeout-minutes: 10
environment:
name: lint-javascript
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: oven-sh/setup-bun@v2
with:
bun-version: 1.3.3
- name: Check formatting
run: bunx --bun prettier@3.5.3 --check 'frameworks/web-server/javascript/**/*.{js,ts}'
22 changes: 11 additions & 11 deletions .github/workflows/lint.yml
Original file line number Diff line number Diff line change
@@ -1,24 +1,24 @@
name: Lint
name: Lint Rust Workspace

on:
push:
branches:
- main
paths:
- "**.rs"
- "Cargo.toml"
- "Cargo.lock"
- "crates/**"
- ".github/workflows/lint.yml"
- Cargo.toml
- Cargo.lock
- crates/**
- scripts/check_conventions.sh
- .github/workflows/lint.yml
pull_request:
branches:
- main
paths:
- "**.rs"
- "Cargo.toml"
- "Cargo.lock"
- "crates/**"
- ".github/workflows/lint.yml"
- Cargo.toml
- Cargo.lock
- crates/**
- scripts/check_conventions.sh
- .github/workflows/lint.yml
workflow_dispatch:

jobs:
Expand Down
26 changes: 26 additions & 0 deletions .github/workflows/php-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
name: Lint PHP Frameworks

on:
push:
branches: [main]
paths: [frameworks/web-server/php/**, .github/workflows/php-lint.yml]
pull_request:
paths: [frameworks/web-server/php/**, .github/workflows/php-lint.yml]
workflow_dispatch:

permissions:
contents: read

jobs:
lint:
name: PHP syntax
runs-on: ubuntu-24.04
timeout-minutes: 10
environment:
name: lint-php
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- name: Check syntax
run: find frameworks/web-server/php -name '*.php' -print0 | xargs -0 -n1 php -l
31 changes: 31 additions & 0 deletions .github/workflows/python-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: Lint Python Frameworks

on:
push:
branches: [main]
paths: [frameworks/web-server/python/**, .github/workflows/python-lint.yml]
pull_request:
paths: [frameworks/web-server/python/**, .github/workflows/python-lint.yml]
workflow_dispatch:

permissions:
contents: read

jobs:
lint:
name: Python ruff
runs-on: ubuntu-24.04
timeout-minutes: 10
environment:
name: lint-python
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: actions/setup-python@v7
with:
python-version: '3.13'
- name: Install ruff
run: python -m pip install ruff==0.9.10
- name: Check lint and format
run: ruff check frameworks/web-server/python && ruff format --check frameworks/web-server/python
29 changes: 29 additions & 0 deletions .github/workflows/ruby-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Lint Ruby Frameworks

on:
push:
branches: [main]
paths: [frameworks/web-server/ruby/**, .github/workflows/ruby-lint.yml]
pull_request:
paths: [frameworks/web-server/ruby/**, .github/workflows/ruby-lint.yml]
workflow_dispatch:

permissions:
contents: read

jobs:
lint:
name: Ruby syntax
runs-on: ubuntu-24.04
timeout-minutes: 10
environment:
name: lint-ruby
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: ruby/setup-ruby@v1
with:
ruby-version: '3.3'
- name: Check syntax
run: find frameworks/web-server/ruby -name '*.rb' -print0 | xargs -0 -n1 ruby -c
33 changes: 33 additions & 0 deletions .github/workflows/rust-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
name: Lint Rust Frameworks

on:
push:
branches: [main]
paths: [frameworks/web-server/rust/**, .github/workflows/rust-lint.yml]
pull_request:
paths: [frameworks/web-server/rust/**, .github/workflows/rust-lint.yml]
workflow_dispatch:

permissions:
contents: read

jobs:
lint:
name: Rust format and clippy
runs-on: ubuntu-24.04
timeout-minutes: 10
environment:
name: lint-rust
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: dtolnay/rust-toolchain@1.88.0
with:
components: clippy, rustfmt
- uses: Swatinem/rust-cache@v2
- name: Check formatting and clippy
shell: bash
run: |
find frameworks/web-server/rust -name Cargo.toml -print0 |
xargs -0 -n1 sh -c 'cargo fmt --manifest-path "$0" -- --check && cargo clippy --manifest-path "$0" --all-targets -- -D warnings'
29 changes: 29 additions & 0 deletions .github/workflows/zig-lint.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
name: Lint Zig Frameworks

on:
push:
branches: [main]
paths: [frameworks/web-server/zig/**, .github/workflows/zig-lint.yml]
pull_request:
paths: [frameworks/web-server/zig/**, .github/workflows/zig-lint.yml]
workflow_dispatch:

permissions:
contents: read

jobs:
lint:
name: Zig format
runs-on: ubuntu-24.04
timeout-minutes: 10
environment:
name: lint-zig
steps:
- uses: actions/checkout@v4
with:
persist-credentials: false
- uses: mlugg/setup-zig@v2
with:
version: 0.16.0
- name: Check formatting
run: find frameworks/web-server/zig -name '*.zig' -print0 | xargs -0 zig fmt --check
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Build artifacts
/target/
target/
__pycache__/

# Operating System
.DS_Store
Expand All @@ -12,3 +13,6 @@ results/raw/
# Environment
.env
.env.local

# Local shell environment
.direnv/*
2 changes: 1 addition & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ repos:
hooks:
- id: convention-audit
name: check repository conventions
entry: pwsh -File scripts/check_conventions.ps1
entry: sh scripts/check_conventions.sh
language: system
pass_filenames: false
always_run: true
Loading
Loading