This is an automated email from the ASF dual-hosted git repository.

janc pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/mynewt-nimble.git

commit da659c9f800bc7d310c7e9e2d7cadb34bfe513c9
Author: Szymon Czapracki <[email protected]>
AuthorDate: Fri Jun 27 14:17:33 2025 +0200

    ci: Add workflow to sync .clang-format
    
    If changes are detected, it updates the local file and automatically
    opens a pull request on the current repository to apply the update.
    
    This ensures consistent and up-to-date code formatting configuration.
    
    Uses:
    - GitHub Actions with cron trigger (daily at 06:00 UTC)
    - peter-evans/create-pull-request@v7 for automated PR creation
    
    [1]: https://github.com/peter-evans/create-pull-request
---
 .github/workflows/format_file_check.yml | 68 +++++++++++++++++++++++++++++++++
 1 file changed, 68 insertions(+)

diff --git a/.github/workflows/format_file_check.yml 
b/.github/workflows/format_file_check.yml
new file mode 100644
index 000000000..c1b477ec0
--- /dev/null
+++ b/.github/workflows/format_file_check.yml
@@ -0,0 +1,68 @@
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#  http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+#
+
+name: Sync clang-format
+
+on:
+  schedule:
+    - cron: '0 6 * * *'
+
+jobs:
+  sync:
+    runs-on: ubuntu-24.04
+    permissions:
+      contents: write
+      pull-requests: write
+
+    if: github.event.repository.fork == false
+    steps:
+      - name: Checkout current repo
+        uses: actions/checkout@v4
+
+      - name: Download .clang-format from source
+        run: |
+          wget -O .clang-format-core 
https://raw.githubusercontent.com/apache/mynewt-core/refs/heads/master/.clang-format
+
+      - name: Check for changes & replace
+        id: changed
+        run: |
+          if ! cmp -s ".clang-format-core" ".clang-format"; then
+            echo "🔄 .clang-format has changed, updating..."
+            diff -u .clang-format .clang-format-core
+            mv .clang-format-core .clang-format
+            echo "changed=true" >> $GITHUB_OUTPUT
+          else
+            echo "✅ No changes detected."
+            echo "changed=false" >> $GITHUB_OUTPUT
+          fi
+
+      - name: Create Pull Request
+        if: steps.changed.outputs.changed == 'true'
+        uses: peter-evans/create-pull-request@v7
+        with:
+          author: Mynewt Bot <[email protected]>
+          token: ${{ secrets.GITHUB_TOKEN }}
+          commit-message: |
+            ci: Update .clang-format from apache-mynewt-core
+          branch: update-clang-format
+          title: "Update clang format"
+          body: |
+            Syncing the latest .clang-format file from apache-mynewt-core
+
+            [1]: https://github.com/peter-evans/create-pull-request

Reply via email to