diff --git a/.gitea/workflows/obfuscate-main.yml b/.gitea/workflows/obfuscate-main.yml new file mode 100644 index 0000000..86a491b --- /dev/null +++ b/.gitea/workflows/obfuscate-main.yml @@ -0,0 +1,51 @@ +name: Obfuscate Main Build + +on: + push: + branches: + - main + workflow_dispatch: + +jobs: + obfuscate: + runs-on: ubuntu-latest + + steps: + - name: Checkout + uses: actions/checkout@v4 + with: + fetch-depth: 0 + + - name: Skip loop commits + run: | + msg="$(git log -1 --pretty=%B)" + echo "Last commit message: $msg" + if echo "$msg" | grep -q "\[skip ci\]"; then + echo "Skip CI commit detected." + exit 0 + fi + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: "3.12" + + - name: Setup Node + uses: actions/setup-node@v4 + with: + node-version: "20" + + - name: Run release obfuscation + run: python scripts/obfuscate_release.py --root . --hash-assets + + - name: Commit obfuscated build + run: | + git config user.name "gitea-actions" + git config user.email "actions@local" + git add -A + if git diff --cached --quiet; then + echo "No build changes to commit." + exit 0 + fi + git commit -m "chore(release): obfuscate and hash production assets [skip ci]" + git push