Skip to content

Docker demo - make "demo-ready" images from existing theia-based images #28

Docker demo - make "demo-ready" images from existing theia-based images

Docker demo - make "demo-ready" images from existing theia-based images #28

Workflow file for this run

name: docker-example
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
jobs:
build-and-test:
name: Build and test docker-example
runs-on: ${{ matrix.os }}
timeout-minutes: 15
strategy:
matrix:
os: [ubuntu-latest]
node-version: [18]
params:
- name: "tate"
resources-folder: "theia-app-theia-ext"
- name: "tave"
resources-folder: "theia-app-vscode-ext"
steps:
- uses: actions/checkout@v4
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v3
with:
node-version: ${{ matrix.node-version }}
- name: install npm dependencies
run: |
cd docker
yarn --ignore-scripts
- name: Build trace viewer image
uses: nick-invision/retry@v3
with:
timeout_minutes: 10
retry_wait_seconds: 15
max_attempts: 1
retry_on: error
command: |
cd docker
yarn build:docker:${{ matrix.params.name }}
on_retry_command: cd ..
- name: Build "demo" version of trace viewer image
uses: nick-invision/retry@v3
with:
timeout_minutes: 10
retry_wait_seconds: 15
max_attempts: 1
retry_on: error
command: |
cd docker
yarn build:docker:${{ matrix.params.name }}-demo
on_retry_command: cd ..
- name: Run trace viewer base image
run: |
cd docker
docker run --init -d -p 0.0.0.0:3000:4000 --name tv-${{ matrix.params.name }}-1 tv-${{ matrix.params.name }}
- name: Test trace viewer base image
run: |
cd docker
yarn --cwd ${{ matrix.params.resources-folder }} test
docker kill tv-${{ matrix.params.name }}-1
- name: Run "demo" version of the trace viewer docker image
run: |
docker run --init -d -p 0.0.0.0:3000:4000 --name tv-${{ matrix.params.name }}-demo-1 tv-${{ matrix.params.name }}-demo
- name: Test trace viewer demo image
run: |
cd docker
yarn --cwd ${{ matrix.params.resources-folder }} test-demo
docker kill tv-${{ matrix.params.name }}-demo-1