Skip to content

Commit 66fc124

Browse files
[nrf noup] Build OTA provider for arm64 platform
Let's build Matter OTA Provider application for arm64 platform. Signed-off-by: Arkadiusz Balys <arkadiusz.balys@nordicsemi.no>
1 parent 64e9bb2 commit 66fc124

1 file changed

Lines changed: 70 additions & 55 deletions

File tree

.github/workflows/release_tools.yaml

Lines changed: 70 additions & 55 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ jobs:
3636
DEBIAN_FRONTEND: noninteractive
3737

3838
container:
39-
image: ubuntu:22.04
39+
image: ghcr.io/project-chip/chip-build:174
4040
volumes:
4141
- "/tmp/log_output:/tmp/test_logs"
4242
- "/tmp/output_binaries:/tmp/output_binaries"
@@ -47,7 +47,9 @@ jobs:
4747
run: |
4848
export CODENAME=$(cat /etc/os-release | grep UBUNTU_CODENAME | cut -d= -f2)
4949
apt update
50-
apt install -y --no-install-recommends gnupg ca-certificates
50+
apt install -y --no-install-recommends gnupg ca-certificates curl
51+
curl -fsSL https://deb.nodesource.com/setup_20.x | bash -
52+
apt install -y nodejs
5153
echo "deb http://ppa.launchpad.net/deadsnakes/ppa/ubuntu ${CODENAME} main" > /etc/apt/sources.list.d/deadsnakes-ubuntu-ppa-${CODENAME}.list
5254
apt-key adv --keyserver keyserver.ubuntu.com --recv-keys BA6932366A755776
5355
apt update
@@ -73,64 +75,77 @@ jobs:
7375
apt install -y --no-install-recommends -o APT::Immediate-Configure=false g++-aarch64-linux-gnu libgirepository1.0-dev
7476
dpkg --add-architecture arm64
7577
apt install -y --no-install-recommends -o APT::Immediate-Configure=false libavahi-client-dev:arm64 libglib2.0-dev:arm64 libssl-dev:arm64 libreadline-dev:arm64
76-
- name: Build x64 CHIP Tool with debug logs enabled
78+
# - name: Build x64 CHIP Tool with debug logs enabled
79+
# timeout-minutes: 10
80+
# run: |
81+
# scripts/run_in_build_env.sh "gn gen out/chiptool_x64_debug --args='chip_mdns=\"platform\" chip_crypto=\"mbedtls\" symbol_level=0 is_debug=false enable_im_pretty_print=true'"
82+
# scripts/run_in_build_env.sh "ninja -C out/chiptool_x64_debug chip-tool"
83+
# strip out/chiptool_x64_debug/chip-tool -o /tmp/output_binaries/chip-tool_x64
84+
# - name: Build x64 OTA Provider
85+
# timeout-minutes: 10
86+
# run: |
87+
# scripts/run_in_build_env.sh "gn gen out/chipotaprovider_x64 --args='symbol_level=0 is_debug=false chip_crypto=\"mbedtls\"' --root=examples/ota-provider-app/linux"
88+
# scripts/run_in_build_env.sh "ninja -C out/chipotaprovider_x64 chip-ota-provider-app"
89+
# strip out/chipotaprovider_x64/chip-ota-provider-app -o /tmp/output_binaries/chip-ota-provider-app_x64
90+
# - name: Build x64 Chip Cert
91+
# timeout-minutes: 10
92+
# run: |
93+
# scripts/run_in_build_env.sh "gn gen out/chipcert_x64 --args='symbol_level=0 is_debug=false chip_crypto=\"boringssl\"'"
94+
# scripts/run_in_build_env.sh "ninja -C out/chipcert_x64 chip-cert"
95+
# strip out/chipcert_x64/chip-cert -o /tmp/output_binaries/chip-cert_x64
96+
# - name: Build x64 Python Wheels
97+
# timeout-minutes: 10
98+
# run: |
99+
# scripts/build_python.sh --enable_ble true --chip_detail_logging true --chip_mdns platform --enable_wifi_paf true
100+
# python3 -m zipfile -c /tmp/output_binaries/python_matter_controller.zip \
101+
# out/python_lib/controller/python/matter*.whl \
102+
# out/python_lib/python/obj/scripts/py_matter_yamltests/matter-yamltests._build_wheel/matter_yamltests-*.whl \
103+
# out/python_lib/obj/src/python_testing/matter_testing_infrastructure/matter-testing._build_wheel/matter_testing-*.whl \
104+
# out/python_lib/python/obj/scripts/py_matter_idl/matter-idl._build_wheel/matter_idl-*.whl
105+
# - name: Build arm64 CHIP Tool with debug logs enabled
106+
# timeout-minutes: 10
107+
# run: |
108+
# scripts/run_in_build_env.sh "gn gen out/chiptool_arm64_debug --args='chip_mdns=\"platform\"
109+
# custom_toolchain=\"//build/toolchain/custom\"
110+
# target_cc=\"aarch64-linux-gnu-gcc\"
111+
# target_cxx=\"aarch64-linux-gnu-g++\"
112+
# target_ar=\"aarch64-linux-gnu-ar\"
113+
# target_cpu=\"arm64\"
114+
# symbol_level=0
115+
# is_debug=false
116+
# enable_im_pretty_print=true
117+
# chip_crypto=\"mbedtls\"'"
118+
# scripts/run_in_build_env.sh "ninja -C out/chiptool_arm64_debug chip-tool"
119+
# aarch64-linux-gnu-strip out/chiptool_arm64_debug/chip-tool -o /tmp/output_binaries/chip-tool_arm64
120+
- name: Build arm64 OTA Provider
77121
timeout-minutes: 10
78122
run: |
79-
scripts/run_in_build_env.sh "gn gen out/chiptool_x64_debug --args='chip_mdns=\"platform\" chip_crypto=\"mbedtls\" symbol_level=0 is_debug=false enable_im_pretty_print=true'"
80-
scripts/run_in_build_env.sh "ninja -C out/chiptool_x64_debug chip-tool"
81-
strip out/chiptool_x64_debug/chip-tool -o /tmp/output_binaries/chip-tool_x64
82-
- name: Build x64 OTA Provider
83-
timeout-minutes: 10
84-
run: |
85-
scripts/run_in_build_env.sh "gn gen out/chipotaprovider_x64 --args='symbol_level=0 is_debug=false chip_crypto=\"mbedtls\"' --root=examples/ota-provider-app/linux"
86-
scripts/run_in_build_env.sh "ninja -C out/chipotaprovider_x64 chip-ota-provider-app"
87-
strip out/chipotaprovider_x64/chip-ota-provider-app -o /tmp/output_binaries/chip-ota-provider-app_x64
88-
- name: Build x64 Chip Cert
89-
timeout-minutes: 10
90-
run: |
91-
scripts/run_in_build_env.sh "gn gen out/chipcert_x64 --args='symbol_level=0 is_debug=false chip_crypto=\"boringssl\"'"
92-
scripts/run_in_build_env.sh "ninja -C out/chipcert_x64 chip-cert"
93-
strip out/chipcert_x64/chip-cert -o /tmp/output_binaries/chip-cert_x64
94-
- name: Build x64 Python Wheels
95-
timeout-minutes: 10
96-
run: |
97-
scripts/build_python.sh --enable_ble true --chip_detail_logging true --chip_mdns platform --enable_wifi_paf true
98-
python3 -m zipfile -c /tmp/output_binaries/python_matter_controller.zip \
99-
out/python_lib/controller/python/matter*.whl \
100-
out/python_lib/python/obj/scripts/py_matter_yamltests/matter-yamltests._build_wheel/matter_yamltests-*.whl \
101-
out/python_lib/obj/src/python_testing/matter_testing_infrastructure/matter-testing._build_wheel/matter_testing-*.whl \
102-
out/python_lib/python/obj/scripts/py_matter_idl/matter-idl._build_wheel/matter_idl-*.whl
103-
- name: Build arm64 CHIP Tool with debug logs enabled
104-
timeout-minutes: 10
105-
run: |
106-
scripts/run_in_build_env.sh "gn gen out/chiptool_arm64_debug --args='chip_mdns=\"platform\"
107-
custom_toolchain=\"//build/toolchain/custom\"
123+
scripts/run_in_build_env.sh "gn gen out/chipotaprovider_arm64 --args='custom_toolchain=\"../../../build/toolchain/custom\"
108124
target_cc=\"aarch64-linux-gnu-gcc\"
109125
target_cxx=\"aarch64-linux-gnu-g++\"
110126
target_ar=\"aarch64-linux-gnu-ar\"
111127
target_cpu=\"arm64\"
112128
symbol_level=0
113129
is_debug=false
114-
enable_im_pretty_print=true
115-
chip_crypto=\"mbedtls\"'"
116-
scripts/run_in_build_env.sh "ninja -C out/chiptool_arm64_debug chip-tool"
117-
aarch64-linux-gnu-strip out/chiptool_arm64_debug/chip-tool -o /tmp/output_binaries/chip-tool_arm64
118-
- name: Upload release packages
119-
uses: softprops/action-gh-release@v1
120-
if: github.event.inputs.publishRelease == 'true'
121-
with:
122-
files: /tmp/output_binaries/*
123-
fail_on_unmatched_files: true
124-
tag_name: "${{ github.event.inputs.commit }}"
125-
env:
126-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
127-
- name: Upload packages
128-
uses: actions/upload-artifact@v4
129-
if: github.event.inputs.publishRelease == 'false'
130-
with:
131-
path: /tmp/output_binaries
132-
name: "test-${{ github.event.inputs.commit }}"
133-
if-no-files-found: error
134-
overwrite: true
135-
env:
136-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
130+
chip_crypto=\"mbedtls\"' --root=examples/ota-provider-app/linux"
131+
scripts/run_in_build_env.sh "ninja -C out/chipotaprovider_arm64 chip-ota-provider-app"
132+
aarch64-linux-gnu-strip out/chipotaprovider_arm64/chip-ota-provider-app -o /tmp/output_binaries/chip-ota-provider-app_arm64
133+
# - name: Upload release packages
134+
# uses: softprops/action-gh-release@v1
135+
# if: github.event.inputs.publishRelease == 'true'
136+
# with:
137+
# files: /tmp/output_binaries/*
138+
# fail_on_unmatched_files: true
139+
# tag_name: "${{ github.event.inputs.commit }}"
140+
# env:
141+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
142+
# - name: Upload packages
143+
# uses: actions/upload-artifact@v4
144+
# if: github.event.inputs.publishRelease == 'false'
145+
# with:
146+
# path: /tmp/output_binaries
147+
# name: "test-${{ github.event.inputs.commit }}"
148+
# if-no-files-found: error
149+
# overwrite: true
150+
# env:
151+
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

0 commit comments

Comments
 (0)