Add local docker compose debugging (#1564) #2631
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: Turbinia E2E Test | |
on: [push, pull_request] | |
jobs: | |
e2e-test: | |
name: Run local stack e2e test | |
strategy: | |
matrix: | |
os: | |
- ubuntu-22.04 | |
gift_ppa_track: ["staging", "stable"] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
- name: Build Turbinia API server Docker image | |
uses: docker/build-push-action@v5 | |
with: | |
file: docker/api_server/Dockerfile | |
context: . | |
load: true | |
tags: turbinia-api-server-dev | |
cache-from: type=gha,scope=api-server | |
cache-to: type=gha,mode=max,scope=api-server | |
- name: Build Turbinia Server Docker image | |
uses: docker/build-push-action@v5 | |
with: | |
file: docker/server/Dockerfile | |
context: . | |
load: true | |
tags: turbinia-server-dev | |
cache-from: type=gha,scope=server | |
cache-to: type=gha,mode=max,scope=server | |
- name: Buid Turbinia Worker Docker image | |
uses: docker/build-push-action@v5 | |
with: | |
file: docker/worker/Dockerfile | |
context: . | |
build-args: | | |
"PPA_TRACK=${{ matrix.gift_ppa_track }}" | |
load: true | |
tags: turbinia-worker-dev | |
cache-from: type=gha,scope=worker | |
cache-to: type=gha,mode=max,scope=worker | |
- name: Prepare Turbinia configuration | |
run: | | |
mkdir ./conf | |
sed -f ./docker/local/local-config.sed ./turbinia/config/turbinia_config_tmpl.py > ./conf/turbinia.conf | |
- name: Display Turbinia configuration | |
run: | | |
cat ./conf/turbinia.conf | |
- name: Patch docker-compose config to use locally build images | |
run: | | |
sed -i -e 's/#image: "t/image: "t/g' -e 's/image: "u/#image: "u/g' ./docker/local/docker-compose.yml | |
- name: Update pip | |
run: python -m pip install --upgrade pip | |
- name: Install turbinia-client | |
run: pip install turbinia-client | |
- name: Run E2E test | |
run: | | |
chmod +x ./turbinia/e2e/e2e-local.sh | |
./turbinia/e2e/e2e-local.sh |