-
Notifications
You must be signed in to change notification settings - Fork 226
63 lines (53 loc) · 1.96 KB
/
update-remote-settings-dumps.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
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 "[email protected]"
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