Skip to content

Commit 5b30eac

Browse files
authored
Merge branch 'main' into new_theme_1.0.0
2 parents 8d52777 + 14c43c4 commit 5b30eac

1,097 files changed

Lines changed: 218620 additions & 57761 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/test-spec.yml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@
3030
- "applications/firmware_loader/**/*"
3131
- "boards/**/*"
3232
- "cmake/**/*"
33-
- "components/softdevice/s115/**/*"
34-
- "components/softdevice/s145/**/*"
33+
- "components/softdevice/**/*"
3534
- "drivers/**/*"
3635
- "include/**/*"
3736
- "lib/**/*"

.github/workflows/build_samples.yml

Lines changed: 28 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ on:
44
pull_request:
55
types: [push, opened, reopened, synchronize]
66

7+
schedule:
8+
- cron: "0 4 * * 1-5"
9+
710
workflow_dispatch:
811

912
jobs:
@@ -42,25 +45,39 @@ jobs:
4245
west init -l nrf-bm
4346
west update -o=--depth=1 -n
4447
45-
- name: Build samples
48+
- name: Build samples on commit
49+
if: github.event.pull_request
50+
working-directory: nrf-bm
51+
run: |
52+
west twister -T samples --build-only -vc --inline-logs --integration --subset 1/2
53+
west twister -T samples --build-only -vc --inline-logs --integration --subset 2/2
54+
55+
- name: Build samples nightly
56+
if: ${{ github.event.schedule || github.event.workflow_dispatch }}
4657
working-directory: nrf-bm
58+
# Split the run into multiple calls as we have limited space for the workflow
4759
run: |
48-
west twister -T samples --build-only -v --inline-logs --integration
60+
west twister -T samples --build-only -vc --inline-logs --subset 1/15
61+
west twister -T samples --build-only -vc --inline-logs --subset 2/15
62+
west twister -T samples --build-only -vc --inline-logs --subset 3/15
63+
west twister -T samples --build-only -vc --inline-logs --subset 4/15
64+
west twister -T samples --build-only -vc --inline-logs --subset 5/15
65+
west twister -T samples --build-only -vc --inline-logs --subset 6/15
66+
west twister -T samples --build-only -vc --inline-logs --subset 7/15
67+
west twister -T samples --build-only -vc --inline-logs --subset 8/15
68+
west twister -T samples --build-only -vc --inline-logs --subset 9/15
69+
west twister -T samples --build-only -vc --inline-logs --subset 10/15
70+
west twister -T samples --build-only -vc --inline-logs --subset 11/15
71+
west twister -T samples --build-only -vc --inline-logs --subset 12/15
72+
west twister -T samples --build-only -vc --inline-logs --subset 13/15
73+
west twister -T samples --build-only -vc --inline-logs --subset 14/15
74+
west twister -T samples --build-only -vc --inline-logs --subset 15/15
4975
5076
- name: upload-logs
5177
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
5278
if: ${{ failure() && !contains(github.event.pull_request.user.login, 'dependabot[bot]') }}
5379
with:
5480
name: build-logs
55-
path: nrf-bm/twister-out/**/*.log
56-
retention-days: 5
57-
58-
- name: upload-artifacts-dispatch
59-
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
60-
if: contains(github.event.pull_request.user.login, 'dependabot[bot]') != true &&
61-
github.event_name == 'workflow_dispatch'
62-
with:
63-
name: build-artifacts
6481
path: nrf-bm/twister-out/**
6582
retention-days: 5
6683

.github/workflows/compliance.yml

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,22 @@ jobs:
2929
key: ${{ runner.os }}-doc-pip
3030

3131
- name: Install python dependencies
32-
working-directory: ncs/nrf
32+
working-directory: ncs/zephyr
3333
run: |
3434
pip3 install -U pip
3535
pip3 install -U wheel
36-
grep -E "^setuptools" scripts/requirements-fixed.txt | cut -d ' ' -f '1' | xargs pip3 install -U
37-
grep -E "^python-magic=|^junitparser|^lxml|^gitlint|^pylint|^pykwalify|^yamllint|^unidiff|^vermin|^python-dotenv|^ruff|^tabulate" scripts/requirements-fixed.txt | cut -d ' ' -f '1' | xargs pip3 install -U
38-
grep -E "^west" scripts/requirements-fixed.txt | cut -d ' ' -f '1' | xargs pip3 install -U
39-
pip3 show -f west
36+
pip install -r scripts/requirements-compliance.txt
37+
38+
- name: Setup Node.js
39+
uses: actions/setup-node@2028fbc5c25fe9cf00d9f06a71cc4710d4507903 # v6.0.0
40+
with:
41+
node-version: "lts/*"
42+
cache: npm
43+
check-latest: true
44+
cache-dependency-path: ./ncs/zephyr/scripts/ci/package-lock.json
45+
46+
- name: Install Node dependencies
47+
run: npm --prefix ./ncs/zephyr/scripts/ci ci
4048

4149
- name: Run merge commits test
4250
env:
@@ -75,9 +83,8 @@ jobs:
7583
ls -la
7684
git log --pretty=oneline | head -n 10
7785
$ZEPHYR_BASE/scripts/ci/check_compliance.py --annotate \
78-
-e KconfigBasicNoModules -e ClangFormat \
79-
-e SysbuildKconfigBasicNoModules \
80-
-c origin/${BASE_REF}..
86+
-e KconfigBasicNoModules -e ClangFormat -e SysbuildKconfigBasicNoModules \
87+
-e LicenseAndCopyrightCheck -e BinaryFiles -c origin/${BASE_REF}..
8188
8289
- name: upload-results
8390
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4

.github/workflows/docpublish.yml

Lines changed: 19 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -20,32 +20,41 @@ jobs:
2020
- name: Unzip html archive
2121
working-directory: docs
2222
run: |
23-
OUTDIR=$(awk 'NR==1 { if ($3 ~ /^(latest|PR-[0-9]+|[0-9]+\.[0-9a-zA-Z\.\-]+)$/) print $3 }' monitor_*.txt)
23+
OUTDIR=ncs-bm/$(awk 'NR==1 { if ($3 ~ /^(latest|PR-[0-9]+|[0-9]+\.[0-9a-zA-Z\.\-]+)$/) print $3 }' monitor_*.txt)
24+
mkdir -p "$OUTDIR"
2425
echo "OUTDIR=$OUTDIR" >> "$GITHUB_ENV"
2526
unzip legacy-ncs*.zip -d $OUTDIR
27+
find "$OUTDIR" -type l -delete
2628
2729
- name: Obtain PR number
2830
if: ${{ github.event.workflow_run.event == 'pull_request' }}
2931
working-directory: docs
3032
run: |
31-
echo "PR=$(cat pr.txt)" >> "$GITHUB_ENV"
33+
if [ -f pr.txt ]; then
34+
PR=$(head -n 1 pr.txt | tr -cd '0-9')
35+
fi
36+
printf 'PR=%s\n' "$PR" >> "$GITHUB_ENV"
3237
3338
- name: Upload to Azure storage
3439
working-directory: docs
3540
env:
3641
AZCOPY_CONCURRENCY_VALUE: 1024
42+
NCS_DOC_SAS_PRS: ${{ secrets.NCS_DOC_SAS_PRS }}
43+
NCS_DOC_SAS_MAIN: ${{ secrets.NCS_DOC_SAS_MAIN }}
3744
run: |
38-
azcopy cp $OUTDIR "${{ vars.NCS_DOC_STORAGE_URL }}?${{ secrets.NCS_DOC_SAS}}" --recursive=true
45+
if [[ "${{ github.event.workflow_run.event }}" == "pull_request" ]]; then
46+
NCS_BM_DOC_STORAGE_URL="${{ vars.NCS_DOC_PR_STORAGE_URL }}"
47+
azcopy cp ncs-bm "$NCS_BM_DOC_STORAGE_URL?$NCS_DOC_SAS_PRS" --recursive=true
48+
else
49+
NCS_BM_DOC_STORAGE_URL="${{ vars.NCS_DOC_STORAGE_URL }}"
50+
azcopy cp ncs-bm "$NCS_BM_DOC_STORAGE_URL?$NCS_DOC_SAS_MAIN" --recursive=true
51+
fi
3952
4053
- name: Upload Zoomin documentation
54+
if: >
55+
github.event.workflow_run.head_branch == 'main' &&
56+
github.event.workflow_run.head_repository.full_name == github.repository
4157
run: |
42-
for file in docs/monitor*.txt; do
43-
if ! grep -q main ${file}; then
44-
echo "Not targeting main, skipping Zoomin upload"
45-
exit 0
46-
fi
47-
done
48-
4958
# trust server
5059
mkdir -p ~/.ssh
5160
ssh-keyscan upload-v1.zoominsoftware.io >> ~/.ssh/known_hosts

.github/workflows/docs.yml

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -70,15 +70,20 @@ jobs:
7070
# Create documentation upload files
7171
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
7272
ARCHIVE="legacy-ncs-pr-${{ github.event.number }}.zip"
73-
echo "publish2 dev PR-${{ github.event.number }} ${ARCHIVE}" > "${MONITOR}"
74-
echo "${{ github.event.number }}" > pr.txt
7573
else
7674
ARCHIVE="legacy-ncs-${VERSION}.zip"
77-
echo "publish2 main ${VERSION} ${ARCHIVE}" > "${MONITOR}"
7875
fi
7976
8077
zip -rq "${ARCHIVE}" .
8178
79+
# Create monitor/pr files after zip to avoid including them in the archive
80+
if [[ "${{ github.event_name }}" == "pull_request" ]]; then
81+
echo "publish2 dev PR-${{ github.event.number }} ${ARCHIVE}" > "${MONITOR}"
82+
echo "${{ github.event.number }}" > pr.txt
83+
else
84+
echo "publish2 main ${VERSION} ${ARCHIVE}" > "${MONITOR}"
85+
fi
86+
8287
- name: Prepare Zoomin upload
8388
if: ${{ github.event_name == 'push' }}
8489
working-directory: sdk-nrf-bm/nrf-bm
@@ -90,7 +95,7 @@ jobs:
9095
declare -a SPHINX_DOXYGEN=("nrf-bm")
9196
9297
# Doxygen APIs standalone
93-
declare -a DOXYGEN=("s115" "s145")
98+
declare -a DOXYGEN=("s115_nrf54l15" "s145_nrf54l15" "s115_nrf54lm20" "s145_nrf54lm20" "s115_nrf54ls05" "s145_nrf54ls05" "s115_nrf54lv10" "s145_nrf54lv10")
9499
95100
mkdir doc/_build/html-doxygen
96101
@@ -161,7 +166,7 @@ jobs:
161166
working-directory: sdk-nrf-bm/nrf-bm
162167
run: |
163168
COMMENT="comment.txt"
164-
PREFIX="https://ncsbmdoc.z6.web.core.windows.net/PR-${{ github.event.pull_request.number }}/"
169+
PREFIX="https://ncsbmdoc.z6.web.core.windows.net/ncs-bm/PR-${{ github.event.pull_request.number }}/"
165170
166171
echo "You can find the documentation preview for this PR [here](${PREFIX})." >> $COMMENT
167172

.github/workflows/manifest.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,9 @@ jobs:
1111
name: Manifest
1212
steps:
1313
- name: Checkout the code
14-
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
14+
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
1515
with:
1616
path: ncs/nrf-bm
17-
ref: ${{ github.event.pull_request.head.sha }}
1817
fetch-depth: 0
1918
persist-credentials: false
2019

@@ -29,7 +28,7 @@ jobs:
2928
west init -l . || true
3029
3130
- name: Manifest
32-
uses: zephyrproject-rtos/action-manifest@ea38f222cddfbbb9debb5f0239f4139ae2677ebb # v1.8.0
31+
uses: zephyrproject-rtos/action-manifest@09983f53d3d878791aa37a7755ae44d695f4c1e5 # v2.0.0
3332
with:
3433
github-token: ${{ secrets.NCS_GITHUB_TOKEN }}
3534
manifest-path: 'west.yml'

.github/workflows/src-mirror.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,4 +39,4 @@ jobs:
3939
artifactory-pass: ${{ secrets.COM_NORDICSEMI_FILES_PASSWORD }}
4040
stable: ${{ env.STABLE }}
4141
repository-type: 'nrf-bm'
42-
toolchain-version: 'v3.2.0'
42+
toolchain-version: 'v3.3.0'

.github/workflows/twister.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
- runs-on=${{ github.run_id }}
1414
- runner=64cpu-linux-x64
1515
# Keep aligned with target NCS version
16-
container: ghcr.io/nrfconnect/sdk-nrf-toolchain:v3.2.0
16+
container: ghcr.io/nrfconnect/sdk-nrf-toolchain:v3.3.0
1717
defaults:
1818
run:
1919
# Bash shell is needed to set toolchain related environment variables in docker container

.gitlint

Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
# All these sections are optional, edit this file as you like.
2+
[general]
3+
ignore=title-trailing-punctuation, T3, title-max-length, T1, body-hard-tab, B3, B1
4+
# verbosity should be a value between 1 and 3, the commandline -v flags take precedence over this
5+
verbosity = 3
6+
# By default gitlint will ignore merge commits. Set to 'false' to disable.
7+
ignore-merge-commits=false
8+
ignore-revert-commits=false
9+
ignore-fixup-commits=false
10+
ignore-squash-commits=false
11+
# Enable debug mode (prints more output). Disabled by default
12+
debug = false
13+
14+
# Set the extra-path where gitlint will search for user defined rules
15+
# See http://jorisroovers.github.io/gitlint/user_defined_rules for details
16+
extra-path=../zephyr/scripts/gitlint
17+
18+
[title-max-length-no-revert]
19+
line-length=75
20+
21+
[body-min-line-count]
22+
min-line-count=1
23+
24+
[body-max-line-count]
25+
max-line-count=200
26+
27+
[title-starts-with-subsystem]
28+
regex = ^(?!subsys:)(([^:]+):)(\s([^:]+):)*\s(.+)$
29+
30+
[title-must-not-contain-word]
31+
# Comma-separated list of words that should not occur in the title. Matching is case
32+
# insensitive. It's fine if the keyword occurs as part of a larger word (so "WIPING"
33+
# will not cause a violation, but "WIP: my title" will.
34+
words=wip
35+
36+
[title-match-regex]
37+
# python like regex (https://docs.python.org/2/library/re.html) that the
38+
# commit-msg title must be matched to.
39+
# Note that the regex can contradict with other rules if not used correctly
40+
# (e.g. title-must-not-contain-word).
41+
#regex=^US[0-9]*
42+
43+
[max-line-length-with-exceptions]
44+
# B1 = body-max-line-length
45+
line-length=72
46+
47+
[body-min-length]
48+
min-length=3
49+
50+
[body-is-missing]
51+
# Whether to ignore this rule on merge commits (which typically only have a title)
52+
# default = True
53+
ignore-merge-commits=false
54+
55+
[body-changed-file-mention]
56+
# List of files that need to be explicitly mentioned in the body when they are changed
57+
# This is useful for when developers often erroneously edit certain files or git submodules.
58+
# By specifying this rule, developers can only change the file when they explicitly reference
59+
# it in the commit message.
60+
#files=gitlint/rules.py,README.md

CODEOWNERS

Lines changed: 24 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@
4444
/include/*.h @nrfconnect/ncs-bm
4545
/include/bm/ @nrfconnect/ncs-bm
4646
/include/bm/bluetooth/ @nrfconnect/ncs-bm
47-
/include/bm/settings/ @nrfconnect/ncs-eris
47+
/include/bm/shell/ @nrfconnect/ncs-bm
48+
/include/bm/storage/bm_rmem.h @nrfconnect/ncs-eris
4849

4950
# Libraries
5051
/lib/bluetooth/ble_adv/ @nrfconnect/ncs-bm
@@ -58,6 +59,7 @@
5859
/lib/bluetooth/ble_scan/ @nrfconnect/ncs-bm
5960
/lib/bluetooth/peer_manager/ @nrfconnect/ncs-bm
6061
/lib/bm_buttons/ @nrfconnect/ncs-bm
62+
/lib/bm_gpiote/ @nrfconnect/ncs-bm
6163
/lib/bm_timer/ @nrfconnect/ncs-bm
6264
/lib/boot_banner/ @nrfconnect/ncs-bm
6365
/lib/bm_scheduler/ @nrfconnect/ncs-bm
@@ -79,7 +81,7 @@
7981

8082
# Scripts
8183
/scripts/ @nrfconnect/ncs-bm
82-
/scripts/pytest_plugins/ @nrfconnect/ncs-eris
84+
/scripts/pytest_plugins/ @nrfconnect/ncs-eris @nrfconnect/ncs-eris-test
8385
/scripts/requirements-*.txt @nrfconnect/ncs-co-build-system
8486

8587
# Subsystems
@@ -89,30 +91,35 @@
8991
/subsys/logging/ @nrfconnect/ncs-bm
9092
/subsys/mgmt/mcumgr/ @nrfconnect/ncs-eris
9193
/subsys/nfc/ @nrfconnect/ncs-bm
92-
/subsys/settings/ @nrfconnect/ncs-eris
94+
/subsys/shell/ @nrfconnect/ncs-bm
9395
/subsys/softdevice/ @nrfconnect/ncs-bm
9496
/subsys/softdevice_handler/ @nrfconnect/ncs-bm
9597
/subsys/storage/bm_storage/ @nrfconnect/ncs-bm
98+
/subsys/storage/ble_rmem/ @nrfconnect/ncs-eris
99+
/subsys/storage/bm_rmem/ @nrfconnect/ncs-eris
96100
/subsys/storage/flash_map/ @nrfconnect/ncs-eris
97101

98102
# Sysbuild
99103
/sysbuild/ @nrfconnect/ncs-co-build-system
100104

101105
# Tests
102-
/tests/lib/ @nrfconnect/ncs-bm
103-
/tests/lib/bluetooth/ble_adv/ @nrfconnect/ncs-bm-test
104-
/tests/lib/bluetooth/ble_conn_params/ @nrfconnect/ncs-bm
105-
/tests/lib/bluetooth/ble_conn_state/ @nrfconnect/ncs-bm
106-
/tests/lib/bluetooth/ble_gq/ @nrfconnect/ncs-bm
107-
/tests/lib/bluetooth/ble_db_discovery/ @nrfconnect/ncs-bm
108-
/tests/lib/bluetooth/ble_qwr/ @nrfconnect/ncs-bm
109-
/tests/lib/bluetooth/ble_racp/ @nrfconnect/ncs-bm
110-
/tests/lib/bluetooth/ble_radio_notif/ @nrfconnect/ncs-bm
111-
/tests/lib/bluetooth/ble_scan/ @nrfconnect/ncs-bm
112-
/tests/subsys/bluetooth/services/ @nrfconnect/ncs-bm @nrfconnect/ncs-bm-test
113-
/tests/subsys/fs/bm_zms/ @nrfconnect/ncs-bm @rghaddab
114-
/tests/subsys/kmu/ @nrfconnect/ncs-eris
115-
/tests/subsys/storage/bm_storage/ @nrfconnect/ncs-bm
106+
/tests/lib/ @nrfconnect/ncs-bm
107+
/tests/subsys/fs/bm_zms/ @nrfconnect/ncs-bm @rghaddab
108+
/tests/subsys/kmu/ @nrfconnect/ncs-eris @nrfconnect/ncs-eris-test
109+
/tests/unit/lib/ @nrfconnect/ncs-bm
110+
/tests/unit/lib/bluetooth/ble_adv/ @nrfconnect/ncs-bm-test
111+
/tests/unit/lib/bluetooth/ble_conn_params/ @nrfconnect/ncs-bm
112+
/tests/unit/lib/bluetooth/ble_conn_state/ @nrfconnect/ncs-bm
113+
/tests/unit/lib/bluetooth/ble_gq/ @nrfconnect/ncs-bm
114+
/tests/unit/lib/bluetooth/ble_db_discovery/ @nrfconnect/ncs-bm
115+
/tests/unit/lib/bluetooth/ble_qwr/ @nrfconnect/ncs-bm
116+
/tests/unit/lib/bluetooth/ble_racp/ @nrfconnect/ncs-bm
117+
/tests/unit/lib/bluetooth/ble_radio_notif/ @nrfconnect/ncs-bm
118+
/tests/unit/lib/bluetooth/ble_scan/ @nrfconnect/ncs-bm
119+
/tests/unit/subsys/bluetooth/services/ @nrfconnect/ncs-bm @nrfconnect/ncs-bm-test
120+
/tests/subsys/bootloader/upgrade/ @nrfconnect/ncs-eris @nrfconnect/ncs-eris-test
121+
/tests/subsys/storage/bm_rmem/ @nrfconnect/ncs-eris @nrfconnect/ncs-eris-test
122+
/tests/unit/subsys/storage/bm_storage*/ @nrfconnect/ncs-bm
116123

117124
# Zephyr module
118125
/zephyr/ @nrfconnect/ncs-co-build-system

0 commit comments

Comments
 (0)