mirror of
https://github.com/zen-browser/updates-server.git
synced 2025-07-07 17:05:36 +02:00
✨ Add pre-deploy workflow and redirect script; remove obsolete redirects
This commit is contained in:
parent
894b9dee27
commit
1ee144b49c
3 changed files with 76 additions and 1 deletions
41
.github/workflows/pre-deploy.yml
vendored
Normal file
41
.github/workflows/pre-deploy.yml
vendored
Normal 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
|
|
@ -1 +0,0 @@
|
||||||
/home / 301
|
|
35
scripts/write_redirects.py
Normal file
35
scripts/write_redirects.py
Normal 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!")
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue