Skip to content

Commit 35cc7ef

Browse files
committed
docs: link changelog PRs and fix pnpm all wording
1 parent b3eb47b commit 35cc7ef

4 files changed

Lines changed: 18 additions & 17 deletions

File tree

.github/pull_request_template.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Thanks for sending a pull request! A few quick checks before submitting:
88

99
## Checklist
1010

11-
- [ ] `pnpm all` passes locally (lint + typecheck + test + build).
11+
- [ ] `pnpm all` passes locally (lint + release policy + typecheck + test + build + spellcheck).
1212
- [ ] If `src/` changed, `dist/index.js` was rebuilt and is included in this PR. CI will fail otherwise.
1313
- [ ] Test coverage for new logic added under `__tests__/` (and passes the 95%/85%/100%/95% coverage gate).
1414
- [ ] If a new `action:` verb was added: it's listed in `src/inputs.ts` `ActionName`, wired in `src/main.ts`, documented in `action.yml`, and has a usage entry in the [README](../README.md).

CHANGELOG.md

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,33 +8,33 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
88

99
### Security
1010

11-
- Hardened release/test tooling to clear GitHub security-scanning findings: bearer-token-like test data is no longer committed as a contiguous literal, release-provenance checks reuse parsed step bodies, mutation-report paths sanitize POSIX and Windows separators, and mutation-report tables share one column definition.
12-
- Bumped pinned CI action SHAs, `biome.json`, and development dependencies to clear GitHub Dependabot security alerts.
11+
- Hardened release/test tooling to clear GitHub security-scanning findings: bearer-token-like test data is no longer committed as a contiguous literal, release-provenance checks reuse parsed step bodies, mutation-report paths sanitize POSIX and Windows separators, and mutation-report tables share one column definition. ([#176](https://github.com/backblaze-labs/b2-action/issues/176))
12+
- Bumped pinned CI action SHAs, `biome.json`, and development dependencies to clear GitHub Dependabot security alerts. ([#175](https://github.com/backblaze-labs/b2-action/issues/175))
1313

1414
### Added
1515

16-
- Local path inputs now expand a leading `~` or `~/` to the runner's home directory: `source` for `upload` and `sync` up, `destination` for `download`, `sync` down, and `verify`, plus `include` / `exclude` globs. Action inputs are not shell-expanded, so `destination: ~/.cache/huggingface` previously created a literal `~` directory inside the workspace, while `@actions/glob` already expanded `~` for upload patterns. B2 keys are never tilde-expanded because `~` is a legal key character. `~user` forms are passed through with a warning, and `~/..` paths are rejected because the expanded path would leave the runner home directory.
17-
- `keep-days` input: the retention window for `keep-mode: keep-days`, which the action never forwarded to the SDK. The SDK defaults the window to 0 days, so `keep-mode: keep-days` can delete every destination-only file immediately and behave exactly like `keep-mode: delete`. For v1 compatibility, `keep-mode: keep-days` without `keep-days` still parses but emits a deprecation warning; set `keep-days` explicitly to use the intended retention window. A future major release should make the window required. Setting `keep-days` with any other `keep-mode` warns that it is ignored.
18-
- `sync` warns when `direction: auto` resolves to a B2-to-local sync while `source` still looks like a local path (`~`, `./`, `../`, or a Windows drive). Auto-detection treats "not an existing local directory" as "must be a B2 prefix", so a mistyped or not-yet-created local path silently reversed the intended direction.
19-
- `upload` file metadata and content headers: new `file-info` (custom `X-Bz-Info-*` entries), `cache-control`, `content-disposition`, `content-language`, and `expires` inputs, plus `preserve-mtime` to record the local file's modification time. Uploaded-file entries in the `summary-json` output now include the resolved `fileInfo`.
16+
- Local path inputs now expand a leading `~` or `~/` to the runner's home directory: `source` for `upload` and `sync` up, `destination` for `download`, `sync` down, and `verify`, plus `include` / `exclude` globs. Action inputs are not shell-expanded, so `destination: ~/.cache/huggingface` previously created a literal `~` directory inside the workspace, while `@actions/glob` already expanded `~` for upload patterns. B2 keys are never tilde-expanded because `~` is a legal key character. `~user` forms are passed through with a warning, and `~/..` paths are rejected because the expanded path would leave the runner home directory. ([#164](https://github.com/backblaze-labs/b2-action/issues/164))
17+
- `keep-days` input: the retention window for `keep-mode: keep-days`, which the action never forwarded to the SDK. The SDK defaults the window to 0 days, so `keep-mode: keep-days` can delete every destination-only file immediately and behave exactly like `keep-mode: delete`. For v1 compatibility, `keep-mode: keep-days` without `keep-days` still parses but emits a deprecation warning; set `keep-days` explicitly to use the intended retention window. A future major release should make the window required. Setting `keep-days` with any other `keep-mode` warns that it is ignored. ([#164](https://github.com/backblaze-labs/b2-action/issues/164))
18+
- `sync` warns when `direction: auto` resolves to a B2-to-local sync while `source` still looks like a local path (`~`, `./`, `../`, or a Windows drive). Auto-detection treats "not an existing local directory" as "must be a B2 prefix", so a mistyped or not-yet-created local path silently reversed the intended direction. ([#164](https://github.com/backblaze-labs/b2-action/issues/164))
19+
- `upload` file metadata and content headers: new `file-info` (custom `X-Bz-Info-*` entries), `cache-control`, `content-disposition`, `content-language`, and `expires` inputs, plus `preserve-mtime` to record the local file's modification time. Uploaded-file entries in the `summary-json` output now include the resolved `fileInfo`. ([#135](https://github.com/backblaze-labs/b2-action/issues/135))
2020

2121
### Changed
2222

2323
- Updated the `@backblaze-labs/b2-sdk` dependency from `^0.1.0` to `^0.2.0`.
24-
- `bypass-governance` now also covers `delete` and `purge`, not just retention changes: it is forwarded to Object Lock delete operations, so a governance-locked file can be removed when the application key has the capability.
24+
- `bypass-governance` now also covers `delete` and `purge`, not just retention changes: it is forwarded to Object Lock delete operations, so a governance-locked file can be removed when the application key has the capability. ([#132](https://github.com/backblaze-labs/b2-action/issues/132))
2525

2626
### Deprecated
2727

28-
- `keep-mode: keep-days` without an explicit `keep-days` value. It still parses but emits a deprecation warning, and because the SDK defaults the window to 0 days it deletes destination-only files immediately (like `keep-mode: delete`). Set `keep-days` explicitly; a future major release will require it.
28+
- `keep-mode: keep-days` without an explicit `keep-days` value. It still parses but emits a deprecation warning, and because the SDK defaults the window to 0 days it deletes destination-only files immediately (like `keep-mode: delete`). Set `keep-days` explicitly; a future major release will require it. ([#164](https://github.com/backblaze-labs/b2-action/issues/164))
2929

3030
### Fixed
3131

32-
- `sync`: `direction: auto` now fails closed for an expandable tilde-prefixed `source` that exists as a local directory, because the same string can also be a valid B2 prefix. Set `direction: up` for a local home-directory upload or `direction: down` for a B2-prefix download. This is a version-to-version behavior change for `~`-prefixed auto sources that briefly resolved as uploads after tilde expansion was added.
33-
- `upload`: glob matches outside the working directory no longer produce B2 keys containing `..` path segments. The key was computed with `relative(process.cwd(), match)`, so a pattern such as `/tmp/build/*.bin` yielded keys like `artifacts/../../../tmp/build/a.bin`. Those objects uploaded successfully but this action's own prefix `download` then refused to map them back onto disk, so they could not be restored. Keys are now resolved against the first containing root (the working directory first, so in-workspace globs keep their existing keys, then the glob's own search paths), falling back to the basename.
34-
- `upload`: multi-file uploads now fail before any upload starts if two local files would map to the same final B2 file name after destination remapping. This avoids silent overwrites from same-basename files matched through multiple absolute roots or basename fallback.
35-
- `copy`: abort signals now flow through both small-file and large-file copy paths, so workflow cancellation behaves consistently.
36-
- `file-info`: oversized metadata entries are now checked against the remaining total metadata budget, producing one coherent limit instead of a value-only limit that could still fail the final total check.
37-
- `copy`: large cross-bucket copies now land in the destination bucket. `copyLargeFile` was never sent the destination bucket id, so a large file copied across buckets was silently written back into the source bucket.
32+
- `sync`: `direction: auto` now fails closed for an expandable tilde-prefixed `source` that exists as a local directory, because the same string can also be a valid B2 prefix. Set `direction: up` for a local home-directory upload or `direction: down` for a B2-prefix download. This is a version-to-version behavior change for `~`-prefixed auto sources that briefly resolved as uploads after tilde expansion was added. ([#164](https://github.com/backblaze-labs/b2-action/issues/164))
33+
- `upload`: glob matches outside the working directory no longer produce B2 keys containing `..` path segments. The key was computed with `relative(process.cwd(), match)`, so a pattern such as `/tmp/build/*.bin` yielded keys like `artifacts/../../../tmp/build/a.bin`. Those objects uploaded successfully but this action's own prefix `download` then refused to map them back onto disk, so they could not be restored. Keys are now resolved against the first containing root (the working directory first, so in-workspace globs keep their existing keys, then the glob's own search paths), falling back to the basename. ([#164](https://github.com/backblaze-labs/b2-action/issues/164))
34+
- `upload`: multi-file uploads now fail before any upload starts if two local files would map to the same final B2 file name after destination remapping. This avoids silent overwrites from same-basename files matched through multiple absolute roots or basename fallback. ([#164](https://github.com/backblaze-labs/b2-action/issues/164))
35+
- `copy`: abort signals now flow through both small-file and large-file copy paths, so workflow cancellation behaves consistently. ([#131](https://github.com/backblaze-labs/b2-action/issues/131))
36+
- `file-info`: oversized metadata entries are now checked against the remaining total metadata budget, producing one coherent limit instead of a value-only limit that could still fail the final total check. ([#135](https://github.com/backblaze-labs/b2-action/issues/135))
37+
- `copy`: large cross-bucket copies now land in the destination bucket. `copyLargeFile` was never sent the destination bucket id, so a large file copied across buckets was silently written back into the source bucket. ([#131](https://github.com/backblaze-labs/b2-action/issues/131))
3838

3939
### Documentation
4040

@@ -44,7 +44,7 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
4444
- README: `keep-mode` states that deletion applies to whichever side is the destination, so a `down` sync with `keep-mode: delete` removes local files; the sync examples say the same inline.
4545
- README: the `delete` verb row distinguishes exact-name deletes (latest version only, history preserved) from prefix deletes (every version, same as `purge`).
4646
- README: `source-bucket` notes that cross-bucket `copy` needs a key that reaches both buckets, so a single-bucket-restricted key cannot do it.
47-
- Release and contributor docs now include the pre-release coherence checklist, require pnpm 11+, use `pnpm run docs` for TypeDoc, and document that the link checker skips generated `docs/` output.
47+
- Release and contributor docs now include the pre-release coherence checklist, pin pnpm via the `packageManager` field, use `pnpm run docs` for TypeDoc, and document that the link checker skips generated `docs/` output.
4848

4949
## [1.1.0] - 2026-06-23
5050

CLAUDE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ pnpm lint:fix
2727
pnpm typecheck # tsc --noEmit
2828
pnpm test # vitest run, against B2Simulator
2929
pnpm build # ncc build src/main.ts -o dist
30-
pnpm all # lint + typecheck + test + build
30+
pnpm all # lint + release policy + typecheck + test + build + spellcheck
3131
pnpm verify-dist # build, then `git diff --exit-code dist/`: must be clean before commit
3232
```
3333

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ A Backblaze-maintained B2 GitHub Action. TypeScript-native, built on [@backblaze
2626
- [Verbs](#verbs)
2727
- [Worked examples](#worked-examples)
2828
- [Upload a single file](#upload-a-single-file)
29+
- [Upload with metadata and content headers](#upload-with-metadata-and-content-headers)
2930
- [Upload a directory with globs](#upload-a-directory-with-globs)
3031
- [Download a file or a prefix](#download-a-file-or-a-prefix)
3132
- [Sync (both directions)](#sync-both-directions)

0 commit comments

Comments
 (0)