add-script-to-convert-label-studio-output-to-annotation #9

Merged
brian merged 5 commits from add-script-to-convert-label-studio-output-to-annotation into main 2025-09-18 23:57:20 +02:00
Showing only changes of commit 28abd22571 - Show all commits
+19 -31
View File
@@ -1,4 +1,4 @@
name: Sync Label Studio name: Sync Label Studio Annotations
on: on:
schedule: schedule:
@@ -9,39 +9,27 @@ jobs:
sync_storage: sync_storage:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- name: Sync Label Studio Target Storage - name: Checkout code
env: uses: actions/checkout@v4
LABEL_STUDIO_API_TOKEN: ${{ secrets.LABEL_STUDIO_API_TOKEN }}
run: |
curl -X POST \
-H "Authorization: Token $LABEL_STUDIO_API_TOKEN" \
"https://label-studio.gt-proj.com/api/storages/export/s3/1/sync"
- name: Install MinIO Client - name: Set up Python
run: | uses: actions/setup-python@v5
wget https://dl.min.io/client/mc/release/linux-amd64/mc with:
chmod +x mc python-version: ${{ vars.PYTHON_VERSION }}
sudo mv mc /usr/local/bin/
- name: Fix Label Studio output content type in MinIO - name: Install uv
run: pip install uv
- name: Install dependencies
env: env:
UV_LINK_MODE: copy
run: uv sync --all-extras
- name: Sync annotations
env:
MINIO_ENDPOINT: ${{ vars.MINIO_ENDPOINT }}
MINIO_ACCESS_KEY: ${{ secrets.MINIO_ACCESS_KEY }} MINIO_ACCESS_KEY: ${{ secrets.MINIO_ACCESS_KEY }}
MINIO_SECRET_KEY: ${{ secrets.MINIO_SECRET_KEY }} MINIO_SECRET_KEY: ${{ secrets.MINIO_SECRET_KEY }}
MINIO_BUCKET: ${{ vars.MINIO_BUCKET }}
run: | run: |
mc alias set myminio http://10.0.0.2:9000 $MINIO_ACCESS_KEY $MINIO_SECRET_KEY uv run python scripts/sync_label_studio_annotations.py
mc cp --recursive --attr 'Content-Type=application/json' \
myminio/visual-semiotic-ai-analysis/label-studio-output/ \
myminio/visual-semiotic-ai-analysis/label-studio-output/
- name: Ensure .json extension on files
env:
MINIO_ACCESS_KEY: ${{ secrets.MINIO_ACCESS_KEY }}
MINIO_SECRET_KEY: ${{ secrets.MINIO_SECRET_KEY }}
run: |
mc alias set myminio http://10.0.0.2:9000 $MINIO_ACCESS_KEY $MINIO_SECRET_KEY
for file in $(mc ls --recursive myminio/visual-semiotic-ai-analysis/label-studio-output/ | awk '{print $NF}'); do
if [[ "$file" != *.json ]]; then
mc mv "myminio/visual-semiotic-ai-analysis/label-studio-output/$file" \
"myminio/visual-semiotic-ai-analysis/label-studio-output/$file.json"
fi
done