Skip to content

Commit 2ca15c8

Browse files
authored
docs: add v0.1.3 changelog and skip CI for docs-only PRs (#9)
- Add v0.1.3 changelog entry for plugin .ts/.js loading fix - Skip lint, build, and test jobs when only markdown files change - Uses dorny/paths-filter with '**' + '!**/*.md' pattern - Gate ci-status on changes job to catch filter failures Signed-off-by: Simon Davies <simongdavies@users.noreply.github.com>
1 parent 4aa42f2 commit 2ca15c8

File tree

2 files changed

+38
-1
lines changed

2 files changed

+38
-1
lines changed

.github/workflows/pr-validate.yml

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,36 @@ concurrency:
1414

1515
permissions:
1616
contents: read
17+
pull-requests: read
1718

1819
jobs:
20+
# Skip heavy CI when only docs change (README, CHANGELOG, docs/, etc.)
21+
# Note: skills/**/*.md and patterns/**/*.md are runtime content with
22+
# integrity tests — they must NOT be skipped.
23+
changes:
24+
name: Detect Changes
25+
runs-on: ubuntu-latest
26+
outputs:
27+
code: ${{ steps.filter.outputs.code }}
28+
steps:
29+
- uses: actions/checkout@v6
30+
with:
31+
fetch-depth: 2
32+
- uses: dorny/paths-filter@v3
33+
id: filter
34+
with:
35+
filters: |
36+
code:
37+
- '**'
38+
- '!**/*.md'
39+
- 'skills/**'
40+
- 'patterns/**'
41+
1942
# Lint, typecheck, and unit tests (needs KVM for sandbox tests)
2043
lint-and-test:
2144
name: Lint & Test
45+
needs: [changes]
46+
if: needs.changes.outputs.code == 'true'
2247
runs-on: [self-hosted, Linux, X64, "1ES.Pool=hld-kvm-amd"]
2348
steps:
2449
- uses: actions/checkout@v6
@@ -48,6 +73,8 @@ jobs:
4873
# See: https://github.com/hyperlight-dev/hyperagent/issues/1
4974
build-and-test:
5075
name: Build & Test (${{ matrix.hypervisor }}-${{ matrix.config }})
76+
needs: [changes]
77+
if: needs.changes.outputs.code == 'true'
5178
strategy:
5279
fail-fast: false
5380
matrix:
@@ -107,6 +134,8 @@ jobs:
107134
# Build Docker image (just setup clones deps so Dockerfile COPY works)
108135
build-docker:
109136
name: Build Docker Image
137+
needs: [changes]
138+
if: needs.changes.outputs.code == 'true'
110139
runs-on: ubuntu-latest
111140
steps:
112141
- uses: actions/checkout@v6
@@ -141,7 +170,7 @@ jobs:
141170
# Gate PR merges on all jobs passing
142171
ci-status:
143172
name: CI Status
144-
needs: [lint-and-test, build-and-test, build-docker]
173+
needs: [changes, lint-and-test, build-and-test, build-docker]
145174
if: always()
146175
runs-on: ubuntu-latest
147176
steps:

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,13 @@ All notable changes to this project will be documented in this file.
44

55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
66

7+
## [v0.1.3] - 2026-03-24
8+
9+
### Fixed
10+
11+
- **Plugin loading under npm** — Plugins failed with "Stripping types is currently unsupported for files under node_modules" when installed via npm. Plugin loader now prefers compiled `.js` over `.ts` when running under `node_modules`, while still using `.ts` in dev mode for live editing
12+
- **Plugin hash/approval consistency**`computePluginHash()`, `loadSource()`, and `verifySourceHash()` now use centralised `resolvePluginSource()` helper to ensure hashing and import use the same file
13+
714
## [v0.1.2] - 2026-03-23
815

916
### Fixed
@@ -91,6 +98,7 @@ Initial public release.
9198
- Path jailing for filesystem plugins
9299
- SSRF protection for fetch plugin (DNS + post-connect IP validation)
93100

101+
[v0.1.3]: https://github.com/hyperlight-dev/hyperagent/releases/tag/v0.1.3
94102
[v0.1.2]: https://github.com/hyperlight-dev/hyperagent/releases/tag/v0.1.2
95103
[v0.1.1]: https://github.com/hyperlight-dev/hyperagent/releases/tag/v0.1.1
96104
[v0.1.0]: https://github.com/hyperlight-dev/hyperagent/releases/tag/v0.1.0

0 commit comments

Comments
 (0)