diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml new file mode 100644 index 0000000..8655cd4 --- /dev/null +++ b/.github/workflows/deploy.yml @@ -0,0 +1,59 @@ +name: Deploy + +on: + workflow_call: + + push: + +concurrency: + group: deploy-${{ github.ref }} + cancel-in-progress: true + +jobs: + deploy-on-subquery-managed-service: + runs-on: ubuntu-22.04 + env: + SUBQL_ACCESS_TOKEN: ${{ secrets.SUBQL_ACCESS_TOKEN }} + steps: + - name: Setup node environment (for deployment) + uses: actions/setup-node@v3 + with: + node-version: 18.16 + + - name: Check out repository + uses: actions/checkout@v3 + + - name: Fetch dependencies + run: | + yarn --frozen-lockfile + + - name: Generate code + run: | + yarn codegen + + - name: Build project + run: | + yarn build + + - name: Upload to IPFS + id: ipfs-upload + run: | + yarn subql publish + + IPFS_CID=$(cat .project-cid) + echo "🚀 Uploaded to IPFS: ${IPFS_CID}" + echo "ipfs-cid=${IPFS_CID}" >> $GITHUB_OUTPUT + + - name: Deploy to SubQuery Managed service (nemeton-1) + run: | + IPFSCID="${{ steps.ipfs-upload.outputs.ipfs-cid }}" + ORG="okp4" + PROJECT_NAME="nemeton-1" + ENDPOINT="https://api.testnet.okp4.network/rpc" + + yarn subql deployment:deploy \ + -d \ + --ipfsCID="$IPFSCID" \ + --projectName="$PROJECT_NAME" \ + --org="${ORG}" + --endpoint="${ENDPOINT}"