mirror of
https://github.com/khoaliber/khoj.git
synced 2026-03-02 21:19:12 +00:00
- Tag docker image with `tag_name' on release (i.e tag push) - Else tag with 'pre' on push to master - Else tag with 'dev' on push to PR branch - Only tag the latest release with release tag Previously the latest commit on master was being tagged with the latest tag. This doesn't sync with the release cadence of the rest of Khoj
61 lines
1.7 KiB
YAML
61 lines
1.7 KiB
YAML
name: dockerize production
|
|
|
|
on:
|
|
pull_request:
|
|
paths:
|
|
- src/khoj/**
|
|
- pyproject.toml
|
|
- prod.Dockerfile
|
|
- .github/workflows/dockerize_production.yml
|
|
push:
|
|
tags:
|
|
- "*"
|
|
branches:
|
|
- master
|
|
paths:
|
|
- src/khoj/**
|
|
- pyproject.toml
|
|
- prod.Dockerfile
|
|
- .github/workflows/dockerize_production.yml
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
# Tag Image with tag name on release, else with 'pre' if push to master else with 'dev' if push to PR branch
|
|
DOCKER_IMAGE_TAG: ${{ github.ref_type == 'tag' && github.ref_name || github.event_name == 'pull_request' && 'dev' || 'pre' }}
|
|
|
|
jobs:
|
|
build:
|
|
name: Build Production Docker Image, Push to Container Registry
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- name: Checkout Code
|
|
uses: actions/checkout@v3
|
|
|
|
- name: Set up Docker Buildx
|
|
uses: docker/setup-buildx-action@v2
|
|
|
|
- name: Login to GitHub Container Registry
|
|
uses: docker/login-action@v2
|
|
with:
|
|
registry: ghcr.io
|
|
username: ${{ github.repository_owner }}
|
|
password: ${{ secrets.PAT }}
|
|
|
|
- name: Get App Version
|
|
id: hatch
|
|
run: echo "::set-output name=version::$(pipx run hatch version)"
|
|
|
|
- name: 📦 Build and Push Docker Image
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
context: .
|
|
file: prod.Dockerfile
|
|
platforms: linux/amd64
|
|
push: true
|
|
tags: |
|
|
ghcr.io/${{ github.repository }}-cloud:${{ env.DOCKER_IMAGE_TAG }}
|
|
${{ github.ref_type == 'tag' && 'ghcr.io/${{ github.repository }}-cloud:latest' || '' }}
|
|
build-args: |
|
|
VERSION=${{ steps.hatch.outputs.version }}
|
|
PORT=42110
|