diff --git a/.github/workflows/upstream_sync.yml b/.github/workflows/upstream_sync.yml
new file mode 100644
index 0000000..af9c791
--- /dev/null
+++ b/.github/workflows/upstream_sync.yml
@@ -0,0 +1,18 @@
+# .github/workflows/sync.yml
+name: Rebase Upstream
+on:
+  schedule:
+  - cron: "0 0 * * 0"  # run once a week
+  workflow_dispatch:   # run manually
+
+jobs:
+  sync:
+    runs-on: ubuntu-latest
+    steps:
+    - uses: actions/checkout@master
+      with:
+        fetch-depth: 10  # greater than the number of commits you made
+    - uses: imba-tjd/rebase-upstream-action@master
+      with:  # all args are optional
+        upstream: DeterminateSystems/update-flake-lock
+        branch:   main