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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ See the [Documentation](#documentation) section below for the architecture, conf
```text
Version ───────────────┐
Restore → Build → Test ├→ Pack → Validate → Publish → GitHub release
└→ Lint
└→ Lint
Version ───────────────┘
```

Expand Down
3 changes: 2 additions & 1 deletion docs/wiki/Architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,13 +24,14 @@ The pipeline is registered in `Program.cs` in this order, with explicit `[Depend
```text
VersionModule ──────────────┐
RestoreModule → BuildModule ├→ RunTestsModule → PackModule → ValidatePackModule
LintModule (independent)
RestoreModule → LintModule
VersionModule ──────────────┘
```

Explicit `[DependsOn]` edges:

- `BuildModule` depends on `RestoreModule`.
- `LintModule` depends on `RestoreModule` (Web lint needs `node_modules` installed; dotnet lint is unaffected beyond running after restore).
- `RunTestsModule` depends on `BuildModule`.
- `PackModule` depends on `RunTestsModule` and `VersionModule`.
- `ValidatePackModule` depends on `PackModule`.
Expand Down
4 changes: 2 additions & 2 deletions docs/wiki/Pipeline-Modules.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ The pipeline is a Modular Pipelines orchestration. Modules are registered in `Pr
```text
Version ───────────────┐
Restore → Build → Test ├→ Pack → Validate → Publish → GitHub release
└→ Lint
└→ Lint
Version ───────────────┘
```

Expand All @@ -26,7 +26,7 @@ Depends on `RestoreModule`.

## LintModule

Skip condition: skipped when `Build:RunLint` is false.
Depends on `RestoreModule` (Web lint invokes tooling from `node_modules`, so it must wait for `bun install`; dotnet lint is unaffected beyond running after restore). Skip condition: skipped when `Build:RunLint` is false.

- **DotNet**: restores the repository's local tools (`dotnet tool restore` against `.config/dotnet-tools.json`, retried up to 3 times with a 2-second backoff on failure) and then runs `dotnet tool run csharpier check <repository root>`. The repository root is resolved by walking up to the nearest `package.json`.
- **Web**: runs `Build:WebFormatCheckCommand` (default `bun run format:check`) then `Build:WebLintCommand` (default `bun run lint`). Each step is skipped when the corresponding script is not declared in the root `package.json`.
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "purview-build",
"version": "0.3.0",
"version": "0.3.1",
"private": true,
"homepage": "https://purview.dev/projects/build/",
"bugs": {
Expand Down
1 change: 1 addition & 0 deletions src/src/Build/Modules/LintModule.cs
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
namespace Purview.Build.Modules;

[ModuleCategory("Build")]
[DependsOn<RestoreModule>]
public sealed class LintModule(IOptions<BuildSettings> settings) : Module<CommandResult>
{
protected override ModuleConfiguration Configure() =>
Expand Down
Loading