Create tar.gz Folders for Latest Release #19
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# .github/workflows/create-release-zips.yml | |
name: Nén Thư Mục và Tải Lên Release | |
# 1. Kích hoạt thủ công | |
on: | |
workflow_dispatch: | |
jobs: | |
build-and-upload: | |
runs-on: ubuntu-latest | |
# Cấp quyền ghi cho job để có thể tải file lên release | |
permissions: | |
contents: write | |
steps: | |
# Bước 1: Checkout mã nguồn của repo | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
# Bước 2: Nén từng thư mục thành file zip riêng | |
# - Lặp qua tất cả các thư mục ở cấp gốc. | |
# - Bỏ qua thư mục .github. | |
# - Nén mỗi thư mục, loại trừ file README.md. | |
- name: Zip individual folders | |
run: | | |
# Lặp qua tất cả các mục kết thúc bằng dấu gạch chéo (tức là các thư mục) | |
for dir in */; do | |
# Lấy tên thư mục không có dấu gạch chéo | |
dirname="${dir%/}" | |
# 3. Bỏ qua thư mục .github | |
if [ "$dirname" == ".github" ]; then | |
echo "Skipping .github directory..." | |
continue | |
fi | |
echo "Zipping '$dirname'..." | |
# 2. Nén thư mục thành file zip, loại trừ file README.md | |
zip -r "${dirname}.zip" "$dirname" -x "*/README.md" | |
done | |
# Bước 3: Tải các file zip lên release mới nhất | |
# - Sử dụng GitHub CLI (gh) để tải lên. | |
# - 'latest' là một alias chỉ đến bản phát hành gần đây nhất. | |
- name: Upload zip files to latest release | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
run: | | |
# 4. Upload các file zip vào release cuối cùng (latest) | |
gh release upload latest *.zip --clobber | |
echo "✅ All zip files have been uploaded to the latest release." |