Skip to content
Open
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
54 changes: 54 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,9 @@ name: Test Flow
on:
pull_request:

permissions:
contents: read

jobs:
build:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -40,6 +43,57 @@ jobs:
- name: Run lint
run: npm run lint

pack_smoke:
# Guards the global-install contract without needing a full Ocean stack:
# a broken bin, cwd-dependent module loading, or env-gated --help/--version
# would all fail here. Also asserts the publish tarball excludes sources.
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4
Comment thread
alexcos20 marked this conversation as resolved.
with:
persist-credentials: false

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "22.5.1"

- name: Install dependencies
run: npm ci

- name: Build
run: npm run build

- name: Pack tarball
run: |
TARBALL=$(npm pack | tail -1)
echo "TARBALL=$TARBALL" >> $GITHUB_ENV
echo "Packed $TARBALL"

- name: Assert tarball contents (dist/metadata/README in; src/test out)
run: |
FILES=$(tar -tzf "$TARBALL")
echo "$FILES"
echo "$FILES" | grep -q '^package/dist/index.js$' || { echo "MISSING dist/index.js"; exit 1; }
echo "$FILES" | grep -q '^package/README.md$' || { echo "MISSING README.md"; exit 1; }
echo "$FILES" | grep -q '^package/metadata/' || { echo "MISSING metadata/"; exit 1; }
if echo "$FILES" | grep -qE '^package/(src|test)/'; then
echo "Tarball must not ship src/ or test/"; exit 1
fi

- name: Install globally from tarball
run: npm i -g "./$TARBALL"

- name: Run bin from a foreign cwd with NO env vars
working-directory: ${{ runner.temp }}
run: |
ocean-cli --version
ocean-cli --help > /dev/null
ocean-cli -h > /dev/null
ocean-cli -V > /dev/null

test_system:
runs-on: ubuntu-latest
strategy:
Expand Down
54 changes: 54 additions & 0 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
name: Publish

on:
push:
tags:
- "v*"

permissions:
contents: read
id-token: write # required for npm provenance

jobs:
npm:
runs-on: ubuntu-latest

steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Node.js
uses: actions/setup-node@v4
with:
node-version: "22.5.1"
registry-url: "https://registry.npmjs.org/"

# Only publish a tag whose version matches package.json, so a stray or
# mistyped tag can never publish a mismatched release.
- name: Verify tag matches package.json version
run: |
TAG_VERSION="${GITHUB_REF_NAME#v}"
PKG_VERSION="$(node -p "require('./package.json').version")"
if [ "$TAG_VERSION" != "$PKG_VERSION" ]; then
echo "Tag $GITHUB_REF_NAME (version $TAG_VERSION) does not match package.json version $PKG_VERSION"
exit 1
fi

- name: Install dependencies
run: npm ci

# prepublishOnly (npm run build) runs automatically during npm publish.
# --access public is required for a scoped package; --provenance attests
# the build to the source commit (needs the package.json `repository`
# field to match this repo and the id-token permission above).
- name: Publish (next)
if: contains(github.ref, 'next')
run: npm publish --tag next --provenance --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}

- name: Publish (latest)
if: ${{ !contains(github.ref, 'next') }}
run: npm publish --provenance --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }}
113 changes: 113 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,113 @@
### Changelog

All notable changes to this project will be documented in this file. Dates are displayed in UTC.

Generated by [`auto-changelog`](https://github.com/CookPete/auto-changelog).

#### [v2.0.0-next.4](https://github.com/oceanprotocol/ocean-cli/compare/v2.0.0-next.3...v2.0.0-next.4)

- fixes [`b7b7754`](https://github.com/oceanprotocol/ocean-cli/commit/b7b7754fa881f857358c00f2c2ba8aa2b3ac68e7)

#### [v2.0.0-next.3](https://github.com/oceanprotocol/ocean-cli/compare/v2.0.0-next.2...v2.0.0-next.3)

> 24 July 2026

- Release v2.0.0-next.3 [`e7c4e13`](https://github.com/oceanprotocol/ocean-cli/commit/e7c4e13fc8314233d52145e4db306048cc4d404e)
- fix package url [`1f58c82`](https://github.com/oceanprotocol/ocean-cli/commit/1f58c82aba84a9e7b0b49e3e328024c16441ffc8)

#### [v2.0.0-next.2](https://github.com/oceanprotocol/ocean-cli/compare/v1.0.0...v2.0.0-next.2)

> 24 July 2026

- fix interactive menu [`#162`](https://github.com/oceanprotocol/ocean-cli/pull/162)
- ddoJs for v5 [`#131`](https://github.com/oceanprotocol/ocean-cli/pull/131)
- Feature/add claude [`#158`](https://github.com/oceanprotocol/ocean-cli/pull/158)
- codeowner [`#157`](https://github.com/oceanprotocol/ocean-cli/pull/157)
- Feature/allow full compute asset [`#156`](https://github.com/oceanprotocol/ocean-cli/pull/156)
- Change order initial users param [`#155`](https://github.com/oceanprotocol/ocean-cli/pull/155)
- Bucket methods [`#154`](https://github.com/oceanprotocol/ocean-cli/pull/154)
- bump ocean.js + ddo.js [`#152`](https://github.com/oceanprotocol/ocean-cli/pull/152)
- ocean.js p2p [`#151`](https://github.com/oceanprotocol/ocean-cli/pull/151)
- feat(#148): expose external storage c2d [`#150`](https://github.com/oceanprotocol/ocean-cli/pull/150)
- use latest ocean.js [`#147`](https://github.com/oceanprotocol/ocean-cli/pull/147)
- chore: add example metadata [`#132`](https://github.com/oceanprotocol/ocean-cli/pull/132)
- chore: buy v5 [`bc2b222`](https://github.com/oceanprotocol/ocean-cli/commit/bc2b2227c08620a63e171ab9e8d1660a3190bd4a)
- fix: removed file downaloded [`c99c066`](https://github.com/oceanprotocol/ocean-cli/commit/c99c06639dd6ad3a4c2f93ba01f5163bc77ec24f)

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

📐 Maintainability & Code Quality | 🟡 Minor | ⚡ Quick win

Fix the changelog typo.

Change downaloded to downloaded.

🧰 Tools
🪛 LanguageTool

[grammar] ~35-~35: Ensure spelling is correct
Context: ...b9e8d1660a3190bd4a) - fix: removed file downaloded [c99c066](https://github.com/oceanpro...

(QB_NEW_EN_ORTHOGRAPHY_ERROR_IDS_1)

🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

In `@CHANGELOG.md` at line 35, Correct the typo in the changelog entry by
replacing “downaloded” with “downloaded,” without changing the surrounding text
or commit link.

Source: Linters/SAST tools

- fix: lint [`a91ee21`](https://github.com/oceanprotocol/ocean-cli/commit/a91ee21b6c59b44c3b93cee84286abf881bac1bc)

#### v1.0.0

> 27 February 2026

- use oceanlib v6 [`#146`](https://github.com/oceanprotocol/ocean-cli/pull/146)
- feat(logs): add downloadNodeLogs cli command [`#144`](https://github.com/oceanprotocol/ocean-cli/pull/144)
- fix: update get logs test after getLogsHandler p2p update [`#143`](https://github.com/oceanprotocol/ocean-cli/pull/143)
- Feature/bump_oceanlib_to_510 [`#141`](https://github.com/oceanprotocol/ocean-cli/pull/141)
- add copilot instructions [`#140`](https://github.com/oceanprotocol/ocean-cli/pull/140)
- add n8n flow [`#139`](https://github.com/oceanprotocol/ocean-cli/pull/139)
- Node version and module type [`#137`](https://github.com/oceanprotocol/ocean-cli/pull/137)
- bump ocean libs [`#136`](https://github.com/oceanprotocol/ocean-cli/pull/136)
- Updated docs [`#135`](https://github.com/oceanprotocol/ocean-cli/pull/135)
- Access list methods [`#133`](https://github.com/oceanprotocol/ocean-cli/pull/133)
- update codeowners [`#134`](https://github.com/oceanprotocol/ocean-cli/pull/134)
- Update libs and ethers [`#127`](https://github.com/oceanprotocol/ocean-cli/pull/127)
- Fix publisher trusted algorithms structure for compute dataset. [`#125`](https://github.com/oceanprotocol/ocean-cli/pull/125)
- Feature/paid auth extra commands [`#124`](https://github.com/oceanprotocol/ocean-cli/pull/124)
- Fix parsing compute envs for ocean-node system tests. [`#121`](https://github.com/oceanprotocol/ocean-cli/pull/121)
- Feature/paid-compute in cli [`#115`](https://github.com/oceanprotocol/ocean-cli/pull/115)
- bump ocean.js [`#120`](https://github.com/oceanprotocol/ocean-cli/pull/120)
- Update ocean.js [`#119`](https://github.com/oceanprotocol/ocean-cli/pull/119)
- Remove legacy env vars like AQUARIUS and PROVIDER urls [`#111`](https://github.com/oceanprotocol/ocean-cli/pull/111)
- Update CODEOWNERS [`#112`](https://github.com/oceanprotocol/ocean-cli/pull/112)
- avoid cli to exit, loop commands [`#99`](https://github.com/oceanprotocol/ocean-cli/pull/99)
- add authorized publishers, update DDO validate call [`#90`](https://github.com/oceanprotocol/ocean-cli/pull/90)
- Fix start free compute - Fix logic for METADATA_CACHE_URI [`#109`](https://github.com/oceanprotocol/ocean-cli/pull/109)
- Release SDK 4.0 C2D V2 [`#89`](https://github.com/oceanprotocol/ocean-cli/pull/89)
- Issue ddo id with lib [`#101`](https://github.com/oceanprotocol/ocean-cli/pull/101)
- fix node branch [`#103`](https://github.com/oceanprotocol/ocean-cli/pull/103)
- use latest ocean.js [`#100`](https://github.com/oceanprotocol/ocean-cli/pull/100)
- Fix consume flow tests for new DDO structure [`#87`](https://github.com/oceanprotocol/ocean-cli/pull/87)
- Fix p2p test. [`#98`](https://github.com/oceanprotocol/ocean-cli/pull/98)
- Issue 96 consumeflow file [`#97`](https://github.com/oceanprotocol/ocean-cli/pull/97)
- updating cli to use command cli library [`#88`](https://github.com/oceanprotocol/ocean-cli/pull/88)
- Use createAsset function from SDK. [`#73`](https://github.com/oceanprotocol/ocean-cli/pull/73)
- pass config argument when we have it [`#84`](https://github.com/oceanprotocol/ocean-cli/pull/84)
- Fixing bug where feeToken is always Ocean [`#79`](https://github.com/oceanprotocol/ocean-cli/pull/79)
- refactor fn call waitForAqua to waitForIndexer [`#86`](https://github.com/oceanprotocol/ocean-cli/pull/86)
- increase MAX_REQ_PER_MINUTE for system tests [`#81`](https://github.com/oceanprotocol/ocean-cli/pull/81)
- Delete node:16 docker image from workflow. [`#76`](https://github.com/oceanprotocol/ocean-cli/pull/76)
- Setting up cli interactive flow [`#71`](https://github.com/oceanprotocol/ocean-cli/pull/71)
- add check for computeoutput, ips [`#65`](https://github.com/oceanprotocol/ocean-cli/pull/65)
- Adding tests for downloading assets [`#68`](https://github.com/oceanprotocol/ocean-cli/pull/68)
- Issue 62 - add default filename on downloadFile [`#63`](https://github.com/oceanprotocol/ocean-cli/pull/63)
- Updating access [`#67`](https://github.com/oceanprotocol/ocean-cli/pull/67)
- Fix compute assets samples [`#61`](https://github.com/oceanprotocol/ocean-cli/pull/61)
- add missing algo meta to request to start compute [`#59`](https://github.com/oceanprotocol/ocean-cli/pull/59)
- Issue 54 agreementid stop [`#56`](https://github.com/oceanprotocol/ocean-cli/pull/56)
- computeStatus - add support for `agreementId` [`#53`](https://github.com/oceanprotocol/ocean-cli/pull/53)
- Bump ocean.js lib [`#55`](https://github.com/oceanprotocol/ocean-cli/pull/55)
- Test flow with Ocean Node [`#49`](https://github.com/oceanprotocol/ocean-cli/pull/49)
- Bump ocean lib [`#51`](https://github.com/oceanprotocol/ocean-cli/pull/51)
- Compute jobs with multiple datasets & selectable compute env [`#34`](https://github.com/oceanprotocol/ocean-cli/pull/34)
- Fix/provider url override if env var is set [`#47`](https://github.com/oceanprotocol/ocean-cli/pull/47)
- fix for loop [`#48`](https://github.com/oceanprotocol/ocean-cli/pull/48)
- Fix validation order [`#45`](https://github.com/oceanprotocol/ocean-cli/pull/45)
- set proper flags for metadata [`#41`](https://github.com/oceanprotocol/ocean-cli/pull/41)
- fix editAsset command [`#44`](https://github.com/oceanprotocol/ocean-cli/pull/44)
- bump ocean.js [`#40`](https://github.com/oceanprotocol/ocean-cli/pull/40)
- Bump ocean lib and remove logs [`#39`](https://github.com/oceanprotocol/ocean-cli/pull/39)
- Fix/ unencrypt publish [`#38`](https://github.com/oceanprotocol/ocean-cli/pull/38)
- Publish DDO without encrypt option [`#35`](https://github.com/oceanprotocol/ocean-cli/pull/35)
- Fix readme private key [`#31`](https://github.com/oceanprotocol/ocean-cli/pull/31)
- Update README.md [`#30`](https://github.com/oceanprotocol/ocean-cli/pull/30)
- Fix/ Mnemonic - Private key & Provider - Aquarius usage [`#29`](https://github.com/oceanprotocol/ocean-cli/pull/29)
- Readme, package.json updates & small fixes [`#21`](https://github.com/oceanprotocol/ocean-cli/pull/21)
- Add download c2d Job Result [`#17`](https://github.com/oceanprotocol/ocean-cli/pull/17)
- Build-in support for Barge on macOS [`#18`](https://github.com/oceanprotocol/ocean-cli/pull/18)
- bump ocean.js lib [`#20`](https://github.com/oceanprotocol/ocean-cli/pull/20)
- Bump ocean.js lib 3.1.1 [`#16`](https://github.com/oceanprotocol/ocean-cli/pull/16)
- Feature/ Support oceanjs v3 [`#6`](https://github.com/oceanprotocol/ocean-cli/pull/6)
- Update URL [`#5`](https://github.com/oceanprotocol/ocean-cli/pull/5)
- remove old code [`719a969`](https://github.com/oceanprotocol/ocean-cli/commit/719a9694749b9f77f45a8bc66ed862f36cfc90c7)
- refactor vars [`3951f5f`](https://github.com/oceanprotocol/ocean-cli/commit/3951f5fa0826ae0d05bd1d25726d1e053fab28c1)
- minor fix, allow empty datasets [`0e0281c`](https://github.com/oceanprotocol/ocean-cli/commit/0e0281ce790045bc8b2a87b2b65e9de27646b245)
Loading
Loading