Setup auto-sync infrastructure for product propagation
#27
by bep40 - opened
This view is limited to 50 files because it contains too many changes. See the raw diff here.
- .gitattributes +0 -102
- .github/workflows/auto-sync.yml +0 -48
- grob_img/grob_p1.jpeg +0 -0
- grob_img/grob_p10.jpeg +0 -3
- grob_img/grob_p100.jpeg +0 -0
- grob_img/grob_p101.jpeg +0 -3
- grob_img/grob_p102.jpeg +0 -3
- grob_img/grob_p103.jpeg +0 -0
- grob_img/grob_p104.jpeg +0 -0
- grob_img/grob_p105.jpeg +0 -0
- grob_img/grob_p106.jpeg +0 -3
- grob_img/grob_p107.jpeg +0 -0
- grob_img/grob_p108.jpeg +0 -0
- grob_img/grob_p109.jpeg +0 -3
- grob_img/grob_p11.jpeg +0 -3
- grob_img/grob_p110.jpeg +0 -3
- grob_img/grob_p111.jpeg +0 -3
- grob_img/grob_p112.jpeg +0 -0
- grob_img/grob_p113.jpeg +0 -0
- grob_img/grob_p114.jpeg +0 -0
- grob_img/grob_p115.jpeg +0 -0
- grob_img/grob_p116.jpeg +0 -0
- grob_img/grob_p117.jpeg +0 -0
- grob_img/grob_p118.jpeg +0 -3
- grob_img/grob_p119.jpeg +0 -3
- grob_img/grob_p12.jpeg +0 -0
- grob_img/grob_p120.jpeg +0 -3
- grob_img/grob_p121.jpeg +0 -0
- grob_img/grob_p122.jpeg +0 -0
- grob_img/grob_p123.jpeg +0 -0
- grob_img/grob_p124.jpeg +0 -0
- grob_img/grob_p125.jpeg +0 -3
- grob_img/grob_p126.jpeg +0 -0
- grob_img/grob_p127.jpeg +0 -0
- grob_img/grob_p128.jpeg +0 -0
- grob_img/grob_p129.jpeg +0 -0
- grob_img/grob_p13.jpeg +0 -0
- grob_img/grob_p130.jpeg +0 -3
- grob_img/grob_p131.jpeg +0 -3
- grob_img/grob_p132.jpeg +0 -3
- grob_img/grob_p133.jpeg +0 -3
- grob_img/grob_p134.jpeg +0 -3
- grob_img/grob_p135.jpeg +0 -0
- grob_img/grob_p136.jpeg +0 -0
- grob_img/grob_p137.jpeg +0 -0
- grob_img/grob_p138.jpeg +0 -0
- grob_img/grob_p139.jpeg +0 -0
- grob_img/grob_p14.jpeg +0 -0
- grob_img/grob_p140.jpeg +0 -3
- grob_img/grob_p141.jpeg +0 -3
.gitattributes
DELETED
|
@@ -1,102 +0,0 @@
|
|
| 1 |
-
grob_img/grob_p10.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 2 |
-
grob_img/grob_p101.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 3 |
-
grob_img/grob_p102.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 4 |
-
grob_img/grob_p106.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 5 |
-
grob_img/grob_p109.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 6 |
-
grob_img/grob_p11.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 7 |
-
grob_img/grob_p110.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 8 |
-
grob_img/grob_p111.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 9 |
-
grob_img/grob_p118.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 10 |
-
grob_img/grob_p119.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 11 |
-
grob_img/grob_p120.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 12 |
-
grob_img/grob_p125.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 13 |
-
grob_img/grob_p130.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 14 |
-
grob_img/grob_p131.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 15 |
-
grob_img/grob_p132.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 16 |
-
grob_img/grob_p133.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 17 |
-
grob_img/grob_p134.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 18 |
-
grob_img/grob_p140.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 19 |
-
grob_img/grob_p141.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 20 |
-
grob_img/grob_p166.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 21 |
-
grob_img/grob_p17.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 22 |
-
grob_img/grob_p174.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 23 |
-
grob_img/grob_p175.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 24 |
-
grob_img/grob_p177.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 25 |
-
grob_img/grob_p178.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 26 |
-
grob_img/grob_p179.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 27 |
-
grob_img/grob_p180.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 28 |
-
grob_img/grob_p183.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 29 |
-
grob_img/grob_p184.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 30 |
-
grob_img/grob_p185.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 31 |
-
grob_img/grob_p186.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 32 |
-
grob_img/grob_p19.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 33 |
-
grob_img/grob_p199.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 34 |
-
grob_img/grob_p2.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 35 |
-
grob_img/grob_p201.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 36 |
-
grob_img/grob_p21.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 37 |
-
grob_img/grob_p23.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 38 |
-
grob_img/grob_p24.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 39 |
-
grob_img/grob_p28.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 40 |
-
grob_img/grob_p29.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 41 |
-
grob_img/grob_p3.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 42 |
-
grob_img/grob_p30.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 43 |
-
grob_img/grob_p31.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 44 |
-
grob_img/grob_p32.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 45 |
-
grob_img/grob_p33.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 46 |
-
grob_img/grob_p34.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 47 |
-
grob_img/grob_p35.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 48 |
-
grob_img/grob_p36.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 49 |
-
grob_img/grob_p37.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 50 |
-
grob_img/grob_p38.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 51 |
-
grob_img/grob_p39.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 52 |
-
grob_img/grob_p40.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 53 |
-
grob_img/grob_p41.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 54 |
-
grob_img/grob_p42.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 55 |
-
grob_img/grob_p43.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 56 |
-
grob_img/grob_p44.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 57 |
-
grob_img/grob_p45.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 58 |
-
grob_img/grob_p46.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 59 |
-
grob_img/grob_p47.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 60 |
-
grob_img/grob_p48.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 61 |
-
grob_img/grob_p49.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 62 |
-
grob_img/grob_p50.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 63 |
-
grob_img/grob_p51.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 64 |
-
grob_img/grob_p52.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 65 |
-
grob_img/grob_p53.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 66 |
-
grob_img/grob_p54.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 67 |
-
grob_img/grob_p55.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 68 |
-
grob_img/grob_p56.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 69 |
-
grob_img/grob_p57.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 70 |
-
grob_img/grob_p58.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 71 |
-
grob_img/grob_p59.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 72 |
-
grob_img/grob_p6.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 73 |
-
grob_img/grob_p60.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 74 |
-
grob_img/grob_p61.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 75 |
-
grob_img/grob_p62.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 76 |
-
grob_img/grob_p63.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 77 |
-
grob_img/grob_p64.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 78 |
-
grob_img/grob_p65.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 79 |
-
grob_img/grob_p66.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 80 |
-
grob_img/grob_p67.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 81 |
-
grob_img/grob_p68.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 82 |
-
grob_img/grob_p69.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 83 |
-
grob_img/grob_p7.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 84 |
-
grob_img/grob_p70.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 85 |
-
grob_img/grob_p71.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 86 |
-
grob_img/grob_p72.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 87 |
-
grob_img/grob_p73.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 88 |
-
grob_img/grob_p74.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 89 |
-
grob_img/grob_p76.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 90 |
-
grob_img/grob_p77.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 91 |
-
grob_img/grob_p78.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 92 |
-
grob_img/grob_p79.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 93 |
-
grob_img/grob_p8.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 94 |
-
grob_img/grob_p80.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 95 |
-
grob_img/grob_p82.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 96 |
-
grob_img/grob_p83.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 97 |
-
grob_img/grob_p84.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 98 |
-
grob_img/grob_p85.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 99 |
-
grob_img/grob_p88.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 100 |
-
grob_img/grob_p9.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 101 |
-
grob_img/grob_p97.jpeg filter=lfs diff=lfs merge=lfs -text
|
| 102 |
-
grob_img/grob_p98.jpeg filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
.github/workflows/auto-sync.yml
DELETED
|
@@ -1,48 +0,0 @@
|
|
| 1 |
-
name: Auto-Sync Products
|
| 2 |
-
|
| 3 |
-
on:
|
| 4 |
-
schedule:
|
| 5 |
-
# Chạy hàng ngày lúc midnight UTC (8:00 AM Việt Nam)
|
| 6 |
-
- cron: '0 0 * * *'
|
| 7 |
-
workflow_dispatch:
|
| 8 |
-
inputs:
|
| 9 |
-
dry_run:
|
| 10 |
-
description: 'Chỉ kiểm tra mà không cập nhật'
|
| 11 |
-
type: boolean
|
| 12 |
-
default: false
|
| 13 |
-
target_space:
|
| 14 |
-
description: 'Không gian target (vai-avatar2 hoặc both)'
|
| 15 |
-
type: choice
|
| 16 |
-
options:
|
| 17 |
-
- vai-avatar2
|
| 18 |
-
- both
|
| 19 |
-
|
| 20 |
-
jobs:
|
| 21 |
-
sync-products:
|
| 22 |
-
runs-on: ubuntu-latest
|
| 23 |
-
steps:
|
| 24 |
-
- name: Checkout code
|
| 25 |
-
uses: actions/checkout@v4
|
| 26 |
-
|
| 27 |
-
- name: Setup Python
|
| 28 |
-
uses: actions/setup-python@v5
|
| 29 |
-
with:
|
| 30 |
-
python-version: '3.11'
|
| 31 |
-
|
| 32 |
-
- name: Install dependencies
|
| 33 |
-
run: |
|
| 34 |
-
pip install huggingface_hub
|
| 35 |
-
|
| 36 |
-
- name: Run sync products
|
| 37 |
-
env:
|
| 38 |
-
HF_TOKEN: ${{ secrets.HF_TOKEN }}
|
| 39 |
-
run: |
|
| 40 |
-
echo "Starting product auto-sync..."
|
| 41 |
-
python3 sync_products.py
|
| 42 |
-
|
| 43 |
-
if [ $? -eq 0 ]; then
|
| 44 |
-
echo "✅ Sync completed successfully"
|
| 45 |
-
else
|
| 46 |
-
echo "❌ Sync failed"
|
| 47 |
-
exit 1
|
| 48 |
-
fi
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
grob_img/grob_p1.jpeg
DELETED
|
Binary file (80 kB)
|
|
|
grob_img/grob_p10.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p100.jpeg
DELETED
|
Binary file (51.6 kB)
|
|
|
grob_img/grob_p101.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p102.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p103.jpeg
DELETED
|
Binary file (42 kB)
|
|
|
grob_img/grob_p104.jpeg
DELETED
|
Binary file (20 kB)
|
|
|
grob_img/grob_p105.jpeg
DELETED
|
Binary file (56.2 kB)
|
|
|
grob_img/grob_p106.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p107.jpeg
DELETED
|
Binary file (96 kB)
|
|
|
grob_img/grob_p108.jpeg
DELETED
|
Binary file (86.7 kB)
|
|
|
grob_img/grob_p109.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p11.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p110.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p111.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p112.jpeg
DELETED
|
Binary file (54 kB)
|
|
|
grob_img/grob_p113.jpeg
DELETED
|
Binary file (76.2 kB)
|
|
|
grob_img/grob_p114.jpeg
DELETED
|
Binary file (92.9 kB)
|
|
|
grob_img/grob_p115.jpeg
DELETED
|
Binary file (92.9 kB)
|
|
|
grob_img/grob_p116.jpeg
DELETED
|
Binary file (40.1 kB)
|
|
|
grob_img/grob_p117.jpeg
DELETED
|
Binary file (21.9 kB)
|
|
|
grob_img/grob_p118.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p119.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p12.jpeg
DELETED
|
Binary file (89.4 kB)
|
|
|
grob_img/grob_p120.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p121.jpeg
DELETED
|
Binary file (61.4 kB)
|
|
|
grob_img/grob_p122.jpeg
DELETED
|
Binary file (58.4 kB)
|
|
|
grob_img/grob_p123.jpeg
DELETED
|
Binary file (59.5 kB)
|
|
|
grob_img/grob_p124.jpeg
DELETED
|
Binary file (59.5 kB)
|
|
|
grob_img/grob_p125.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p126.jpeg
DELETED
|
Binary file (33.6 kB)
|
|
|
grob_img/grob_p127.jpeg
DELETED
|
Binary file (64.2 kB)
|
|
|
grob_img/grob_p128.jpeg
DELETED
|
Binary file (41.2 kB)
|
|
|
grob_img/grob_p129.jpeg
DELETED
|
Binary file (51.6 kB)
|
|
|
grob_img/grob_p13.jpeg
DELETED
|
Binary file (98 kB)
|
|
|
grob_img/grob_p130.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p131.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p132.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p133.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p134.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p135.jpeg
DELETED
|
Binary file (48.5 kB)
|
|
|
grob_img/grob_p136.jpeg
DELETED
|
Binary file (67.4 kB)
|
|
|
grob_img/grob_p137.jpeg
DELETED
|
Binary file (24.3 kB)
|
|
|
grob_img/grob_p138.jpeg
DELETED
|
Binary file (52.9 kB)
|
|
|
grob_img/grob_p139.jpeg
DELETED
|
Binary file (52.9 kB)
|
|
|
grob_img/grob_p14.jpeg
DELETED
|
Binary file (90.1 kB)
|
|
|
grob_img/grob_p140.jpeg
DELETED
Git LFS Details
|
grob_img/grob_p141.jpeg
DELETED
Git LFS Details
|