diff --git a/.github/workflows/sync-to-gitlab.yml b/.github/workflows/sync-to-gitlab.yml
new file mode 100644
index 0000000000000000000000000000000000000000..91a6971de1736694c585644da2d7b7a9495a3d7f
--- /dev/null
+++ b/.github/workflows/sync-to-gitlab.yml
@@ -0,0 +1,19 @@
+name: Sync to GitLab
+on:
+  push:
+    branches:
+      - '**'
+
+jobs:
+  sync:
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          fetch-depth: 0
+      - name: Sync to GitLab
+        run: |
+          git remote add gitlab https://oauth2:${GITLAB_TOKEN}@gitlab.com/go-semantic-release/semantic-release.git
+          git push gitlab ${{ github.ref_name }} --force
+        env:
+          GITLAB_TOKEN: ${{ secrets.GITLAB_PUSH_TOKEN }}