mirror of
https://github.com/danswer-ai/danswer.git
synced 2025-10-02 17:38:04 +02:00
Merge pull request #3476 from onyx-dot-app/fix_model_server_building
Update model server
This commit is contained in:
@@ -8,18 +8,29 @@ on:
|
|||||||
env:
|
env:
|
||||||
REGISTRY_IMAGE: ${{ contains(github.ref_name, 'cloud') && 'onyxdotapp/onyx-model-server-cloud' || 'onyxdotapp/onyx-model-server' }}
|
REGISTRY_IMAGE: ${{ contains(github.ref_name, 'cloud') && 'onyxdotapp/onyx-model-server-cloud' || 'onyxdotapp/onyx-model-server' }}
|
||||||
LATEST_TAG: ${{ contains(github.ref_name, 'latest') }}
|
LATEST_TAG: ${{ contains(github.ref_name, 'latest') }}
|
||||||
|
DOCKER_BUILDKIT: 1
|
||||||
|
BUILDKIT_PROGRESS: plain
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build-and-push:
|
build-amd64:
|
||||||
# See https://runs-on.com/runners/linux/
|
runs-on:
|
||||||
runs-on: [runs-on, runner=16cpu-linux-x64, "run-id=${{ github.run_id }}"]
|
[runs-on, runner=8cpu-linux-x64, "run-id=${{ github.run_id }}-amd64"]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: System Info
|
||||||
|
run: |
|
||||||
|
df -h
|
||||||
|
free -h
|
||||||
|
docker system prune -af --volumes
|
||||||
|
|
||||||
- name: Set up Docker Buildx
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
with:
|
||||||
|
driver-opts: |
|
||||||
|
image=moby/buildkit:latest
|
||||||
|
network=host
|
||||||
|
|
||||||
- name: Login to Docker Hub
|
- name: Login to Docker Hub
|
||||||
uses: docker/login-action@v3
|
uses: docker/login-action@v3
|
||||||
@@ -27,24 +38,80 @@ jobs:
|
|||||||
username: ${{ secrets.DOCKER_USERNAME }}
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
password: ${{ secrets.DOCKER_TOKEN }}
|
password: ${{ secrets.DOCKER_TOKEN }}
|
||||||
|
|
||||||
- name: Model Server Image Docker Build and Push
|
- name: Build and Push AMD64
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
context: ./backend
|
context: ./backend
|
||||||
file: ./backend/Dockerfile.model_server
|
file: ./backend/Dockerfile.model_server
|
||||||
platforms: linux/amd64,linux/arm64
|
platforms: linux/amd64
|
||||||
push: true
|
push: true
|
||||||
tags: |
|
tags: ${{ env.REGISTRY_IMAGE }}:${{ github.ref_name }}-amd64
|
||||||
${{ env.REGISTRY_IMAGE }}:${{ github.ref_name }}
|
|
||||||
${{ env.LATEST_TAG == 'true' && format('{0}:latest', env.REGISTRY_IMAGE) || '' }}
|
|
||||||
build-args: |
|
build-args: |
|
||||||
ONYX_VERSION=${{ github.ref_name }}
|
DANSWER_VERSION=${{ github.ref_name }}
|
||||||
|
outputs: type=registry
|
||||||
|
provenance: false
|
||||||
|
|
||||||
|
build-arm64:
|
||||||
|
runs-on:
|
||||||
|
[runs-on, runner=8cpu-linux-x64, "run-id=${{ github.run_id }}-arm64"]
|
||||||
|
steps:
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: System Info
|
||||||
|
run: |
|
||||||
|
df -h
|
||||||
|
free -h
|
||||||
|
docker system prune -af --volumes
|
||||||
|
|
||||||
|
- name: Set up Docker Buildx
|
||||||
|
uses: docker/setup-buildx-action@v3
|
||||||
|
with:
|
||||||
|
driver-opts: |
|
||||||
|
image=moby/buildkit:latest
|
||||||
|
network=host
|
||||||
|
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_TOKEN }}
|
||||||
|
|
||||||
|
- name: Build and Push ARM64
|
||||||
|
uses: docker/build-push-action@v5
|
||||||
|
with:
|
||||||
|
context: ./backend
|
||||||
|
file: ./backend/Dockerfile.model_server
|
||||||
|
platforms: linux/arm64
|
||||||
|
push: true
|
||||||
|
tags: ${{ env.REGISTRY_IMAGE }}:${{ github.ref_name }}-arm64
|
||||||
|
build-args: |
|
||||||
|
DANSWER_VERSION=${{ github.ref_name }}
|
||||||
|
outputs: type=registry
|
||||||
|
provenance: false
|
||||||
|
|
||||||
|
merge-and-scan:
|
||||||
|
needs: [build-amd64, build-arm64]
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Login to Docker Hub
|
||||||
|
uses: docker/login-action@v3
|
||||||
|
with:
|
||||||
|
username: ${{ secrets.DOCKER_USERNAME }}
|
||||||
|
password: ${{ secrets.DOCKER_TOKEN }}
|
||||||
|
|
||||||
|
- name: Create and Push Multi-arch Manifest
|
||||||
|
run: |
|
||||||
|
docker buildx create --use
|
||||||
|
docker buildx imagetools create -t ${{ env.REGISTRY_IMAGE }}:${{ github.ref_name }} \
|
||||||
|
${{ env.REGISTRY_IMAGE }}:${{ github.ref_name }}-amd64 \
|
||||||
|
${{ env.REGISTRY_IMAGE }}:${{ github.ref_name }}-arm64
|
||||||
|
if [[ "${{ env.LATEST_TAG }}" == "true" ]]; then
|
||||||
|
docker buildx imagetools create -t ${{ env.REGISTRY_IMAGE }}:latest \
|
||||||
|
${{ env.REGISTRY_IMAGE }}:${{ github.ref_name }}-amd64 \
|
||||||
|
${{ env.REGISTRY_IMAGE }}:${{ github.ref_name }}-arm64
|
||||||
|
fi
|
||||||
|
|
||||||
# trivy has their own rate limiting issues causing this action to flake
|
|
||||||
# we worked around it by hardcoding to different db repos in env
|
|
||||||
# can re-enable when they figure it out
|
|
||||||
# https://github.com/aquasecurity/trivy/discussions/7538
|
|
||||||
# https://github.com/aquasecurity/trivy-action/issues/389
|
|
||||||
- name: Run Trivy vulnerability scanner
|
- name: Run Trivy vulnerability scanner
|
||||||
uses: aquasecurity/trivy-action@master
|
uses: aquasecurity/trivy-action@master
|
||||||
env:
|
env:
|
||||||
@@ -53,3 +120,4 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
image-ref: docker.io/onyxdotapp/onyx-model-server:${{ github.ref_name }}
|
image-ref: docker.io/onyxdotapp/onyx-model-server:${{ github.ref_name }}
|
||||||
severity: "CRITICAL,HIGH"
|
severity: "CRITICAL,HIGH"
|
||||||
|
timeout: "10m"
|
||||||
|
2
.github/workflows/pr-chromatic-tests.yml
vendored
2
.github/workflows/pr-chromatic-tests.yml
vendored
@@ -15,7 +15,7 @@ jobs:
|
|||||||
|
|
||||||
# See https://runs-on.com/runners/linux/
|
# See https://runs-on.com/runners/linux/
|
||||||
runs-on:
|
runs-on:
|
||||||
[runs-on, runner=8cpu-linux-x64, ram=16, "run-id=${{ github.run_id }}"]
|
[runs-on, runner=32cpu-linux-x64, ram=16, "run-id=${{ github.run_id }}"]
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout code
|
- name: Checkout code
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
|
Reference in New Issue
Block a user