Feature/paid-compute in cli #403
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| 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: '18' | |
| - 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: '18' | |
| - 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: '18.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' | |
| ref: 'feature/barge_with_node' | |
| - 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 ==========" | |
| tac ${{ github.workspace }}/ocean-node/ocean-node.log || echo "Log file not found" |