Skip to content

Commit

Permalink
WIP: TMMA: 440 Build dev Docker environment (#203)
Browse files Browse the repository at this point in the history
* TMMA-440: Extend Docker base image with Python enhancements
* Add a basic docker build GitHub action CI/CD check
  • Loading branch information
asset-web authored Aug 21, 2023
1 parent 00f0682 commit 203deee
Show file tree
Hide file tree
Showing 2 changed files with 47 additions and 1 deletion.
39 changes: 39 additions & 0 deletions .github/workflows/docker.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: Docker build
# TODO: Trigger a fresh build every Wednesday
# Triggered after changes to code or deployment config for model 1
# Or can be triggered manualy
on:
workflow_dispatch:
push:
paths:
# TODO: Review scope of GitHub action grows
- '.github/workflows/docker.yml'
- 'deploy/Dockerfile'
- 'entrypoints/**'
- 'requirements/**'
# schedule:
# - cron: 30 9 * * WED

env:
IMAGE_NAME: uobristol/temmpo-web

jobs:
build:
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v3
- name: Record Docker version
run: docker -v
- uses: whoan/docker-build-with-cache-action@v6
with:
context: .
dockerfile: 'deploy/Dockerfile'
username: ${{ secrets.DOCKER_HUB_USER }}
password: "${{ secrets.DOCKER_HUB_PASSWORD }}"
image_name: ${{ env.IMAGE_NAME }}
image_tag: ${{ github.sha }}
# Build from scratch if a scheduled job
pull_image_and_stages: ${{ github.event_name != 'schedule' }}
push_image_and_stages: docker run ${{ env.IMAGE_NAME }}:${{ github.sha }}

# https://github.com/marketplace/actions/build-docker-images-using-cache#from-a-compose-file
9 changes: 8 additions & 1 deletion deploy/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
FROM python:3.8.17-slim

ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1
ENV PIP_VERSION='23.2.1'
ENV SETUPTOOLS_VERSION='68.0.0'
ENV PIP_TOOLS_VERSION='7.2.0'
Expand Down Expand Up @@ -40,4 +42,9 @@ RUN pip install virtualenv==$VE_VERSION

WORKDIR /srv

VOLUME [ "/srv" ]
VOLUME [ "/srv" ]

# TODO: Replace temp basic build test as image is developed further
COPY requirements/requirements.txt /srv
RUN pip install --no-deps -r /srv/requirements.txt
CMD [ "pip", "check" ]

0 comments on commit 203deee

Please sign in to comment.