Deploy new rules #21385
This file contains 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: Deploy new rules | |
on: | |
push: | |
branches: | |
- 'master' | |
pull_request: | |
branches: | |
- 'master' | |
schedule: | |
- cron: '57 * * * *' | |
env: | |
GIT_NAME: '${{ secrets.GIT_NAME }}' | |
GIT_EMAIL: '${{ secrets.GIT_EMAIL }}' | |
GITHUB_TOKEN: '${{ secrets.GITHUB_TOKEN }}' | |
jobs: | |
buildrules: | |
name: Trigger action | |
runs-on: '${{ matrix.os }}' | |
strategy: | |
fail-fast: false | |
matrix: | |
python_version: | |
- '3.11' | |
os: | |
- ubuntu-latest | |
steps: | |
- uses: actions/checkout@main | |
name: Clone repository | |
with: | |
token: '${{ secrets.GITHUB_TOKEN }}' | |
fetch-depth: 5 | |
- name: Set up Python ${{ matrix.python_version }} | |
uses: actions/setup-python@v5 | |
with: | |
python-version: ${{ matrix.python_version }} | |
- name: Install dependencies | |
run: | | |
sudo apt install aptitude -y -f | |
# sudo aptitude install nodejs npm -y -f | |
sudo apt-get update && sudo apt-get install -y ca-certificates curl gnupg | |
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg | |
NODE_MAJOR=20 | |
echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_$NODE_MAJOR.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list | |
sudo apt-get update && sudo aptitude install nodejs -y | |
python -m pip install --upgrade pip | |
if [ -f requirements.txt ]; then pip install --no-cache -I -r requirements.txt; fi | |
- name: Install hostlist-compiler | |
run: | | |
npm i -g @adguard/hostlist-compiler | |
- name: Compiling blacklists | |
run: | | |
hostlist-compiler -c tools/hostscompilerconf.json -o _public/blockrules.txt | |
hostlist-compiler -c tools/noise.json -o _public/noise.txt | |
# - name: Render the rules | |
# run: | | |
# BUILD="$(git rev-parse --short HEAD)" | |
# flrender -v -i ublockorigin-rules=. adblocker-rules.template _public/blockrules.txt | |
# sed -i -e "s/\! BuildID:/\! BuildID: $BUILD/g" _public/blockrules.txt | |
# head -n 5 _public/blockrules.txt | |
- name: Deploy | |
run: | | |
cd _public | |
# As we have no parts of the third world country (USA) domestic | |
# Racism issues, we keep the original branch refs 'master' | |
git config --global init.defaultBranch master | |
git init | |
git add -A | |
git config --local user.email "[email protected]" | |
git config --local user.name "GitHub Action" | |
git commit -m "Release $(git --git-dir ../.git rev-parse --short HEAD)" | |
- name: Force push to destination branch | |
uses: ad-m/github-push-action@master | |
with: | |
github_token: ${{ secrets.GITHUB_TOKEN }} | |
branch: gh-pages | |
force: true | |
directory: _public |