Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
114 commits
Select commit Hold shift + click to select a range
500a842
feat: add Single Asset Vault (XLS-65) (#3008)
khancode Jul 3, 2025
7f85e33
Avoid running faucet tests with unit tests (#3033)
mvadari Jul 7, 2025
b308843
generate correct xrpl-latest-min.js file name (#3034)
Patel-Raj11 Jul 7, 2025
a12cd02
fix: add missing `MPTAmount` type to `VaultDeposit` & `VaultWithdraw`…
khancode Jul 9, 2025
bc7fc4b
XLS 85d: Token Escrow (#3027)
ckeshava Jul 11, 2025
a504482
XLS-81D Permissioned DEX (#3032)
ckeshava Jul 16, 2025
2309d59
fix: filename weback.test.config.js (#3043)
tequdev Jul 17, 2025
e3b7efd
fix: allow `DeliverMax` in `Payment` transaction (#3044)
khancode Jul 17, 2025
06071a4
introduce hex validation for domainID in Payment, OfferCreate txn (#3…
ckeshava Jul 23, 2025
7799528
Add warnings for MPTokenMetadata - XLS-89d (#3041)
Patel-Raj11 Jul 24, 2025
e958705
release 4.4.0 (#3055)
ckeshava Jul 29, 2025
de28f40
remove snippets files (#3054)
ckeshava Aug 6, 2025
9f61549
feat(dev): add support for pulling definitions from Github (#3046)
mvadari Aug 19, 2025
5c816e4
Release pipeline (#3039)
shichengripple001 Aug 22, 2025
4326290
Fix node.js process termination due to delayed websocket error callba…
Patel-Raj11 Aug 28, 2025
3c471fb
release workflow fix - skip .github directory from being searched in …
Patel-Raj11 Sep 2, 2025
201e126
Release/xrpl@4.4.1 (#3071)
Patel-Raj11 Sep 4, 2025
32a128f
fix: improve Batch inner transaction typing (#3035)
mvadari Sep 4, 2025
0608433
Migrate ESLint to v9 and it's related plugins to their latest major v…
Patel-Raj11 Sep 12, 2025
2f0eaa3
build(deps-dev): bump eslint from 9.32.0 to 9.35.0 (#3078)
dependabot[bot] Sep 16, 2025
0649abe
build(deps-dev): bump ts-loader from 9.5.2 to 9.5.4 (#3077)
dependabot[bot] Sep 16, 2025
710849a
Release with trusted publisher (#3085)
shichengripple001 Sep 24, 2025
e3ba5a8
Release 4.4.2: release-xrpl-4.4.2 → main (#3093)
github-actions[bot] Sep 25, 2025
006ef0f
Fix serialization of Issue type when asset is MPT (#3090)
Patel-Raj11 Sep 29, 2025
ba23d95
update slack message and update step description (#3098)
shichengripple001 Oct 1, 2025
ef7a9d3
build(deps-dev): bump webpack from 5.101.0 to 5.102.0 (#3104)
dependabot[bot] Oct 6, 2025
290795b
Trigger from release branch (#3100)
shichengripple001 Oct 9, 2025
9e7b328
ci: support Node 24 (#3105)
mvadari Oct 10, 2025
e2ce10d
Fix: deploy documentation workflow (#3101)
ckeshava Oct 18, 2025
3e867b0
update slack message/add version tag for owsap project (#3110)
shichengripple001 Oct 22, 2025
30a48e3
feat: add batch transaction exports to public API (#3064)
nabe3m Oct 28, 2025
3fb9c94
Release 2.5.1: release-rbc-2.5.1 → main (#3125)
github-actions[bot] Oct 30, 2025
bd883bd
Add encodeMPTokenMetadata and decodeMPTokenMetadata utility functions…
Patel-Raj11 Oct 31, 2025
3f128b7
Fix failed integration tests due to the removal of amendments (#3128)
kuan121 Nov 6, 2025
cdd88df
Release 4.4.3: release-xrpl-4.4.3 → main (#3130)
github-actions[bot] Nov 12, 2025
37efcc1
build(deps-dev): bump js-yaml from 3.14.1 to 3.14.2 (#3132)
dependabot[bot] Nov 17, 2025
8abcf5a
chores: Set free-form CI inputs as env vars (#3133)
pdp2121 Nov 18, 2025
afd2a1e
chores: assorted fixes for `release.yaml` (#3134)
pdp2121 Nov 21, 2025
fef333f
update ripple-binary-codec to 2.5.1 (#3126)
Patel-Raj11 Dec 1, 2025
c8fc356
VoD minor bug fixes (#3137)
achowdhry-ripple Dec 3, 2025
3f74511
fix: better formatting handling in definitions script (#3123)
mvadari Dec 5, 2025
ae9ce04
fix: improve faucet error handling (#3118)
mvadari Dec 5, 2025
64fd762
test: make connections.test.ts run faster (#3113)
mvadari Dec 5, 2025
3d6754c
Change dependabot frequency to monthly (#3139)
Patel-Raj11 Dec 5, 2025
802406e
build(deps-dev): bump typedoc from 0.28.5 to 0.28.15 (#3147)
dependabot[bot] Dec 8, 2025
2f66036
Mark AssetsAvailable, AssetsTotal and LossUnrealized of Vault object …
kuan121 Dec 10, 2025
9a1651d
Add support for lending protocol xls-66d (#3138)
Patel-Raj11 Dec 12, 2025
77d2412
feat: export more helper functions (#3157)
mvadari Dec 16, 2025
cf49131
Release 2.6.0: release-rbc-2.6.0 → main (#3159)
github-actions[bot] Dec 16, 2025
94f2d3a
Release 4.5.0: release-xrpl-4.5.0 → main (#3161)
github-actions[bot] Dec 16, 2025
d6c89f9
build(deps-dev): bump expect from 29.7.0 to 30.2.0 (#3148)
dependabot[bot] Dec 17, 2025
cd6e76f
Upgrade lerna to v8 (#3156)
ckeshava Dec 17, 2025
4912f72
Set dependabot version update frequency to quarterly (#3169)
Patel-Raj11 Jan 6, 2026
945e51a
build(deps-dev): bump @eslint/js from 9.35.0 to 9.39.2 (#3170)
dependabot[bot] Jan 7, 2026
1a0d467
build(deps-dev): bump @types/lodash from 4.17.20 to 4.17.21 (#3178)
dependabot[bot] Jan 7, 2026
d9ba1b8
build(deps-dev): bump webpack from 5.102.0 to 5.104.1 (#3166)
dependabot[bot] Jan 7, 2026
9abd7f9
build(deps-dev): bump ts-jest from 29.4.1 to 29.4.6 (#3162)
dependabot[bot] Jan 8, 2026
e048ded
build(deps-dev): bump eslint-plugin-n from 17.21.3 to 17.23.1 (#3143)
dependabot[bot] Jan 9, 2026
7dcad1b
build(deps-dev): bump typescript-eslint from 8.39.0 to 8.52.0 (#3173)
dependabot[bot] Jan 9, 2026
28b481e
build(deps-dev): bump webpack-bundle-analyzer from 4.10.2 to 5.1.0 (#…
dependabot[bot] Jan 12, 2026
c7a0be4
build(deps): bump ws from 8.18.3 to 8.19.0 (#3172)
dependabot[bot] Jan 12, 2026
f2601a1
build(deps-dev): bump eslint from 9.35.0 to 9.39.2 (#3163)
dependabot[bot] Jan 12, 2026
8c8c667
build(deps-dev): bump jest-mock from 29.7.0 to 30.2.0 (#3174)
dependabot[bot] Jan 12, 2026
aab83c8
Beta release workflow (#3131)
shichengripple001 Jan 14, 2026
0aca598
Makes fundWallet method work with locally running faucet server (#3186)
Patel-Raj11 Jan 16, 2026
104d948
build(deps-dev): bump react from 19.1.1 to 19.2.3 (#3165)
dependabot[bot] Jan 22, 2026
91e6410
build(deps-dev): bump lodash from 4.17.21 to 4.17.23 (#3189)
dependabot[bot] Jan 22, 2026
dd453d8
build(deps): bump bignumber.js from 9.1.2 to 9.3.0 (#2988)
dependabot[bot] Jan 26, 2026
cffd3a4
Update linter dev-dependencies (#3192)
ckeshava Jan 26, 2026
4716780
Upgrade chai dev-dependency to v6.2.2 (#3193)
ckeshava Jan 27, 2026
b449a31
Fix STNumber serialization and add counterparty signing helper functi…
Patel-Raj11 Feb 4, 2026
0c89766
fix: add integer check for UInt types in binary codec (#3179)
mvadari Feb 4, 2026
b1e139a
Add missing field types to lending protocol related objects and suppo…
Patel-Raj11 Feb 12, 2026
0a20504
Release 2.7.0: release-rbc-2.7.0 → main (#3202)
github-actions[bot] Feb 12, 2026
318a970
Release 4.6.0: release-xrpl-4.6.0 → main (#3204)
github-actions[bot] Feb 13, 2026
be8d9a2
build(deps-dev): bump lerna from 8.2.4 to 9.0.3 (#3175)
dependabot[bot] Feb 17, 2026
ea2e4e7
build(deps-dev): bump prettier from 3.6.2 to 3.7.4 (#3150)
dependabot[bot] Feb 23, 2026
2d37049
build(deps): bump minimatch and lerna (#3218)
dependabot[bot] Mar 2, 2026
928be9a
chore: add joey wallet, and other missing wallets to applications doc…
interc0der Mar 3, 2026
f465d89
fix: add new fields to `server_definitions` (#3227)
pdp2121 Mar 12, 2026
e7d687d
build(deps-dev): bump jest and @types/jest (#3142)
dependabot[bot] Mar 16, 2026
54f55fa
build(deps): bump @scure/bip32 from 1.7.0 to 2.0.1 (#3108)
dependabot[bot] Mar 16, 2026
fe4f3ab
update trivy-action version (#3233)
Patel-Raj11 Mar 24, 2026
cf9dd82
build(deps): bump @noble/curves from 1.8.1 to 2.0.1 (#3096)
dependabot[bot] Mar 25, 2026
1a1c516
build(deps): bump picomatch (#3234)
dependabot[bot] Mar 26, 2026
59518c8
build(deps-dev): bump flatted from 3.3.3 to 3.4.2 (#3228)
dependabot[bot] Mar 26, 2026
1af0e0d
build(deps): bump @noble/hashes from 1.8.0 to 2.0.1 (#3151)
dependabot[bot] Mar 26, 2026
e0fd402
fix(types): Add missing fields to request and response types (#3217)
mpint Mar 30, 2026
a07a28b
minor: remove references to deno in the repository README (#3240)
ckeshava Apr 1, 2026
29108b3
build(deps): bump tar and lerna (#3226)
dependabot[bot] Apr 2, 2026
6282a00
Prevent 'connected' event listener accumulation on reconnect by using…
kuan121 Apr 6, 2026
5cf0921
build(deps): bump handlebars from 4.7.8 to 4.7.9 (#3235)
dependabot[bot] Apr 7, 2026
0f391ef
assortment of fixes in the xrpl packages (#3270)
ckeshava Apr 20, 2026
92fe5fd
fix: change MPTAmount field type from MPTAmount to string (#3232)
tequdev Apr 21, 2026
781f03a
breaking change: Update default choice of signing algorithm (#3273)
ckeshava Apr 21, 2026
de3fe63
feat: add type narrowing for LedgerEntryRequest based on binary flag …
tequdev Apr 22, 2026
0d53664
chore(deps): quarterly batch dependency upgrade 2026-Q2 (#3271)
kuan121 Apr 23, 2026
013a83f
fix(xrpl): throw on server_info failure or missing network_id (#3321)…
ckeshava May 1, 2026
00eeece
fix(ripple-binary-codec): prevent Amount.toJSON() from mutating inter…
ckeshava May 1, 2026
d739d47
Redact private key material in errors (#3327)
cybele-ripple May 7, 2026
f7212ea
Update definitions.json (#3344)
Patel-Raj11 Jun 1, 2026
8d42522
fix(xrpl): infer signing algorithm from seed prefix in Wallet.fromSee…
ckeshava Jun 3, 2026
abee9da
Release 1.0.2: release-isomorphic-1.0.2 → main (#3354)
github-actions[bot] Jun 4, 2026
ee87639
Release 5.0.1: release-rac-5.0.1 → main (#3358)
github-actions[bot] Jun 4, 2026
52c53ac
Release 2.8.0: release-rbc-2.8.0 → main (#3362)
github-actions[bot] Jun 5, 2026
8ab9da9
build(deps-dev): bump ip-address from 10.1.0 to 10.2.0 (#3333)
dependabot[bot] Jun 5, 2026
ecee98d
build(deps): bump tmp from 0.2.5 to 0.2.7 (#3348)
dependabot[bot] Jun 5, 2026
5255aa0
build(deps-dev): bump fast-uri from 3.1.0 to 3.1.2 (#3334)
dependabot[bot] Jun 5, 2026
f9d0a60
build(deps): bump axios and nx (#3349)
dependabot[bot] Jun 5, 2026
6dd16d8
Release 3.0.0: release-ripple-keypairs-3.0.0 → main (#3365)
github-actions[bot] Jun 5, 2026
6c6ecd0
Release 3.0.0: release-secret-numbers-3.0.0 → main (#3366)
github-actions[bot] Jun 5, 2026
acdc1a2
Release 5.0.0: release-xrpl-5.0.0 → main (#3367)
github-actions[bot] Jun 5, 2026
7791ce2
add ReferenceHolding to MPTokenIssuance and vault_info shares (#3345)
Patel-Raj11 Jun 18, 2026
89efb7e
build(deps-dev): bump eslint-plugin-jsdoc from 52.0.4 to 63.0.8
dependabot[bot] Jun 25, 2026
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
21 changes: 13 additions & 8 deletions .ci-config/rippled.cfg → .ci-config/xrpld.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ small

[node_db]
type=NuDB
path=/var/lib/rippled/db/nudb
path=/var/lib/xrpld/db/nudb
advisory_delete=0

# How many ledgers do we want to keep (history)?
Expand All @@ -58,10 +58,10 @@ online_delete=256
256

[database_path]
/var/lib/rippled/db
/var/lib/xrpld/db

[debug_logfile]
/var/log/rippled/debug.log
/var/log/xrpld/debug.log

[network_id]
0
Expand Down Expand Up @@ -101,7 +101,6 @@ online_delete=256
# Devnet amendments as of June 28th, 2023
NegativeUNL
fixRemoveNFTokenAutoTrustLine
NonFungibleTokensV1
CheckCashMakesTrustLine
fixRmSmallIncreasedQOffers
fixSTAmountCanonicalize
Expand Down Expand Up @@ -144,10 +143,8 @@ fix1512
fix1373
MultiSign
Checks
NonFungibleTokensV1_1
# 1.10.0 Amendments
DisallowIncoming
fixNonFungibleTokensV1_2
fixTrustLinesToSelf
fixUniversalNumber
ImmediateOfferKilled
Expand All @@ -158,7 +155,6 @@ ExpandedSignerList
AMM
Clawback
fixReducedOffersV1
fixNFTokenRemint
# 2.0.0 Amendments
XChainBridge
DID
Expand Down Expand Up @@ -188,8 +184,17 @@ PermissionedDomains
fixFrozenLPTokenTransfer
fixInvalidTxFlags
# 2.5.0 Amendments
PermissionDelegation
Batch
PermissionedDEX
TokenEscrow
PermissionDelegationV1_1
# 3.1.0 Amendments
SingleAssetVault
LendingProtocol
# 3.1.3 Amendments
fixCleanup3_1_3
# 3.2.0 Amendments
fixCleanup3_2_0

# This section can be used to simulate various FeeSettings scenarios for rippled node in standalone mode
[voting]
Expand Down
30 changes: 30 additions & 0 deletions .claude/skills/batch-deps-upgrade/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# Batch Dependency Upgrade

Batches all open Dependabot PRs into a single upgrade PR.

## Prerequisites

- `gh auth login` -- needed to list open Dependabot PRs
- Docker daemon running -- the skill starts a rippled container for integration/browser tests

## Usage

From the xrpl.js repo root, start a new Claude Code session and run:

```
/batch-deps-upgrade
```

## What it does

1. Discovers all open Dependabot PRs via `gh pr list`
2. Applies upgrades to package.json files, runs `npm install`
3. Validates with build, lint, unit tests, integration tests, browser tests and faucet tests
4. Generates output files and a commit message for the human to use

## After it finishes

1. Review the changes and generated files. Ask Claude questions about specific changes if they don't make sense — the code changes may need multiple rounds of discussion and correction before they're ready.
2. Stage and commit using the suggested commit message (the skill already creates a branch)
3. Push and open a PR using the generated PR description
4. After merge, close the superseded Dependabot PRs listed in the description
85 changes: 85 additions & 0 deletions .claude/skills/batch-deps-upgrade/SKILL.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,85 @@
---
name: batch-deps-upgrade
description: Batch all open Dependabot dependency upgrade PRs into a single PR
disable-model-invocation: true
---

Batch all open Dependabot dependency upgrade PRs into a single PR for this repository.

## Step 1: Discover

Run: gh pr list --repo XRPLF/xrpl.js --label dependencies --state open --limit 500 --json number,title,headRefName,body,url

Parse each PR to extract package names and versions. Dependabot PRs come in two formats:
- **Single-package PRs**: title is `Bump <pkg> from <old> to <new>` — parse from title
- **Grouped PRs** (e.g. #3266, #3051, #3013): title is `bump <pkg1> and <pkg2>` with no versions — parse from PR body, which contains a structured list of package updates with version ranges

If any PR can't be parsed from either title or body, flag it for manual review. Build a table of all proposed upgrades. Report the table to the user before proceeding.

## Step 2: Apply

1. Create a branch from main: deps/batch-deps-upgrade-YYYY-QN (use current year and quarter)
2. Check for **peer dependency conflicts** before upgrading. For each proposed upgrade, run `npm ls <pkg>` and check if any workspace package pins a peer dep that would block the upgrade (e.g., `@xrplf/eslint-config@^3` requires `eslint@^9`, blocking eslint 10). Mark these as Skipped (peer dep conflict: <details>) and do not attempt them.
3. For each remaining Dependabot PR, determine if it's a direct dep (listed in a package.json) or transitive dep (only in package-lock.json):
- Direct deps: update the version in the relevant package.json file(s)
- Transitive deps: run `npm update <pkg>` to update within semver range
4. Run `npm install` to update package-lock.json. **Do NOT delete package-lock.json and regenerate from scratch** — this can change hoisted dependency resolution and break builds even when no versions changed.
5. Diff package.json and package-lock.json against main to classify each Dependabot PR as:
- Upgraded: version changed
- No-op: version was already current or newer
6. If any upgrade changes the public API of a package (new errors, changed return types, removed functionality) and result in a breaking change, add an entry under `## Unreleased` in that package's `HISTORY.md`.
7. Verify completeness: every PR from step 1 must have a status (Upgraded, No-op, or Skipped). If any PR is unaccounted for, stop and report it before proceeding.

## Step 3: Validate

Run the full test suite in order:
1. npm run build && npm run lint
2. npm test
3. Start xrpld Docker container (based on CONTRIBUTING.md):
- Pre-run cleanup (in case a previous run left a container behind): `docker rm -f xrpld-service 2>/dev/null || true`
- Start the container: `docker run --detach --rm --publish 6006:6006 --volume "$PWD/.ci-config:/etc/xrpld/" --name xrpld-service rippleci/xrpld:develop --standalone`
- Wait for port 6006 with a bounded timeout and halt on failure:
```bash
SECONDS=0
until nc -z localhost 6006 || [ $SECONDS -gt 120 ]; do sleep 2; done
if ! nc -z localhost 6006; then
echo "Error: xrpld did not start within 120s"
docker logs xrpld-service
exit 1
fi
```
- Run: `npm run test:integration && npm run test:browser`
- Stop container: `docker stop xrpld-service` (auto-removed via `--rm`)
4. npm run test:faucet

If any step fails, **attempt to fix the breaking change with code modifications before rolling back**. Common patterns:

- **BigNumber.js major bumps**: v10+ throws on invalid input instead of returning NaN. Wrap `new BigNumber(val)` calls in try-catch where the code previously checked for NaN.
- **ESM-only packages** (e.g., https-proxy-agent): Add transform entries and `transformIgnorePatterns` exclusions in `jest.config.base.js` so Jest can parse ESM imports.
- **Type compatibility** (e.g., @scure/base 2.0 changing Uint8Array generics): Widen variable type annotations (e.g., `let buf: Uint8Array = ...` instead of `let buf = ...`).
- **Hoisting breakage** (e.g., webpack-merge): If a transitive dep's major version is shadowed by a different transitive dep's older version, add the correct version as an explicit dependency.

Only roll back and mark as Skipped if:
- The fix requires a large-scale migration (e.g., TypeScript moduleResolution changes across the entire monorepo)
- The upgrade is blocked by an external peer dependency constraint you cannot update

If a failure persists after investigation and you cannot identify a fix, roll back the upgrade and mark it as Skipped. Re-run validation until green.

## Step 4: Generate Outputs

Do NOT commit or create a PR. Instead, generate the following outputs for the human to use:

1. **Code changes note** — write a markdown file (`.claude/skills/batch-deps-upgrade/code-changes.md`) documenting every non-package.json source code change, explaining what broke, why, and the minimal fix applied.

2. **Commit message** — output a concise commit message the human can copy-paste into `git commit -m "..."`. Format: `chore(deps): quarterly batch dependency upgrade YYYY-QN` followed by a brief summary of upgrades, skips, and removals.

3. **PR description** — write a markdown file (`.claude/skills/batch-deps-upgrade/pr-description.md`) following the repo's PR template (.github/pull_request_template.md):
- For "Type of Change", determine dynamically:
- Check "Breaking change" ONLY if the upgrade visibly changes the library's public API (e.g., error messages, return types, removed functions). This aligns with whether a `HISTORY.md` entry was added in Step 2.6.
- Otherwise, do not check any Type of Change — dependency upgrades are maintenance and don't fit "Refactor" (which means restructuring code without behavior change). Note in the PR body that the upgrade is maintenance.
- Include a "Superseded Dependabot PRs" section with a table: PR (linked), Package, From, To, Status, MajorVersionUpgrade
- Status values: Upgraded, No-op (reason), Skipped (peer dep conflict / CI failure: error)
- MajorVersionUpgrade: `No` if the major version number did not change. Otherwise `Yes` plus a link for each major version crossed. For example, 7.x → 9.x yields `Yes ([v8](url), [v9](url))`. Each link should point to the package's release notes or changelog for that major version. Verify each link returns HTTP 200 and has meaningful content (e.g., `curl -sL -o /dev/null -w "%{http_code}" <url>`); if a package doesn't publish per-version GitHub releases (e.g., TypeScript sometimes skips `x.0.0`/`x.0.1` tags, bignumber.js puts details in CHANGELOG.md), fall back to the CHANGELOG.md file or the closest valid release tag.
- Closing instructions with two paragraphs:
1. "After merging, close the following superseded PRs (Skipped ones remain open for future handling): #X, #Y, #Z" — list only Upgraded and No-op PRs.
2. "The following PRs were Skipped and should remain open: #A (package-a), #B (package-b), ..." — annotate each with the package name. These stay open so Dependabot keeps rebasing them.
4 changes: 2 additions & 2 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,6 @@ updates:
- package-ecosystem: npm
directory: "/"
schedule:
interval: weekly
interval: quarterly
time: "15:00"
open-pull-requests-limit: 10
open-pull-requests-limit: 30
16 changes: 16 additions & 0 deletions .github/workflows/faucet_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,22 @@ on:
push:
branches: [main]
workflow_dispatch:
workflow_call:
inputs:
git_ref:
description: 'Git ref to checkout (branch, tag, or commit SHA)'
required: true
type: string
run_faucet_tests:
description: 'Run faucet tests job'
required: false
type: boolean
default: true


jobs:
faucet-test:
if: ${{ github.event_name != 'workflow_dispatch' || inputs.run_faucet_tests != false }}
runs-on: ubuntu-latest
timeout-minutes: 15

Expand All @@ -17,6 +30,9 @@ jobs:

steps:
- uses: actions/checkout@v4
with:
ref: ${{ inputs.git_ref || github.ref }}
fetch-depth: 0
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
Expand Down
77 changes: 77 additions & 0 deletions .github/workflows/generate-documentation.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,77 @@
name: Generate Documentation

on:
workflow_call:
inputs:
git_ref:
description: 'Git ref to checkout (branch, tag, or commit SHA)'
required: true
type: string

env:
GIT_REF: ${{ inputs.git_ref }}

jobs:
generate-documentation:
runs-on: ubuntu-latest

strategy:
matrix:
node-version: [22.x]

steps:
- uses: actions/checkout@v4
with:
ref: ${{ env.GIT_REF }}
fetch-depth: 0

- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node-version }}

- name: Setup npm version 10
run: |
npm i -g npm@10 --registry=https://registry.npmjs.org
- name: Cache node modules
id: cache-nodemodules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
# caching node_modules
path: |
node_modules
*/*/node_modules
key: ${{ runner.os }}-deps-${{ matrix.node-version }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-deps-${{ matrix.node-version }}-
- name: Install Dependencies
if: steps.cache-nodemodules.outputs.cache-hit != 'true'
run: npm ci

- run: npm run build

- name: Generate Documentation
run: npm run docgen

- name: Upload documentation files as artifact
id: docs-artifact
uses: actions/upload-pages-artifact@v3
with:
path: docs/
retention-days: 10

deploy-docs-pages:
permissions:
id-token: write # Needed for OIDC authentication
pages: write # this permission is needed for deploying into Github Pages
environment:
name: github-pages
url: ${{ steps.docs-artifact.outputs.page_url }}
runs-on: ubuntu-latest
needs: generate-documentation
steps:
- name: Deploy to Documentation to GitHub Pages
id: docs-artifact
uses: actions/deploy-pages@v4
Loading
Loading