payload_builder refactor #121
Workflow file for this run
This file contains 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: CI | |
on: | |
pull_request: | |
types: [ opened, synchronize, reopened, ready_for_review ] | |
workflow_dispatch: | |
jobs: | |
test: | |
runs-on: ubuntu-latest | |
if: ${{ !github.event.pull_request.draft }} # only run on non-draft PRs | |
services: | |
postgres: | |
image: kwildb/postgres:latest | |
env: | |
POSTGRES_PORT: 5432 | |
POSTGRES_HOST_AUTH_METHOD: trust | |
options: >- | |
--health-cmd pg_isready | |
--health-interval 10s | |
--health-timeout 5s | |
--health-retries 5 | |
ports: | |
- 5432:5432 | |
steps: | |
- name: Checkout | |
uses: actions/checkout@v4 | |
with: | |
submodules: true | |
- name: Set up Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: '20.x' | |
- name: Cache Node.js modules | |
uses: actions/cache@v2 | |
with: | |
path: ~/.npm | |
key: ${{ runner.os }}-node-${{ hashFiles('./package-lock.json') }} | |
restore-keys: | | |
${{ runner.os }}-node- | |
- name: Set up Go | |
uses: actions/setup-go@v5 | |
with: | |
go-version: '1.22.x' | |
check-latest: true | |
- name: Install Taskfile | |
uses: arduino/setup-task@v2 | |
- name: Set up KwilDB Docker in Public mode | |
run: | | |
git clone https://github.com/kwilteam/kwil-db.git /tmp/kwil-db-public -b release-v0.9 | |
cd /tmp/kwil-db-public | |
go work init && go work use . ./test ./core | |
task build:docker | |
cd deployments/compose/kwil | |
echo "Starting kwil docker" | |
docker compose up -d | |
cd - | |
- name: Install and build kwiljs | |
run: | | |
npm install | |
npm run build | |
- name: Run integration tests | |
run: | | |
chain_id=`curl -X POST http://localhost:8484/rpc/v1 -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "id": 1, "method": "user.chain_info", "params": {}}' | jq -r '.result.chain_id'` | |
echo "Chain ID: $chain_id" | |
echo "run KWIL-JS TEST against kwild(http:localhost:8484), with $chain_id" | |
PRIVATE_KEY=0000000000000000000000000000000000000000000000000000000000000001 CHAIN_ID=$chain_id GATEWAY_ON=false GAS_ON=false KWIL_PROVIDER=http://localhost:8484 npm run integration | |
- name: Cleanup Docker | |
if: always() | |
run: | | |
docker compose -f /tmp/kwil-db-public/deployments/compose/kwil/docker-compose.yml down | |
docker system prune -af | |
- name: Set up KwilDB Docker in Private mode | |
run: | | |
git clone https://github.com/kwilteam/kwil-db.git /tmp/kwil-db-private -b release-v0.9 | |
cd /tmp/kwil-db-private | |
go work init && go work use . ./test ./core | |
task build:docker | |
cd - | |
cd .github/workflows | |
docker compose up -d | |
cd - | |
- name: Install and build kwiljs | |
run: | | |
npm install | |
npm run build | |
- name: Run integration tests in private mode | |
run: | | |
chain_id=`curl -X POST http://localhost:8484/rpc/v1 -H "Content-Type: application/json" -d '{"jsonrpc": "2.0", "id": 1, "method": "user.chain_info", "params": {}}' | jq -r '.result.chain_id'` | |
echo "Chain ID: $chain_id" | |
echo "run KWIL-JS TEST in private mode against kwild(http:localhost:8484), with $chain_id" | |
PRIVATE_KEY=0000000000000000000000000000000000000000000000000000000000000001 CHAIN_ID=$chain_id GATEWAY_ON=FALSE GAS_ON=FALSE PRIVATE_MODE=TRUE KWIL_PROVIDER=http://localhost:8484 npm run integration | |
- name: Cleanup Docker | |
if: always() | |
run: | | |
docker compose -f .github/workflows/docker-compose.yml down | |
docker system prune -af |