Skip to content

Fix docker

Fix docker #32

Workflow file for this run

name: Docker CI
on:
push:
branches:
- main
paths-ignore:
- '**/*.md'
pull_request:
branches:
- main
jobs:
build_browser:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up Python 3.13
uses: actions/setup-python@v4
with:
python-version: '3.13'
- name: Use Node.js
uses: actions/setup-node@v5
with:
node-version: 24.x
cache: 'npm'
- name: Install python dependencies
run: |
python -m pip install --upgrade pip
pip install uv
uv pip install wheel --python 3.13 --system --verbose
uv pip install -r Browser/dev-requirements.txt --python 3.13 --system
uv pip install -r pyproject.toml --python 3.13 --system
inv deps
- name: Build proto
run: |
inv protobuf
- name: Build
run: |
inv build
- name: Build the wheel
run: |
inv create-package
- name: Upload Browser wheel
uses: actions/upload-artifact@v4
with:
name: browser-wheel
path: dist/*.whl
- name: Create demo app
run: |
inv demo-app
- name: Pack demo app
uses: actions/upload-artifact@v4
with:
name: demoapp
path: zip_results/demoapp
docker-image:
runs-on: ubuntu-latest
needs: build_browser
permissions: write-all
steps:
- uses: actions/checkout@v5
- uses: actions/setup-python@v6
with:
python-version: "3.14"
cache: 'pip'
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: ghcr.io/marketsquare/robotframework-browser/rfbrowser
tags: |
type=raw,value=tidii
- name: Download browser wheel
uses: actions/download-artifact@v5
with:
name: browser-wheel
path: docker/dist
- name: Login to GitHub Container Registry
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build with GitHub Packages
uses: docker/build-push-action@v6
with:
context: .
file: docker/Dockerfile.dev_pr
tags: tidii
labels: ${{ steps.meta.outputs.labels }}
push: false
- name: Download demo app
uses: actions/download-artifact@v5
with:
name: demoapp
path: demoapp
- name: unzip demo app
run: |
rm -rf node
ls -l demoapp
unzip demoapp/demo-app*.zip -d .
ls -l node
- name: Start demo app and run tests with docker image
run: |
pip install uv
uv pip install invoke --python 3.14 --system
invoke run-test-app-no-build --asynchronous
docker image ls
curl localhost:7272
docker run -v ./atest/:/home/pwuser/test -t tidii:latest bash -c "robot -v SERVER:host.docker.internal:7272 --exclude no-docker-pr -L debug --outputdir /home/pwuser/output /home/pwuser/test"