Skip to content

Commit

Permalink
Merge 2.10+spring2024 (#253)
Browse files Browse the repository at this point in the history
* Fixed image tag for both frontend and backend

* Updated sample semi-automated command (#190)

* Update Matter_TH_User_Guide.adoc

* Add files via upload

* Updated backend SHA (#193)

* Updated backend SHA in docker-compose file

* Change the user guide to emphasize the new distribution method. (#197)

* user guide adjustements for the new distribution approach.

* Update docs/Matter_TH_User_Guide/Matter_TH_User_Guide.adoc

Co-authored-by: Carolina Lopes <[email protected]>

---------

Co-authored-by: Carolina Lopes <[email protected]>

* Add data model mapping to docker command (#199)

* Update user guide with data model volume mapping

* Fix mapping

* Updated backend submodule

* Updated docker-compose

* Update mapping in docker run command (#201)

* Fix installation error: Remove libssl-dev version (#203)

* Remove lib version

* adding comments

* Using satisfy

* Using satisfy

* uncomment the last line

* remove unsed

* Adding linux-modules-extra-raspi package

* Updated backend

* Updated backend submodule

* Updated docker compose file

* Revert backend sha in docker compose gile

* Udated back sha in docker-compose file

* Update backend

* Fix: Backend tag into docker compose file (#236)

* update docker compose
fix update.sh to allow use tag withou branch linked

* update backend commit

* update backend commit

* Update depedencies script

* Update script improviment

* Remove version (obsolete)

* Update backend

* update docker compose

* Update user guide

* Build docker iamges using cache

* Update user guide (#251)

* update user guide pdf file

* Fix backend sha

* Remove unnecessary file

* Remove unnecessary file

---------

Co-authored-by: Suraj Seenivasan <[email protected]>
Co-authored-by: Romulo Quidute Filho <[email protected]>
Co-authored-by: Romulo Quidute Filho <[email protected]>
Co-authored-by: fabiowmm <[email protected]>
Co-authored-by: Carolina Lopes <[email protected]>
  • Loading branch information
6 people authored Apr 19, 2024
1 parent d060903 commit cc01495
Show file tree
Hide file tree
Showing 7 changed files with 90 additions and 23 deletions.
2 changes: 1 addition & 1 deletion backend
2 changes: 1 addition & 1 deletion docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ services:
- node.labels.${STACK_NAME?Variable not set}.app-db-data == true

backend:
image: 'ghcr.io/project-chip/csa-certification-tool-backend:e182d0f'
image: 'ghcr.io/project-chip/csa-certification-tool-backend:5f28838'
ports:
- "8888:8888"
- "50000:50000"
Expand Down
39 changes: 25 additions & 14 deletions docs/Matter_TH_User_Guide/Matter_TH_User_Guide.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -37,13 +37,13 @@ endif::[]
[discrete]
== *Test-Harness Links*
[cols=".^15%,.^18%,.^12%,.^20%,.^10%,.^25%"]
[cols=".^15%,.^20%,.^10%,.^20%,.^10%,.^25%"]
|===
| *Matter Version* | *TH Version* | *TH image location* | *Supporting Documentation* | *SDK commit* | *Comments*
| Matter 1.0 | v2.6 | https://drive.google.com/file/d/10YkV4mDulhLoA6RJOKZNNKWhHTH1tOfu/view?usp=drive_link[link] | https://groups.csa-iot.org/wg/matter-csg/document/folder/2947[Causeway Link] | 96c9357 |
| Matter 1.1 | v2.8.1 | https://drive.google.com/file/d/15fU3L7QE-MNBslf53A_6sFgn1Wq0Pvqd/view?usp=drive_link[link] | https://groups.csa-iot.org/wg/matter-csg/document/folder/2470[Causeway Link] | 5a21d17 |
| Matter 1.2 | TH-Fall2023 | https://drive.google.com/file/d/1WTjhc7xbYt18RvpABU3_r47uqOLd7NN1/view?usp=drive_link[link] | https://groups.csa-iot.org/wg/matter-csg/document/folder/2756[Causeway Link] | 19771ed |
| Matter 1.3 | v2.10-beta3+spring2024| Not Applicable | https://groups.csa-iot.org/wg/matter-csg/document/folder/3314[Causeway Link] | 9f6d627 | To install, substitute the TH version name for _<Target_Branch/Tag>_ in section <<fresh_install>>
| *Matter Version* | *TH Version* | *TH image location* | *Supporting Documentation* | *SDK commit* | *Comments*
| Matter 1.0 | v2.6 | https://drive.google.com/file/d/10YkV4mDulhLoA6RJOKZNNKWhHTH1tOfu/view?usp=drive_link[link] | https://groups.csa-iot.org/wg/matter-csg/document/folder/2947[Causeway Link] | 96c9357 |
| Matter 1.1 | v2.8.1 | https://drive.google.com/file/d/15fU3L7QE-MNBslf53A_6sFgn1Wq0Pvqd/view?usp=drive_link[link] | https://groups.csa-iot.org/wg/matter-csg/document/folder/2470[Causeway Link] | 5a21d17 |
| Matter 1.2 | TH-Fall2023 | https://drive.google.com/file/d/1WTjhc7xbYt18RvpABU3_r47uqOLd7NN1/view?usp=drive_link[link] | https://groups.csa-iot.org/wg/matter-csg/document/folder/2756[Causeway Link] | 19771ed |
| Matter 1.3 | v2.10+spring2024 | N/A | https://groups.csa-iot.org/wg/matter-csg/document/folder/3314[Causeway Link] | 11f94c3 | To install, use the tag "v2.10+spring2024" in the instructions of <<fresh_install>>
|===
Expand Down Expand Up @@ -78,11 +78,13 @@ endif::[]
| 17 | 04-Jan-2024 | [Apple]Romulo Quidute | * Renamed Custom Yaml test section to Customized Test Scripts and also added Custom Python test information.
| 18 | 05-Jan-2024 | [Apple]Carolina Lopes | * Added information about the SDK Python Test suites.
| 19 | 30-Jan-2024 | [Apple]Romulo Quidute | * Updated some referenced links.
| 20 | 07-fev-2024 | [Apple]Hilton Lima | * Added 'Common Test Failures' section for SDK tests.
| 21 | 07-fev-2024 | [Apple]Carolina Lopes | * Added 'Bringing up the Matter Python REPL' section.
| 22 | 15-fev-2024 | [Apple]Hilton Lima | * Updated 'TH Installation on Raspberry Pi' section.
| 23 | 26-fev-2024 | [Apple]Carolina Lopes | * Added volume mapping for data model XML files on docker run commands for SDK containter.
| 23 | 27-fev-2024 | [Apple]Carolina Lopes | * Updated mapping in docker run command for SDK container.
| 20 | 07-Fev-2024 | [Apple]Hilton Lima | * Added 'Common Test Failures' section for SDK tests.
| 21 | 07-Fev-2024 | [Apple]Carolina Lopes | * Added 'Bringing up the Matter Python REPL' section.
| 22 | 15-Fev-2024 | [Apple]Hilton Lima | * Updated 'TH Installation on Raspberry Pi' section.
| 23 | 26-Fev-2024 | [Apple]Carolina Lopes | * Added volume mapping for data model XML files on docker run commands for SDK containter.
| 24 | 27-Fev-2024 | [Apple]Carolina Lopes | * Updated mapping in docker run command for SDK container.
| 25 | 17-Apr-2024 | [Apple]Hilton Lima | * Updated Test Harness links related to final release of Spring 2024.
| 26 | 18-Apr-2024 | [Apple]Hilton Lima | * Update section TH installation without a Raspberry Pi.
|===
<<<
Expand Down Expand Up @@ -171,7 +173,7 @@ Refer to <<bringing-up-of-matter-node-dut-for-certification-testing, Section 5,
For hobby developers who want to get acquainted with certification tools/process/TC’s, can spin DUT’s using the example apps provided in the SDK. Refer to the instructions to set up one https://groups.csa-iot.org/wg/matter-csg/document/folder/2756[here].
TH runs on Ubuntu 22.04 Server LTS. The official installation method uses a Raspberry Pi (<<fresh_install>>), but there's an alternative method used in the tool's development that uses a virtual machine instead (<<th-installation-without-a-raspberry-pi>>). Keep in mind that thread networking is not officially supported in VM installations at the moment.
TH runs on Ubuntu Server 22.04 LTS (64-bit). The official installation method uses a Raspberry Pi (<<fresh_install>>), but there's an alternative method used in the tool's development that uses a virtual machine instead (<<th-installation-without-a-raspberry-pi>>). Keep in mind that thread networking is not officially supported in VM installations at the moment.
[#fresh_install]
=== TH Installation on Raspberry Pi
Expand Down Expand Up @@ -299,19 +301,28 @@ The above command might take a while to get executed, wait for 5-10 minutes and
The official installation method uses a Raspberry Pi (<<th-image-installation-on-raspberry-pi>>). **This alternative installation method is targeted for development purpose and it only supports onnetwork pairing mode.**
To install TH without using a Raspberry Pi you'll need a machine with Ubuntu 22.04 Server LTS. You can <<create-an-ubuntu-virtual-machine, create a virtual machine>> for this purpose, but be aware that if the host's architecture is not arm64 you'll need to <<substitute-the-sdks-docker-image-and-update-sample-apps, substitute the SDK's docker image>> in order for it to work properly.
|===
|To install TH without using a Raspberry Pi you'll need a machine with Ubuntu Server 22.04 LTS (64-bit). You can <<create-an-ubuntu-virtual-machine, create a virtual machine>> for this purpose, but *be aware that if the host's architecture is not arm64* you'll need to substitute `backend`, `frontend` and <<substitute-the-sdks-docker-image-and-update-sample-apps, the SDK's docker image>> in order for it to work properly.
|===
|===
|Images for linux/amd64 will not always be available in the github registry. So, if necessary, the images needed to be built locally.
|===
==== Create an Ubuntu virtual machine
Here's an example of how to create a virtual machine for TH using multipass (https://multipass.run/).
|===
|Please make sure the docker images are compatible with the host architecture.
|===
* Install multipass
|===
|`brew install multipass`
|===
* Create new VM with Ubuntu 22.04 (2 cpu cores, 8G mem and a 50G disk)
* Create new VM with Ubuntu Server 22.04 LTS (64-bit) (2 cpu cores, 8G mem and a 50G disk)
|===
|`multipass launch 22.04 -n matter-vm -c 2 -m 8G -d 50G`
Expand Down
Binary file modified docs/Matter_TH_User_Guide/Matter_TH_User_Guide.pdf
Binary file not shown.
21 changes: 21 additions & 0 deletions scripts/ubuntu/1-install-dependencies.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,30 @@ sudo DEBIAN_FRONTEND=noninteractive apt-get upgrade -y

# TODO Comment on what dependency is required for:
packagelist=(
"apt-transport-https (>=2.4.11)"
"avahi-utils (>=0.8-5ubuntu5.2)" # Matter uses Avahi
"ca-certificates (=20230311ubuntu0.22.04.1)"
"docker-ce (>=5:24.0.7-1~ubuntu.22.04~jammy)" # Test Harness uses Docker
"figlet (=2.2.5-3)"
"g++ (=4:11.2.0-1ubuntu1)"
"gcc (=4:11.2.0-1ubuntu1)"
"generate-ninja (=0.0~git20220118.0725d78-1)"
"libavahi-client-dev (=0.8-5ubuntu5.2)"
"libcairo2-dev (=1.16.0-5ubuntu2)"
"libdbus-1-dev (=1.12.20-2ubuntu4.1)"
"libgirepository1.0-dev (=1.72.0-1)"
"libglib2.0-dev (=2.72.4-0ubuntu2.2)"
"libreadline-dev (=8.1.2-1)"
"libssl-dev (>=3.0.2-0ubuntu1.14)" # Apparently with each update, previous versions of the library are removed
"net-tools (=1.60+git20181103.0eebece-1ubuntu5)"
"ninja-build (=1.10.1-1)"
"npm (=8.5.1~ds-1)"
"pkg-config (=0.29.2-1ubuntu3)"
"python3-pip (=22.0.2+dfsg-1ubuntu0.4)" # Test Harness CLI uses Python
"python3-venv (=3.10.6-1~22.04)" # Test Harness CLI uses Python
"software-properties-common (=0.99.22.9)"
"toilet (=0.3-1.4)"
"unzip (>=6.0-26ubuntu3.1)"
)

SAVEIFS=$IFS
Expand Down
16 changes: 16 additions & 0 deletions scripts/ubuntu/auto-update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,19 @@ git fetch
printf "\n\n**********"
printf "\n*** Getting Test Harness code ***\n"
$SCRIPT_DIR/update.sh "$BRANCH_NAME"

printf "\n\n**********"
printf "\n*** Fetching sample apps ***\n"
$UBUNTU_SCRIPT_DIR/update-sample-apps.sh

printf "\n\n**********"
printf "\n*** Fetching PAA Certs from SDK ***\n"
$UBUNTU_SCRIPT_DIR/update-paa-certs.sh

printf "\n\n**********"
printf "\n*** Stoping Containers ***\n"
$SCRIPT_DIR/stop.sh

printf "\n\n**********"
printf "\n*** Building Clean Images ***\n"
$SCRIPT_DIR/build.sh
33 changes: 26 additions & 7 deletions scripts/update.sh
Original file line number Diff line number Diff line change
Expand Up @@ -89,14 +89,33 @@ cd $ROOT_DIR/cli && poetry install

echo "*** Setup Test Collections"
cd $ROOT_DIR
for dir in ./test_collections/*
do
setup=$dir/setup.sh
# Only run setup.sh if present and it's executable
if [ -x $setup ]; then
echo "Running setup script: $setup"
$setup

try_to_execute_setup_script()
{
program_folder=$1

if [ -d $program_folder ]; then
setup_script=$program_folder/setup.sh
# Only run setup.sh if present and it's executable
if [ -x $setup_script ]; then
echo "Running setup script: $setup_script"
$setup_script
if [ $? -ne 0 ]; then
echo "### Exit with Error ###"
return 1
fi
echo "Setup script finished with success"
fi
fi
}

MATTER_PROGRAM_FOLDER="./backend/test_collections/matter"
try_to_execute_setup_script $MATTER_PROGRAM_FOLDER

TEST_COLLECTIONS_FOLDER="./test_collections/*"
for program_folder in $TEST_COLLECTIONS_FOLDER
do
try_to_execute_setup_script $program_folder
done

# We echo "complete" to ensure this scripts last command has exit code 0.
Expand Down

0 comments on commit cc01495

Please sign in to comment.