name: 'Integration tests' on: push: branches: - '**' pull_request: branches: - '**' jobs: test: runs-on: ubuntu-latest strategy: max-parallel: 1 steps: - uses: actions/checkout@v2 - uses: actions/setup-node@v2 with: node-version: '16' - name: Cache node_modules uses: actions/cache@v2 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@v2 with: repository: 'oceanprotocol/barge' path: 'barge' ref: v4 - 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-thegraph --skip-subgraph-deploy --no-dashboard 2>&1 > start_ocean.log & - run: npm ci - name: Wait for contracts deployment working-directory: ${{ github.workspace }}/barge run: | for i in $(seq 1 250); do sleep 10 [ -f "$HOME/.ocean/ocean-contracts/artifacts/ready" ] && break done - name: create and deploy subgraph run: | npm run quickstart:development sleep 20 env: ADDRESS_FILE: /home/runner/.ocean/ocean-contracts/artifacts/address.json - run: npm run test-integration env: ADDRESS_FILE: /home/runner/.ocean/ocean-contracts/artifacts/address.json