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