You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mynewt.apache.org by ja...@apache.org on 2023/01/31 15:17:21 UTC

[mynewt-nimble] branch master updated (2f984a3c -> 95a87533)

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

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


    from 2f984a3c nimble/ll/test: Cleanup tests
     new 864018bf ci: Unify tests with mynewt-core repository
     new 95a87533 README: Add GH Actions badges

The 2 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .github/check_style.py                             | 142 ---------------------
 .../{check_style.yml => compliance_check.yml}      |  22 +++-
 README.md                                          |  14 ++
 3 files changed, 35 insertions(+), 143 deletions(-)
 delete mode 100755 .github/check_style.py
 rename .github/workflows/{check_style.yml => compliance_check.yml} (57%)


[mynewt-nimble] 01/02: ci: Unify tests with mynewt-core repository

Posted by ja...@apache.org.
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 864018bf5aea3c1bd7ad161cfdbebd151f539a23
Author: Szymon Janc <sz...@codecoup.pl>
AuthorDate: Tue Jan 31 13:36:59 2023 +0100

    ci: Unify tests with mynewt-core repository
    
    Use check scripts from core repository.
---
 .github/check_style.py                             | 142 ---------------------
 .../{check_style.yml => compliance_check.yml}      |  22 +++-
 2 files changed, 21 insertions(+), 143 deletions(-)

diff --git a/.github/check_style.py b/.github/check_style.py
deleted file mode 100755
index 7b2fa5b8..00000000
--- a/.github/check_style.py
+++ /dev/null
@@ -1,142 +0,0 @@
-#!/usr/bin/python
-
-#
-# 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.
-#
-
-import os.path
-import re
-import subprocess
-import tempfile
-import sys
-
-INFO_URL = "https://github.com/apache/mynewt-core/blob/master/CODING_STANDARDS.md"
-
-def get_lines_range(m: re.Match) -> range:
-    first = int(m.group(1))
-
-    if m.group(2) is not None:
-        last = first + int(m.group(2))
-    else:
-        last = first + 1
-
-    return range(first, last)
-
-
-def run_cmd(cmd: str) -> list[str]:
-    out = subprocess.check_output(cmd, text=True, shell=True)
-    return out.splitlines()
-
-
-def check_file(fname: str, commit: str, upstream: str) -> list[str]:
-    ret = []
-
-    diff_lines = set()
-    for s in run_cmd(f"git diff -U0 {upstream} {commit} -- {fname}"):
-        m = re.match(r"^@@ -\d+(?:,\d+)? \+(\d+)(?:,(\d+))? @@", s)
-        if not m:
-            continue
-        diff_lines.update(get_lines_range(m))
-
-    with tempfile.NamedTemporaryFile(suffix=os.path.basename(fname)) as tmpf:
-        lines = subprocess.check_output(f"git show {commit}:{fname}",
-                                        shell=True)
-        tmpf.write(lines)
-
-        in_chunk = False
-
-        for s in run_cmd(f"uncrustify -q -c uncrustify.cfg -f {tmpf.name} | "
-                         f"diff -u0 -p {tmpf.name} - || true"):
-            m = re.match(r"^@@ -(\d+)(?:,(\d+))? \+\d+(?:,\d+)? @@", s)
-            if not m:
-                if in_chunk:
-                    ret.append(s)
-                continue
-
-            in_chunk = len(diff_lines & set(get_lines_range(m))) != 0
-
-            if in_chunk:
-                ret.append(s)
-
-    return ret
-
-
-def is_ignored(fname: str, ign_dirs: list[str]) -> bool:
-    if not re.search(r"\.(c|cpp|h|hpp)$", fname):
-        return True
-
-    for d in ign_dirs:
-        if fname.startswith(d):
-            return True
-
-    return False
-
-
-def main() -> bool:
-    if len(sys.argv) > 1:
-        commit = sys.argv[1]
-    else:
-        commit = "HEAD"
-    if len(sys.argv) > 2:
-        upstream = sys.argv[2]
-    else:
-        upstream = "origin/master"
-
-    mb = run_cmd(f"git merge-base {upstream} {commit}")
-    upstream = mb[0]
-
-    cfg_fname = os.path.join(os.path.dirname(__file__), "../.style_ignored_dirs")
-    with open(cfg_fname, "r") as x:
-        ign_dirs = [s.strip() for s in x.readlines() if
-                    s.strip() and not s.startswith("#")]
-
-    results_ok = []
-    results_fail = []
-    results_ign = []
-
-    files = run_cmd(f"git diff --diff-filter=AM --name-only {upstream} {commit}")
-    for fname in files:
-        if is_ignored(fname, ign_dirs):
-            results_ign.append(fname)
-            continue
-
-        diff = check_file(fname, commit, upstream)
-        if len(diff) == 0:
-            results_ok.append(fname)
-        else:
-            results_fail.append((fname, diff))
-
-    for fname in results_ign:
-        print(f"\033[90m[ NA ] {fname}\033[0m")
-    for fname in results_ok:
-        print(f"\033[32m[ OK ] {fname}\033[0m")
-    for fname, diff in results_fail:
-        print(f"\033[31m[FAIL] {fname}\033[0m")
-        print("\n".join(diff))
-        print()
-
-    if len(results_fail) > 0:
-        print(f"\033[31mYour code has style problems, see {INFO_URL} for "
-              f"details.\033[0m")
-
-    return len(results_fail) == 0
-
-
-if __name__ == "__main__":
-    if not main():
-        sys.exit(1)
diff --git a/.github/workflows/check_style.yml b/.github/workflows/compliance_check.yml
similarity index 57%
rename from .github/workflows/check_style.yml
rename to .github/workflows/compliance_check.yml
index ce713bb4..edacc93f 100644
--- a/.github/workflows/check_style.yml
+++ b/.github/workflows/compliance_check.yml
@@ -33,6 +33,26 @@ jobs:
         run: |
              sudo apt-get update
              sudo apt-get install -y uncrustify
+             mkdir repos
+             git clone --depth=1 https://github.com/apache/mynewt-core repos/apache-mynewt-core
       - name: check style
         run: |
-             .github/check_style.py
+             ./repos/apache-mynewt-core/.github/check_style.py
+
+  style_license:
+    name: Licensing
+    runs-on: ubuntu-latest
+    steps:
+      - uses: actions/checkout@v3
+        with:
+          fetch-depth: 0
+      - name: Install Dependencies
+        run: |
+             mkdir repos
+             git clone --depth=1 https://github.com/apache/mynewt-core repos/apache-mynewt-core
+             wget https://dlcdn.apache.org//creadur/apache-rat-0.15/apache-rat-0.15-bin.tar.gz
+             tar zxf apache-rat-0.15-bin.tar.gz apache-rat-0.15/apache-rat-0.15.jar
+             mv apache-rat-0.15/apache-rat-0.15.jar apache-rat.jar
+      - name: check licensing
+        run: |
+             ./repos/apache-mynewt-core/.github/check_license.py


[mynewt-nimble] 02/02: README: Add GH Actions badges

Posted by ja...@apache.org.
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 95a875335ad8f98ada8c572bc2720fa74bdc647b
Author: Szymon Janc <sz...@codecoup.pl>
AuthorDate: Tue Jan 31 13:40:30 2023 +0100

    README: Add GH Actions badges
    
    Makes it easier to catch broken CI on master branch.
---
 README.md | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/README.md b/README.md
index d5ddbec8..952a35ca 100644
--- a/README.md
+++ b/README.md
@@ -25,6 +25,20 @@
 
 ## Overview
 
+<a href="https://github.com/apache/mynewt-nimble/actions/workflows/build_targets.yml">
+  <img src="https://github.com/apache/mynewt-nimble/actions/workflows/build_targets.yml/badge.svg">
+<a/>
+
+<a href="https://github.com/apache/mynewt-nimble/actions/workflows/build_ports.yml">
+  <img src="https://github.com/apache/mynewt-nimble/actions/workflows/build_ports.yml/badge.svg">
+<a/>
+
+<a href="https://github.com/apache/mynewt-nimble/actions/workflows/newt_test_all.yml/badge.svg">
+  <img src="https://github.com/apache/mynewt-nimble/actions/workflows/newt_test_all.yml/badge.svg">
+<a/>
+
+<p>
+
 Apache NimBLE is an open-source Bluetooth 5.1 stack (both Host & Controller)
 that completely replaces the proprietary SoftDevice on Nordic chipsets. It is
 part of [Apache Mynewt project](https://github.com/apache/mynewt-core).