Skip to content

Feature/add enterprisefee getters #3916

Feature/add enterprisefee getters

Feature/add enterprisefee getters #3916

Workflow file for this run

name: 'CI'
on:
pull_request:
branches:
- main
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Cache node_modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
path: ~/.npm
key: ${{ runner.os }}-lint-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: ${{ runner.os }}-lint-${{ env.cache-name }}-
- run: npm ci
- run: npm run lint
test_unit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Cache node_modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
path: ~/.npm
key: ${{ runner.os }}-test-unit-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: ${{ runner.os }}-test-unit-${{ env.cache-name }}-
# Env var expansion workaround
# https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
- name: Set ADDRESS_FILE
run: echo "ADDRESS_FILE=${HOME}/.ocean/ocean-contracts/artifacts/address.json" >> $GITHUB_ENV
- name: Checkout Barge
uses: actions/checkout@v3
with:
repository: 'oceanprotocol/barge'
path: 'barge'
- name: Run Ganache with Barge
working-directory: ${{ github.workspace }}/barge
run: |
bash -x start_ocean.sh --with-typesense 2>&1 > start_ocean.log &
- name: Install deps & build
run: npm ci && npm run build:metadata
- name: Wait for node to be ready
run: |
max_attempts=60
attempt=1
echo "Waiting for node container to be ready (timeout: 300s)..."
while [ $attempt -le $max_attempts ]; do
if [ "$(docker inspect -f '{{.State.Running}}' ocean-node-1 2>/dev/null)" = "true" ]; then
echo "Node container is running!"
break
fi
echo "Attempt $attempt/$max_attempts: Node container not ready yet, waiting..."
if [ $attempt -eq $max_attempts ]; then
echo "Error: Node container failed to start within 300 seconds"
docker ps -a
docker inspect ocean-node-1
exit 1
fi
sleep 10
attempt=$((attempt + 1))
done
- run: npm run test:unit:cover
- uses: actions/upload-artifact@v4
with:
name: coverage-unit
path: coverage/
test_integration:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: Cache node_modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
path: ~/.npm
key: ${{ runner.os }}-test-integration-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: ${{ runner.os }}-test-integration-${{ env.cache-name }}-
# Env var expansion workaround
# https://docs.github.com/en/actions/reference/workflow-commands-for-github-actions#setting-an-environment-variable
- name: Set ADDRESS_FILE
run: echo "ADDRESS_FILE=${HOME}/.ocean/ocean-contracts/artifacts/address.json" >> $GITHUB_ENV
- name: Checkout Barge
uses: actions/checkout@v3
with:
repository: 'oceanprotocol/barge'
path: 'barge'
- name: Login to Docker Hub
if: ${{ env.DOCKERHUB_PASSWORD && env.DOCKERHUB_USERNAME }}
run: |
echo "Login to Docker Hub";echo "$DOCKERHUB_PASSWORD" | docker login -u "$DOCKERHUB_USERNAME" --password-stdin
env:
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
DOCKERHUB_PASSWORD: ${{ secrets.DOCKERHUB_PASSWORD }}
- name: Run Barge
working-directory: ${{ github.workspace }}/barge
run: |
export NODE_VERSION=pr-1097
bash -x start_ocean.sh --with-typesense 2>&1 > start-node.log &
- name: Install deps & build
run: npm ci && npm run build:metadata
- name: Wait for node to be ready
run: |
max_attempts=60
attempt=1
echo "Waiting for node container to be ready (timeout: 300s)..."
while [ $attempt -le $max_attempts ]; do
if [ "$(docker inspect -f '{{.State.Running}}' ocean-node-1 2>/dev/null)" = "true" ]; then
echo "Node container is running!"
break
fi
echo "Attempt $attempt/$max_attempts: Node container not ready yet, waiting..."
if [ $attempt -eq $max_attempts ]; then
echo "Error: Node container failed to start within 300 seconds"
docker ps -a
docker inspect ocean-node-1
exit 1
fi
sleep 10
attempt=$((attempt + 1))
done
- name: integration
run: npm run test:integration:cover
env:
INDEXING_RETRY_INTERVAL: 4000
INDEXING_MAX_RETRIES: 120
NODE_URL: 'http://127.0.0.1:8001'
- name: docker logs
run: docker logs ocean-ocean-contracts-1 && docker logs ocean-node-1
if: ${{ failure() }}
- name: Upload coverage
uses: actions/upload-artifact@v4
with:
name: coverage-integration
path: coverage/
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
os: [ubuntu-latest, macos-latest, windows-latest]
node: ['20', '18']
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v4
with:
node-version: ${{ matrix.node }}
- name: Cache node_modules
uses: actions/cache@v4
env:
cache-name: cache-node-modules
with:
path: ~/.npm
key: ${{ runner.os }}-${{ matrix.node }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: ${{ runner.os }}-${{ matrix.node }}-build-${{ env.cache-name }}-
- run: npm ci
- run: npm run build
- run: npm run doc:json
coverage:
runs-on: ubuntu-latest
needs: [test_unit, test_integration]
if: ${{ success() && github.actor != 'dependabot[bot]' }}
steps:
- uses: actions/checkout@v3
- uses: actions/[email protected]
with:
name: coverage-unit
- uses: actions/download-artifact@v4
with:
name: coverage-integration
create_guide:
runs-on: ubuntu-latest
needs: [test_unit, test_integration]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v4
with:
node-version: '20'
- name: checkout ocean.js repo
uses: actions/checkout@v3
with:
repository: 'oceanprotocol/ocean.js'
path: 'ocean.js'
ref: ${{ github.event.pull_request.head.sha }}
- name: setup git config
run: |
# setup the username and email. I tend to use 'GitHub Actions Bot' with no email by default
git config user.name "GitHub Actions Bot"
git config user.email "<>"
- name: Create Guide & Commit if there are changes
run: npm run commit:guides
# update_docs:
# runs-on: ubuntu-latest
# needs: [test_unit, test_integration]
# steps:
# - uses: actions/checkout@v3
# - uses: actions/setup-node@v4
# with:
# node-version: '16'
# - name: checkout ocean.js repo
# uses: actions/checkout@v3
# with:
# repository: 'oceanprotocol/ocean.js'
# path: 'ocean.js'
# ref: ${{ github.event.pull_request.head.sha }}
# - name: setup git config
# run: |
# # setup the username and email. I tend to use 'GitHub Actions Bot' with no email by default
# git config user.name "GitHub Actions Bot"
# git config user.email "<>"
# - name: Create updated docs & commit changes
# run: npm run commit:docs