Skip to content

Merge pull request #51 from jphacks:hotfix/docker_build_repo #3

Merge pull request #51 from jphacks:hotfix/docker_build_repo

Merge pull request #51 from jphacks:hotfix/docker_build_repo #3

name: Docker Release Build
on:
push:
branches-ignore:
- "**"
tags:
- "v*"
env:
REGISTRY: ghcr.io
jobs:
build-and-push:
runs-on: ubuntu-20.04
permissions:
contents: read
packages: write
steps:
- name: Checkout
uses: actions/checkout@v3
- name: get_version
id: build_version
run: |
file_path="pyproject.toml"
version=$(awk -F ' = ' '$1=="version" {gsub(/"/, "", $2); print $2}' "$file_path")
echo "VERSION=$version" >> $GITHUB_OUTPUT
- name: Check Release Variables
run: |
if [[ "v${{ steps.build_version.outputs.VERSION }}" != "${{ github.ref_name }}" ]]; then
echo "pyproject or tag version mismatch"
exit 1
fi
# - name: Set up QEMU
# uses: docker/setup-qemu-action@v3
# - name: Set up Docker Buildx
# uses: docker/setup-buildx-action@v3
- name: Log in to the Container registry
uses: docker/login-action@v3
with:
registry: ${{ env.REGISTRY }}
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build Base image
uses: docker/build-push-action@v5
with:
context: .
file: ./deploy/Dockerfile_alembic
push: true
# platforms: linux/amd64,linux/arm64
tags: |
${{ env.REGISTRY }}/jphacks/kb_2315/base:latest
${{ env.REGISTRY }}/jphacks/kb_2315/base:${{ steps.build_version.outputs.VERSION }}
- name: replace base version
run: |
sed -i -e "s/master/${{ steps.build_version.outputs.VERSION }}/" ./deploy/Dockerfile_alembic
sed -i -e "s/master/${{ steps.build_version.outputs.VERSION }}/" ./deploy/Dockerfile_app
sed -i -e "s/master/${{ steps.build_version.outputs.VERSION }}/" ./deploy/Dockerfile_graph
- name: Build Alembic image
uses: docker/build-push-action@v5
with:
context: .
file: ./deploy/Dockerfile_alembic
push: true
# platforms: linux/amd64,linux/arm64
tags: |
${{ env.REGISTRY }}/jphacks/kb_2315/alembic:latest
${{ env.REGISTRY }}/jphacks/kb_2315/alembic:${{ steps.build_version.outputs.VERSION }}
- name: Build FastAPI image
uses: docker/build-push-action@v5
with:
context: .
file: ./deploy/Dockerfile_app
push: true
# platforms: linux/amd64,linux/arm64
tags: |
${{ env.REGISTRY }}/jphacks/kb_2315/app:latest
${{ env.REGISTRY }}/jphacks/kb_2315/app:${{ steps.build_version.outputs.VERSION }}
- name: Build Streamlit image
uses: docker/build-push-action@v5
with:
context: .
file: ./deploy/Dockerfile_graph
push: true
# platforms: linux/amd64,linux/arm64
tags: |
${{ env.REGISTRY }}/jphacks/kb_2315/graph:latest
${{ env.REGISTRY }}/jphacks/kb_2315/graph:${{ steps.build_version.outputs.VERSION }}