Skip to content

Commit debad04

Browse files
Docker Image Build CI/CD
1 parent 6597899 commit debad04

File tree

1 file changed

+65
-0
lines changed

1 file changed

+65
-0
lines changed
Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
name: Create biosim containers
2+
on:
3+
push:
4+
tags:
5+
- "*"
6+
workflow_dispatch:
7+
inputs:
8+
tag:
9+
description: "Repository tag (e.g., v1.2.3)"
10+
required: true
11+
12+
env:
13+
python-version: "3.10"
14+
15+
jobs:
16+
CD:
17+
name: CD
18+
runs-on: ubuntu-22.04
19+
20+
steps:
21+
- uses: actions/checkout@v5
22+
23+
- name: Set ENV Variables
24+
run: |
25+
if [ "${{ github.event_name }}" = "workflow_dispatch" ]; then
26+
echo "TAG_NAME=${{ github.event.inputs.tag }}" >> $GITHUB_ENV
27+
else
28+
echo "TAG_NAME=${GITHUB_REF##*/}" >> $GITHUB_ENV
29+
fi
30+
echo "CREATED=$(date --rfc-3339=seconds | sed 's/ /T/')" >> $GITHUB_ENV
31+
32+
- name: build fastapi backend
33+
run: |
34+
set -ux
35+
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
36+
pushd backend
37+
docker build \
38+
--no-cache \
39+
--file Dockerfile \
40+
--tag ghcr.io/virtualcell/vcell-ai-backend:${TAG_NAME} \
41+
--label org.opencontainers.image.created=${CREATED} \
42+
--label org.opencontainers.image.license=MIT \
43+
.
44+
docker push --all-tags ghcr.io/virtualcell/vcell-ai-backend
45+
popd
46+
47+
- name: build react frontend
48+
run: |
49+
set -ux
50+
echo "${{ secrets.GITHUB_TOKEN }}" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
51+
pushd frontend
52+
docker build \
53+
--no-cache \
54+
--file Dockerfile \
55+
--tag ghcr.io/virtualcell/vcell-ai-website:${TAG_NAME} \
56+
--label org.opencontainers.image.created=${CREATED} \
57+
--label org.opencontainers.image.license=MIT \
58+
.
59+
docker push --all-tags ghcr.io/virtualcell/vcell-ai-website
60+
popd
61+
62+
- name: Setup tmate session
63+
uses: mxschmitt/action-tmate@v3
64+
if: ${{ failure() }}
65+

0 commit comments

Comments
 (0)