Skip to content

chore(usage): adopt new usage-client to include owner_uid in session … #327

chore(usage): adopt new usage-client to include owner_uid in session …

chore(usage): adopt new usage-client to include owner_uid in session … #327

name: Integration Test
on:
push:
branches:
- main
pull_request:
branches:
- main
jobs:
build-push-image:
if: github.ref == 'refs/heads/main'
name: Build and push image
uses: instill-ai/model-backend/.github/workflows/images.yml@main
secrets: inherit
backends:
needs: build-push-image
if: github.ref == 'refs/heads/main'
name: Backends
strategy:
fail-fast: false
matrix:
component: [model-backend]
uses: instill-ai/model/.github/workflows/integration-test-backend.yml@main
with:
component: ${{ matrix.component }}
target: latest
pr-head:
if: github.event_name == 'pull_request'
name: PR head branch
runs-on: ubuntu-latest
steps:
# mono occupies port 8084 which conflicts with mgmt-backend
- name: Stop mono service
run: |
sudo kill -9 `sudo lsof -t -i:8084`
sudo lsof -i -P -n | grep LISTEN
- name: Pre Free disk space (Ubuntu)
run: |
df --human-readable
sudo apt clean
rm --recursive --force "$AGENT_TOOLSDIRECTORY"
- name: Free Disk Space (Ubuntu)
uses: jlumbroso/free-disk-space@main
with:
# this might remove tools that are actually needed,
# if set to "true" but frees about 6 GB
tool-cache: false
# all of these default to true, but feel free to set to
# "false" if necessary for your workflow
android: true
dotnet: true
haskell: true
large-packages: false
docker-images: true
swap-storage: true
- name: Checkout
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Load .env file
uses: cardinalby/export-env-action@v2
with:
envFile: .env
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
- name: Login to DockerHub
uses: docker/login-action@v2
with:
username: dropletbot
password: ${{ secrets.botDockerHubPassword }}
- name: Build image
uses: docker/build-push-action@v3
with:
context: .
load: true
build-args: |
SERVICE_NAME=model-backend
GOLANG_VERSION=${{ env.GOLANG_VERSION }}
UBUNTU_VERSION=${{ env.UBUNTU_VERSION }}
ARTIVC_VERSION=${{ env.ARTIVC_VERSION }}
tags: instill/model-backend:latest
- name: Checkout repo (base)
uses: actions/checkout@v3
with:
repository: instill-ai/base
- name: Load .env file (base)
uses: cardinalby/export-env-action@v2
with:
envFile: .env
- name: Launch Instill Base (latest)
run: |
COMPOSE_PROFILES=all \
EDITION=local-ce:test \
docker compose -f docker-compose.yml -f docker-compose.latest.yml up -d --quiet-pull
COMPOSE_PROFILES=all \
EDITION=local-ce:test \
docker compose -f docker-compose.yml -f docker-compose.latest.yml rm -f
- name: Checkout repo (model)
uses: actions/checkout@v3
with:
repository: instill-ai/model
- name: Load .env file (model)
uses: cardinalby/export-env-action@v2
with:
envFile: .env
- name: Launch Instill Model (latest)
run: |
EDITION=local-ce:test \
ITMODE_ENABLED=true \
TRITON_CONDA_ENV_PLATFORM=cpu \
COMPOSE_PROFILES=all \
docker compose -f docker-compose.yml -f docker-compose.latest.yml up -d --quiet-pull
EDITION=local-ce:test \
docker compose -f docker-compose.yml -f docker-compose.latest.yml rm -f
- name: Install k6
run: |
curl https://github.com/grafana/k6/releases/download/v${{ env.K6_VERSION }}/k6-v${{ env.K6_VERSION }}-linux-amd64.tar.gz -L | tar xvz --strip-components 1 && sudo cp k6 /usr/bin
- name: Checkout (model)
uses: actions/checkout@v3
with:
ref: ${{ github.event.pull_request.head.sha }}
- name: Load .env file
uses: cardinalby/export-env-action@v2
with:
envFile: .env
- name: Run integration-test
run: |
make integration-test API_GATEWAY_MODEL_HOST=localhost API_GATEWAY_MODEL_PORT=9080
- name: Checkout (controller)
uses: actions/checkout@v3
with:
repository: instill-ai/controller-model
- name: Load .env file
uses: cardinalby/export-env-action@v2
with:
envFile: .env
- name: Run integration-test
run: |
make integration-test API_GATEWAY_MODEL_HOST=localhost API_GATEWAY_MODEL_PORT=9080