Cluster Release #45
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
| name: Cluster Release | |
| on: | |
| schedule: | |
| - cron: '0 0 1 * *' | |
| workflow_dispatch: | |
| env: | |
| REPO_A_COUNT: 9 | |
| REPO_B_COUNT: 1 | |
| jobs: | |
| build: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v4 | |
| - name: Setup Git identity | |
| run: | | |
| git config --global user.name "dopaemon" | |
| git config --global user.email "polarisdp@gmail.com" | |
| - name: Remove old Packages | |
| run: | | |
| rm -f Packages Packages.bz2 scan.log tmp.log removed.list | |
| - name: Clone & Build Cluster A Packages (with broken .deb filter) | |
| run: | | |
| for i in $(seq 1 $REPO_A_COUNT); do | |
| echo "==== Cluster A$i ====" | |
| git clone --filter=blob:none --depth=1 https://github.com/CydiaBlock/package_debian_A$i.git | |
| cd package_debian_A$i | |
| echo "🔎 Checking .deb files in A$i ..." | |
| while IFS= read -r -d '' f; do | |
| if ! dpkg-deb -I "$f" >/dev/null 2>&1; then | |
| echo "❌ Broken deb removed: $f" | |
| rm -f -- "$f" | |
| fi | |
| done < <(find . -type f -name "*.deb" -print0) | |
| # per-file scan để loại bỏ .deb làm dpkg-scanpackages fail | |
| removed_any=0 | |
| while IFS= read -r -d '' f; do | |
| if ! dpkg-scanpackages -m "$f" /dev/null > /dev/null 2> tmp.log; then | |
| echo "❌ Removing bad package: $f" | |
| rm -f -- "$f" | |
| echo "$f" >> ../removed.list | |
| removed_any=1 | |
| fi | |
| done < <(find . -type f -name "*.deb" -print0) | |
| dpkg-scanpackages -m . /dev/null >> ../Packages | |
| echo "" >> ../Packages | |
| cd .. | |
| rm -rf package_debian_A$i | |
| done | |
| - name: Clone & Build Cluster B Packages (with broken .deb filter) | |
| run: | | |
| for i in $(seq 1 $REPO_B_COUNT); do | |
| echo "==== Cluster B$i ====" | |
| git clone --filter=blob:none --depth=1 https://github.com/CydiaBlock/package_debian_B$i.git | |
| cd package_debian_B$i | |
| echo "🔎 Checking .deb files in B$i ..." | |
| while IFS= read -r -d '' f; do | |
| if ! dpkg-deb -I "$f" >/dev/null 2>&1; then | |
| echo "❌ Broken deb removed: $f" | |
| rm -f -- "$f" | |
| fi | |
| done < <(find . -type f -name "*.deb" -print0) | |
| removed_any=0 | |
| while IFS= read -r -d '' f; do | |
| if ! dpkg-scanpackages -m "$f" /dev/null > /dev/null 2> tmp.log; then | |
| echo "❌ Removing bad package: $f" | |
| rm -f -- "$f" | |
| echo "$f" >> ../removed.list | |
| removed_any=1 | |
| fi | |
| done < <(find . -type f -name "*.deb" -print0) | |
| dpkg-scanpackages -m . /dev/null >> ../Packages | |
| echo "" >> ../Packages | |
| cd .. | |
| rm -rf package_debian_B$i | |
| done | |
| - name: Format and Clean Packages | |
| run: | | |
| sed -i 's|Filename: \./|Filename: |' Packages | |
| sed -i 's/: !CydiaVn-/: /g' Packages | |
| sed -i 's/: !GSMVN-/: /g' Packages | |
| sed -i 's/: !GSMVN For OS3.0/: Tools/g' Packages | |
| sed -i 's/: HiPhone-Tools/: Tools/g' Packages | |
| sed -i 's/: iSystem/: System/g' Packages | |
| sed -i 's/: iOS4/: Tweaks/g' Packages | |
| sed -i 's/: GSMVN-/: /g' Packages | |
| sed -i 's/: VietHoa/: Packaging/g' Packages | |
| sed -i 's/: Apps/: Applications/g' Packages | |
| sed -i 's/: Emulators/: System/g' Packages | |
| sed -i 's/: !Cydia-/: /g' Packages | |
| sed -i 's/: Applicationstore/: Applications/g' Packages | |
| sed -i 's/: andydam/: Applications/g' Packages | |
| sed -i 's/: CrackTouch Repo/: Themes/g' Packages | |
| sed -i 's/: Hackers.nl/: Hacks/g' Packages | |
| sed -i 's/: iClarified.nl/: Hacks/g' Packages | |
| sed -i 's/: iDWANEO.org/: Hacks/g' Packages | |
| sed -i 's/: IHR-Utilities/: Hacks/g' Packages | |
| sed -i 's/: iTweaks/: Tweaks/g' Packages | |
| sed -i 's/: iUtilities/: Tweaks/g' Packages | |
| sed -i 's/: LockInfo/: Tweaks/g' Packages | |
| sed -i 's/: MinecraftPE/: Hacks/g' Packages | |
| sed -i 's/: PF Apps/: Tweaks/g' Packages | |
| sed -i 's/: Terminals/: System/g' Packages | |
| sed -i 's/: MCPE/: Hacks/g' Packages | |
| sed -i 's/: Core System/: System/g' Packages | |
| sed -i 's/: Hackulo.us/: Tweaks/g' Packages | |
| sed -i 's/: iClarified/: Tweaks/g' Packages | |
| sed -i 's/: iMods/: DLC/g' Packages | |
| sed -i '/^Icon:/d' Packages | |
| - name: Compress | |
| run: bzip2 -fks Packages | |
| - name: Commit and push changes | |
| uses: devops-infra/action-commit-push@master | |
| with: | |
| github_token: ${{ secrets.GITHUB_TOKEN }} | |
| commit_message: "Cluster Repo Updated" | |
| - name: Upload GitHub Pages artifact | |
| uses: actions/upload-pages-artifact@v3 | |
| with: | |
| path: ./ | |
| gh-pages: | |
| runs-on: ubuntu-latest | |
| needs: build | |
| permissions: | |
| contents: read | |
| pages: write | |
| id-token: write | |
| environment: | |
| name: github-pages | |
| url: ${{ steps.deployment.outputs.page_url }} | |
| steps: | |
| - name: Deploy to GitHub Pages | |
| id: deployment | |
| uses: actions/deploy-pages@v4 |