mirror of
https://github.com/khoj-ai/khoj.git
synced 2024-11-23 23:48:56 +01:00
8d1e988059
- 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
56 lines
1.5 KiB
YAML
56 lines
1.5 KiB
YAML
name: dockerize
|
|
|
|
on:
|
|
push:
|
|
tags:
|
|
- "*"
|
|
branches:
|
|
- master
|
|
paths:
|
|
- src/khoj/**
|
|
- config/**
|
|
- pyproject.toml
|
|
- Dockerfile
|
|
- docker-compose.yml
|
|
- .github/workflows/dockerize.yml
|
|
workflow_dispatch:
|
|
|
|
env:
|
|
# Tag Image with tag name on release, else with 'pre' if push to master
|
|
DOCKER_IMAGE_TAG: ${{ github.ref_type == 'tag' && github.ref_name || 'pre' }}
|
|
|
|
jobs:
|
|
build:
|
|
name: Build 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 "version=$(pipx run hatch version)" >> $GITHUB_OUTPUT
|
|
|
|
- name: 📦 Build and Push Docker Image
|
|
uses: docker/build-push-action@v2
|
|
with:
|
|
context: .
|
|
file: Dockerfile
|
|
platforms: linux/amd64, linux/arm64
|
|
push: true
|
|
tags: |
|
|
ghcr.io/${{ github.repository }}:${{ env.DOCKER_IMAGE_TAG }}
|
|
${{ github.ref_type == 'tag' && 'ghcr.io/${{ github.repository }}-cloud:latest' || '' }}
|
|
build-args: |
|
|
VERSION=${{ steps.hatch.outputs.version }}
|
|
PORT=42110
|