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:
Bastian Gruber 2024-11-19 10:41:16 -04:00
Родитель 4389742afc
Коммит c576470f1d
1 изменённых файлов: 63 добавлений и 0 удалений

63
.github/workflows/update-remote-settings-dumps.yaml поставляемый Normal file
Просмотреть файл

@ -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