Skip to content

Access list methods #486

Access list methods

Access list methods #486

Workflow file for this run

name: Test Flow
on:
pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '20.19.0'
- name: Install dependencies
run: npm install
- name: Run build
run: npm run build
lint:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '20.19.0'
- name: Install dependencies
run: npm install
- name: Run lint
run: npm run lint
test_system:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node.js
uses: actions/setup-node@v2
with:
node-version: '20.19.0'
- name: Cache node_modules
uses: actions/cache@v3
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 }}-
- 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: |
bash -x start_ocean.sh --with-typesense 2>&1 > start_ocean.log &
- run: npm ci
- run: npm run build
- run: docker image ls
- name: Delete default runner images
run: |
docker image rm -f node:20
docker image rm -f node:20-alpine
docker image rm -f node:18
docker image rm -f node:18-alpine
docker image rm -f debian:10
docker image rm -f debian:11
docker image rm -f ubuntu:22.04
docker image rm -f ubuntu:20.04
docker image rm -f moby/buildkit:latest
rm -rf /usr/share/swift/
- 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: docker logs
run: docker logs ocean_ocean-contracts_1 && docker logs ocean_typesense_1
if: ${{ failure() }}
- name: Run system tests
run: npm run test:system
env:
INDEXING_RETRY_INTERVAL: 4000
INDEXING_MAX_RETRIES: 120
NODE_URL: 'http://127.0.0.1:8001'
AVOID_LOOP_RUN: true
- name: Print Ocean Node Logs if tests fail
if: ${{ failure() }}
run: |
echo "========== Ocean Node Logs =========="
docker logs --tail 1000 ocean-node-1 2>&1 | tac || echo "Ocean Node container logs not available"