Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
425cafd
Using docker-py and podman-py instead of the current subprocess way o…
Nov 14, 2025
ab847b4
Removed useless line
Nov 14, 2025
89c72cf
Started work on Podman; re-added log stream to codabench instance
Nov 17, 2025
fbe3274
Corrected typo in variable name; small changes for image pulls for po…
Nov 17, 2025
42f0d18
remove the podman package and use only docker API calls for both podm…
Nov 18, 2025
b20d1a2
add better progress bar when downloading and some debug logger output
Nov 19, 2025
bebce6a
add github workflow
Nov 21, 2025
6ea123b
workflow fixes
Nov 21, 2025
20f0f41
format with ruff; add cleanup
Nov 24, 2025
404a9b5
format with ruff; fix websockets connection infinite waiting
Nov 25, 2025
cea0d51
change Dockerfile.compute_worker to remove docker; make GPU selection…
Nov 25, 2025
20db6dd
fix a typo
Nov 25, 2025
cd89710
ruff formatting; update documentation
Nov 30, 2025
e815594
delete useless workflow
Nov 30, 2025
0c3eb6b
update documentation, remove useless files, add docker in pyproject f…
Dec 1, 2025
cd33d84
try to fix pytest errors
Dec 1, 2025
eefcbcf
fix typo
Dec 1, 2025
ddc02cf
remove unused folder for podman
Dec 5, 2025
d4b89b6
add more logs for the compute worker; update documentation
Dec 5, 2025
21ba183
fix poetry lock after rebase
Dec 11, 2025
8059dcc
rebase + remove failing tests. We can test this in e2e tests
Dec 12, 2025
13d7ba0
fix flake8 errors
Dec 12, 2025
9051784
fix poetry lock after rebase
Dec 12, 2025
614dad1
remove poetry at the end to fix vulnerabilities and make image lighter
Dec 12, 2025
c74e2f9
remove docker and rich from main pyproject.toml
Dec 15, 2025
9665fac
fix missing f
Dec 15, 2025
6bb31bb
add timeout for websocket connections
Dec 15, 2025
ef4a63d
add more information about which container engine we are using and if…
Dec 15, 2025
dc865b1
tentative fix for send_detailed_results websocket connection attempt
Dec 15, 2025
a40f239
make error reporting better; handle websocket conenctions failures be…
Dec 18, 2025
5b9daf6
fix hostname inside celery worker to use container hostname
Dec 18, 2025
f7b269a
fix compute worker startup in compute worker service since we use ent…
Dec 18, 2025
7e6f9ca
add workflow to build and push compute worker image automatically on …
Dec 19, 2025
81f2058
change Dockerfile.compute_worker and test workflow
Dec 19, 2025
5690c3d
fix missing checkout in new workflows
Dec 19, 2025
82d618b
fix missing needs: to make the push job wait for the build to finish …
Dec 19, 2025
f974ba7
further fixes in workflow
Dec 19, 2025
0ac5e94
rebase branch and update documentation about the new docker image wor…
Dec 23, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
27 changes: 27 additions & 0 deletions .github/workflows/build_cw_image-branch.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: build_CW_docker_image_branch
on:
push:
# On push for every branch except develop and master since they have their own workflows
branches:
- '*'
- '!develop'
- '!master'
paths:
- Dockerfile.compute_worker
- compute_worker/**
jobs:
build_push_image:
name: Build Docker Image then Push it to Docker.io
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v5
- name: Build Image
run: docker build -t codalab/competitions-v2-compute-worker:${{ github.ref_name }} -f Dockerfile.compute_worker .
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push image with branch name as tag
run: docker push codalab/competitions-v2-compute-worker:${{ github.ref_name }}
24 changes: 24 additions & 0 deletions .github/workflows/build_cw_image-dev.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: build_CW_docker_image_develop
on:
push:
branches:
- develop
paths:
- Dockerfile.compute_worker
- compute_worker/**
jobs:
build:
name: Build Docker Images
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v5
- name: Build Image
run: docker build -t codalab/competitions-v2-compute-worker:test -f Dockerfile.compute_worker .
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push image with test tag
run: docker push codalab/competitions-v2-compute-worker:test
28 changes: 28 additions & 0 deletions .github/workflows/build_cw_image-prod.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: build_CW_docker_image_branch
on:
push:
tags:
- '*'
paths:
- Dockerfile.compute_worker
- compute_worker/**
jobs:
build:
name: Build Docker Images
runs-on: ubuntu-latest
steps:
- name: Check out repository code
uses: actions/checkout@v5
- name: Build Image
run: docker build -t codalab/competitions-v2-compute-worker:${{ github.ref_name }} -f Dockerfile.compute_worker .
- name: Login to Docker Hub
uses: docker/login-action@v3
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push image with prod release tag
run: docker push codalab/competitions-v2-compute-worker:${{ github.ref_name }}
- name: Change tag to latest
run: |
docker tag codalab/competitions-v2-compute-worker:${{ github.ref_name }} codalab/competitions-v2-compute-worker:latest
docker push codalab/competitions-v2-compute-worker:latest
62 changes: 0 additions & 62 deletions Containerfile.compute_worker_podman

This file was deleted.

8 changes: 0 additions & 8 deletions Containerfile.compute_worker_podman_gpu

This file was deleted.

26 changes: 13 additions & 13 deletions Dockerfile.compute_worker
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
FROM --platform=linux/amd64 fedora:42
FROM --platform=linux/amd64 fedora:43

# This makes output not buffer and return immediately, nice for seeing results in stdout
ENV PYTHONUNBUFFERED 1
ENV PYTHONUNBUFFERED=1

# Install Docker
RUN dnf -y install dnf-plugins-core && \
dnf-3 config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo && \
dnf -y update && \
dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin && \
# Install Python
RUN dnf -y update && \
dnf install -y python3.9 && \
dnf clean all && \
rm -rf /var/cache /var/log/dnf* /var/log/yum.*


RUN curl -sSL https://install.python-poetry.org | python3.9 - --version 1.8.3
# Poetry location so future commands (below) work
ENV PATH $PATH:/root/.local/bin
ENV PATH=$PATH:/root/.local/bin
# Want poetry to use system python of docker container
RUN poetry config virtualenvs.create false
RUN poetry config virtualenvs.in-project false


COPY ./compute_worker/pyproject.toml ./
COPY ./compute_worker/poetry.lock ./
# To use python3.9 instead of system python

RUN poetry config virtualenvs.prefer-active-python true && poetry install

ADD compute_worker .
COPY ./src/settings/logs_loguru.py /usr/bin

CMD celery -A compute_worker worker \
-l info \
-Q compute-worker \
-n compute-worker@%n \
--concurrency=1
# Uninstall Poetry since we don't need it anymore and it can introduce CVEs
RUN curl -sSL https://install.python-poetry.org | python3.9 - --uninstall

ENTRYPOINT ["/bin/bash", "-c"]
CMD ["celery -A compute_worker worker -l info -Q compute-worker -n compute-worker@$HOSTNAME --concurrency=1"]
12 changes: 0 additions & 12 deletions Dockerfile.compute_worker_gpu

This file was deleted.

Loading