Add pre-deploy workflow and redirect script; remove obsolete redirects

This commit is contained in:
mr. m 2024-11-26 20:43:22 +00:00
parent 894b9dee27
commit 1ee144b49c
3 changed files with 76 additions and 1 deletions

41
.github/workflows/pre-deploy.yml vendored Normal file
View file

@ -0,0 +1,41 @@
name: Pre-Deploy Updates Server
on:
push:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
token: ${{ secrets.DEPLOY_KEY }}
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: '3.x'
- name: Fetch and override deploy branch
run: |
git fetch origin main:main
git checkout main
git branch -D deploy || true
git checkout -b deploy
- name: Write redirects
run: |
python scripts/write_redirects.py
- uses: stefanzweifel/git-auto-commit-action@v4
with:
commit_message: 🔖 Updated update server
commit_user_name: Zen Browser Robot
commit_user_email: zen-browser-auto@users.noreply.github.com
branch: deploy

View file

@ -1 +0,0 @@
/home / 301

View file

@ -0,0 +1,35 @@
import os
# For branch redirects. E.g. if we want to convert 'alpha' -> 'beta' in all URLs,
# but still maintain the old URLs just in case someone has not updated
# broken branch -> fixed branch
REDIRECTS = {
"twilightundefined": "twilight", # A bug there was with previous twilight updates
}
UPDATES_ROOT = "updates/browser"
for new, old in REDIRECTS.items():
print(f"Redirecting {old} -> {new}")
# just create and copy the content of the old file to the new file
# the structure of the updates server is updates/browser/<target_build>/<branch>/update.xml
# we want to replace the branch with the new branch
for target in os.listdir(UPDATES_ROOT):
target_path = os.path.join(UPDATES_ROOT, target)
for branch in os.listdir(target_path):
if branch == old:
# The directory doesnt exist, so we create a new one
new_branch_path = os.path.join(target_path, new)
old_branch_path = os.path.join(target_path, old)
os.makedirs(new_branch_path)
for update in os.listdir(old_branch_path):
update_path = os.path.join(old_branch_path, update)
with open(update_path, "r") as f:
content = f.read()
new_update_path = os.path.join(new_branch_path, update)
with open(new_update_path, "w") as nf:
nf.write(content)
print(f"Redirected {old} -> {new} in {target}/{branch}")
print("Done!")