Bug 1932096 - Create a GitHub action cron job to periodiaclly update in-tree data dumps
We want to keep the in-tree remote-settings dumps up to date. For this, a GitHub Actions workflow seems to be the easiest way for now. The workflow will check once a week if there is new data (through the `cargo remote-settings dump-sync` command). And commit any changes to a new branch and open a PR against main.
This commit is contained in:
Родитель
4389742afc
Коммит
c576470f1d
|
@ -0,0 +1,63 @@
|
|||
name: Update Remote Settings Dumps
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * 0" # Run weekly on Sunday at midnight
|
||||
workflow_dispatch: # Allow manual trigger
|
||||
inputs:
|
||||
base_branch:
|
||||
description: 'Base branch'
|
||||
required: true
|
||||
default: 'main'
|
||||
|
||||
jobs:
|
||||
update-dumps:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: write
|
||||
pull-requests: write
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: main
|
||||
fetch-depth: 0
|
||||
submodules: recursive
|
||||
|
||||
- name: Set up repository and install Rust
|
||||
run: |
|
||||
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
|
||||
source $HOME/.cargo/env
|
||||
|
||||
- name: Create new branch and run dump
|
||||
run: |
|
||||
# Configure git
|
||||
git config --local user.email "bgruber@mozilla.com"
|
||||
git config --local user.name "Bastian Gruber"
|
||||
|
||||
# Create new branch
|
||||
BRANCH_NAME="update-remote-settings-dumps-$(date +%Y%m%d)"
|
||||
git checkout -b $BRANCH_NAME
|
||||
|
||||
# Run the dump command
|
||||
cargo remote-settings dump-sync
|
||||
|
||||
# Check for changes and create PR if needed
|
||||
git add ./components/remote_settings/dumps/
|
||||
if git status --porcelain -- ./components/remote_settings/dumps/ | grep .; then
|
||||
git commit -m "chore: Update remote settings dumps"
|
||||
git push origin $BRANCH_NAME
|
||||
|
||||
# Create the PR (gh is installed on GH Actions)
|
||||
gh pr create \
|
||||
--title "Update Remote Settings Dumps" \
|
||||
--body "Automated PR to update remote settings dumps.
|
||||
|
||||
Changes detected in: \`./components/remote_settings/dumps/\`
|
||||
Generated by the Update Remote Settings Dumps workflow." \
|
||||
--base main \
|
||||
--head $BRANCH_NAME
|
||||
else
|
||||
echo "No changes detected in dumps directory"
|
||||
fi
|
Загрузка…
Ссылка в новой задаче