diff --git a/.github/workflows/npm-publish.yml b/.github/workflows/npm-publish.yml index 8ce734a..b09cb06 100644 --- a/.github/workflows/npm-publish.yml +++ b/.github/workflows/npm-publish.yml @@ -7,31 +7,7 @@ on: permissions: contents: write -env: - OPENAI_API_KEY: ${{ secrets.OPENAI_API_TOKEN }} - COHERE_API_TOKEN: ${{ secrets.COHERE_API_TOKEN }} - ANTHROPIC_API_TOKEN: ${{ secrets.ANTHROPIC_API_TOKEN }} - DOKU_URL: ${{ secrets.DOKU_URL }} - DOKU_TOKEN: ${{ secrets.DOKU_TOKEN }} - jobs: - build: - runs-on: ubuntu-latest - - steps: - - uses: actions/checkout@v4 - - - name: Setup Node.js - uses: actions/setup-node@v3 - with: - node-version: 20 - cache: 'npm' - - - run: npm ci - - - name: NPM Test - run: npm test - publish: needs: build runs-on: ubuntu-latest diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 4729927..641437a 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -27,6 +27,25 @@ jobs: steps: - uses: actions/checkout@v4 + - name: Setup Docker + uses: docker/setup-action@v2 + + - name: Setup Doku Stack + run: docker-compose up -d + + - name: Sleep for 30 seconds + run: sleep 30 + + - name: Make API Request and Set DOKU_TOKEN + run: | + RESPONSE=$(curl --request POST \ + --url https://127.0.0.1:9044/api/keys \ + --header 'Authorization: ""' \ + --header 'Content-Type: application/json' \ + --data '{"name": "GITHUB"}' ) + MESSAGE=$(echo $RESPONSE | jq -r '.message') + echo "DOKU_TOKEN=${MESSAGE}" >> $GITHUB_ENV + - name: Setup Node.js ${{ matrix.node-version }} uses: actions/setup-node@v3 with: diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..ebc8adf --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,52 @@ +version: '3.8' + +services: + clickhouse: + image: clickhouse/clickhouse-server:24.1.5 + container_name: clickhouse + environment: + CLICKHOUSE_PASSWORD: ${DOKU_DB_PASSWORD:-DOKU} + CLICKHOUSE_USER: ${DOKU_DB_USER:-default} + volumes: + - clickhouse-data:/var/lib/clickhouse + ports: + - "9000:9000" + - "8123:8123" + restart: always + + doku-ingester: + image: ghcr.io/dokulabs/doku-ingester:latest + container_name: doku-ingester + environment: + DOKU_DB_HOST: clickhouse + DOKU_DB_PORT: 9000 + DOKU_DB_NAME: ${DOKU_DB_NAME:-default} + DOKU_DB_USER: ${DOKU_DB_USER:-default} + DOKU_DB_PASSWORD: ${DOKU_DB_PASSWORD:-DOKU} + ports: + - "9044:9044" + depends_on: + - clickhouse + restart: always + + doku-client: + image: ghcr.io/dokulabs/doku-client:latest + container_name: doku-client + environment: + INIT_DB_HOST: clickhouse + INIT_DB_PORT: 8123 + INIT_DB_DATABASE: ${DOKU_DB_NAME:-default} + INIT_DB_USERNAME: ${DOKU_DB_USER:-default} + INIT_DB_PASSWORD: ${DOKU_DB_PASSWORD:-DOKU} + SQLITE_DATABASE_URL: file:/app/client/data/data.db + ports: + - "3000:3000" + depends_on: + - clickhouse + volumes: + - doku-client-data:/app/client/data + restart: always + +volumes: + clickhouse-data: + doku-client-data: \ No newline at end of file