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
56 changes: 54 additions & 2 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,9 @@ name: Test Flow

on:
pull_request:
branches:
- main

permissions:
contents: read

jobs:
build:
Expand Down Expand Up @@ -42,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
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)
- 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