Files
cvat-ai--cvat/.github/workflows/publish-artifacts.yml
T
2026-07-13 13:32:23 +08:00

85 lines
2.7 KiB
YAML

name: Publish artifacts
on:
release:
types: [released]
jobs:
docker-images:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v7
- name: Build images
run: |
CVAT_VERSION=latest CLAM_AV=yes docker compose -f docker-compose.yml -f docker-compose.dev.yml build
- name: Login to Docker Hub
uses: docker/login-action@v4
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Push to Docker Hub
env:
DOCKERHUB_WORKSPACE: ${{ secrets.DOCKERHUB_WORKSPACE }}
SERVER_IMAGE_REPO: 'server'
UI_IMAGE_REPO: 'ui'
run: |
docker tag "${DOCKERHUB_WORKSPACE}/${SERVER_IMAGE_REPO}:latest" "${DOCKERHUB_WORKSPACE}/${SERVER_IMAGE_REPO}:${{ github.event.release.tag_name }}"
docker push "${DOCKERHUB_WORKSPACE}/${SERVER_IMAGE_REPO}:${{ github.event.release.tag_name }}"
docker push "${DOCKERHUB_WORKSPACE}/${SERVER_IMAGE_REPO}:latest"
docker tag "${DOCKERHUB_WORKSPACE}/${UI_IMAGE_REPO}:latest" "${DOCKERHUB_WORKSPACE}/${UI_IMAGE_REPO}:${{ github.event.release.tag_name }}"
docker push "${DOCKERHUB_WORKSPACE}/${UI_IMAGE_REPO}:${{ github.event.release.tag_name }}"
docker push "${DOCKERHUB_WORKSPACE}/${UI_IMAGE_REPO}:latest"
python-packages:
runs-on: ubuntu-latest
permissions:
id-token: write
steps:
- uses: actions/checkout@v7
- name: Generate SDK
run: |
pip3 install --user -r cvat-sdk/gen/requirements.txt
./cvat-sdk/gen/generate.sh
- name: Build packages
run: |
for d in cvat-sdk cvat-cli; do
pipx run --spec=build pyproject-build --outdir=dist "$d"
done
- name: Publish to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
helm:
runs-on: ubuntu-latest
needs: docker-images
env:
DOCKERHUB_WORKSPACE: ${{ secrets.DOCKERHUB_WORKSPACE }}
steps:
- uses: actions/checkout@v7
- name: Set up Helm
uses: azure/setup-helm@dda3372f752e03dde6b3237bc9431cdc2f7a02a2 # v5.0.0
with:
version: v3.19.0
- name: Log in to Docker Hub
uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee # v4.2.0
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
- name: Package Helm chart
working-directory: helm-chart
run: |
helm package . --dependency-update --destination ../
- name: Push Helm chart to Docker Hub
run: |
helm push cvat-*.tgz oci://registry-1.docker.io/${DOCKERHUB_WORKSPACE}