From cd95e31717123323b6e0ae953615fcff52bc1687 Mon Sep 17 00:00:00 2001 From: Brennan Magee Date: Tue, 14 Mar 2023 15:37:29 +0000 Subject: [PATCH 01/12] pin doc_builder to v3 --- .github/workflows/docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index ffd8340..6f7f61e 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -25,7 +25,7 @@ on: workflow_dispatch: {} env: - DOC_BUILDER_IMAGE: 'ghcr.io/xmos/doc_builder:v2.0.0' + DOC_BUILDER_IMAGE: 'ghcr.io/xmos/doc_builder:v3.0.0' jobs: build_documentation: From e176621e1fcad94bf1f5e2d638f522184c6abbb5 Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Tue, 14 Mar 2023 15:43:22 -0400 Subject: [PATCH 02/12] fixed lib_mic_array cmake include --- modules/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index 42d2bc8..d771398 100644 --- a/modules/CMakeLists.txt +++ b/modules/CMakeLists.txt @@ -2,7 +2,7 @@ add_subdirectory(i2c) add_subdirectory(i2s) if(${CMAKE_SYSTEM_NAME} STREQUAL XCORE_XS3A) - add_subdirectory(mic_array/lib_mic_array) + add_subdirectory(mic_array) endif() add_subdirectory(qspi_io) add_subdirectory(spi) From 5412412b3990d6a16a180535bd0d732a2de25e74 Mon Sep 17 00:00:00 2001 From: Jon Carrier Date: Fri, 9 Dec 2022 15:20:50 -0500 Subject: [PATCH 03/12] Fixed compiler warnings Added missing include for string.h's memcpy. --- modules/i2s/src/i2s_master.c | 1 + modules/i2s/src/i2s_slave.c | 1 + 2 files changed, 2 insertions(+) diff --git a/modules/i2s/src/i2s_master.c b/modules/i2s/src/i2s_master.c index cca26c4..992a9ce 100644 --- a/modules/i2s/src/i2s_master.c +++ b/modules/i2s/src/i2s_master.c @@ -1,5 +1,6 @@ // Copyright 2021 XMOS LIMITED. // This Software is subject to the terms of the XMOS Public Licence: Version 1. +#include #include #include #include diff --git a/modules/i2s/src/i2s_slave.c b/modules/i2s/src/i2s_slave.c index 5250fdd..bdd167f 100644 --- a/modules/i2s/src/i2s_slave.c +++ b/modules/i2s/src/i2s_slave.c @@ -1,5 +1,6 @@ // Copyright 2021-2022 XMOS LIMITED. // This Software is subject to the terms of the XMOS Public Licence: Version 1. +#include #include #include #include From 34a2973df4e435bce424cf871f424f3b6591d208 Mon Sep 17 00:00:00 2001 From: Jon Carrier Date: Thu, 2 Mar 2023 15:48:16 -0500 Subject: [PATCH 04/12] Updated lib_xud --- modules/xud/CMakeLists.txt | 40 ++++++++++++++++++-------------------- modules/xud/lib_xud | 2 +- 2 files changed, 20 insertions(+), 22 deletions(-) diff --git a/modules/xud/CMakeLists.txt b/modules/xud/CMakeLists.txt index 73e5af1..ab2b110 100644 --- a/modules/xud/CMakeLists.txt +++ b/modules/xud/CMakeLists.txt @@ -2,22 +2,18 @@ if((${CMAKE_SYSTEM_NAME} STREQUAL XCORE_XS3A) OR (${CMAKE_SYSTEM_NAME} STREQUAL XCORE_XS2A)) ## Source files file(GLOB_RECURSE LIB_C_SOURCES lib_xud/lib_xud/src/*.c ) - file(GLOB_RECURSE LIB_CXX_SOURCES lib_xud/lib_xud/src/*.cc) file(GLOB_RECURSE LIB_XC_SOURCES lib_xud/lib_xud/src/*.xc) file(GLOB_RECURSE LIB_ASM_SOURCES lib_xud/lib_xud/src/*.S ) + list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_CrcAddrCheck.S) list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/included/XUD_PidJumpTable.S) + list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/included/XUD_PidJumpTable_RxData.S) list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/included/XUD_RxData.S) - list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/included/XUD_Token_In.S) list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/included/XUD_Token_In_DI.S) - list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/included/XUD_Token_Out.S) list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/included/XUD_Token_Out_DI.S) list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/included/XUD_Token_Ping.S) - list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/included/XUD_Token_Setup.S) list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/included/XUD_Token_Setup_DI.S) list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/included/XUD_Token_SOF.S) - list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_CrcAddrCheck.S) - list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_G_Crc.S) # Not in XS3 branch list(REMOVE_ITEM LIB_ASM_SOURCES ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_TokenJmp.S) ## cmake doesn't recognize .S files as assembly by default @@ -27,8 +23,16 @@ if((${CMAKE_SYSTEM_NAME} STREQUAL XCORE_XS3A) OR (${CMAKE_SYSTEM_NAME} STREQUAL set(XCORE_XS3A_SOURCES ${LIB_ASM_SOURCES}) ## Includes files - set(LIB_PUBLIC_INCLUDES lib_xud/lib_xud/api lib_xud/lib_xud/src/user) - set(LIB_PRIVATE_INCLUDES lib_xud/lib_xud/src lib_xud/lib_xud/src/core) + set(LIB_PUBLIC_INCLUDES + lib_xud/lib_xud/api + lib_xud/lib_xud/api/legacy + lib_xud/lib_xud/src/user + lib_xud/lib_xud/src/user/class + ) + set(LIB_PRIVATE_INCLUDES + lib_xud/lib_xud/src + lib_xud/lib_xud/src/core + ) ## Gather library sources set(LIB_PUBLIC_SOURCES "") @@ -41,19 +45,13 @@ if((${CMAKE_SYSTEM_NAME} STREQUAL XCORE_XS3A) OR (${CMAKE_SYSTEM_NAME} STREQUAL set_source_files_properties(${LIB_PRIVATE_SOURCES} DIRECTORY ${CMAKE_SOURCE_DIR} PROPERTIES COMPILE_OPTIONS "-O3;-DREF_CLK_FREQ=100;-fasm-linenum;-fcomment-asm;-DXUD_FULL_PIDTABLE=1") ## Append file specific compile flags to sources at the top level directory because this is an INTERFACE library - set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_IoLoop.S DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-fschedule -g0") - set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_Main.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue") - set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/user/client/XUD_SetDevAddr.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue") - set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_DeviceAttach.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue;-Wno-return-type") - set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_PhyResetUser.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue") # Not in XS3 branch - set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_Support.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue") - set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_IOLoopCall.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue") - set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_PowerSig.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue;-Wno-return-type") - set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_TestMode.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue") - set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_GetDone.c DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue") # Not in XS3 branch - set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_SetCrcTableAddr.c DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue") - set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_HAL.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-Wno-return-type") - set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_Signalling.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-Wno-return-type") + set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_IoLoop.S DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-fschedule") + set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_Main.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue") + set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_Support.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue") + set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_Signalling.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-Wno-return-type") + set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_TestMode.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue") + set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_SetCrcTableAddr.c DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue") + set_property(SOURCE ${CMAKE_CURRENT_LIST_DIR}/lib_xud/lib_xud/src/core/XUD_HAL.xc DIRECTORY ${CMAKE_SOURCE_DIR} APPEND PROPERTY COMPILE_OPTIONS "-mno-dual-issue") # Not in XS3 branch ## Create library target ## INTERFACE because we depend on the board target supplied usb tile and core speed diff --git a/modules/xud/lib_xud b/modules/xud/lib_xud index 2729d26..50dfe9f 160000 --- a/modules/xud/lib_xud +++ b/modules/xud/lib_xud @@ -1 +1 @@ -Subproject commit 2729d2614e9d38c5ddfa62b3e22ef5a1347334e8 +Subproject commit 50dfe9f62f20c7dc752f2bdc2be17e4498e60bc3 From 8a2d5aa21abf645654639e6ba118bce3dd5c80e6 Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Mon, 27 Mar 2023 13:44:50 -0400 Subject: [PATCH 05/12] added docker test container --- .github/workflows/ci.yml | 2 +- .github/workflows/docker.yml | 88 +++++++++++++++++++++++++++++++++++ modules/xud/lib_xud | 2 +- tools/docker/Dockerfile.tests | 16 +++++++ tools/docker/README.md | 16 +++++++ 5 files changed, 122 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/docker.yml create mode 100644 tools/docker/Dockerfile.tests create mode 100644 tools/docker/README.md diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0a85a6a..dc5153e 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ on: default: 'no' env: - XCORE_BUILDER_IMAGE: 'ghcr.io/xmos/xcore_builder:latest' + XCORE_BUILDER_IMAGE: 'ghcr.io/xmos/fwk_io_tester:latest' jobs: # JOB to run change detection diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml new file mode 100644 index 0000000..596d2a2 --- /dev/null +++ b/.github/workflows/docker.yml @@ -0,0 +1,88 @@ +# This workflow uses actions that are not certified by GitHub. +# They are provided by a third-party and are governed by +# separate terms of service, privacy policy, and support +# documentation. + +name: Create and publish a Docker image + +on: + push: + branches: + - 'develop' + tags: + - 'v*' + pull_request: + branches: + - 'develop' + + # Allow manually triggering the workflow. + workflow_dispatch: {} + + +env: + REGISTRY: ghcr.io + IMAGE_NAME: xmos/fwk_io_tester + +jobs: + + changes: + runs-on: ubuntu-latest + name: Change detection + # Set job outputs to values from filter step + outputs: + dockerfile: ${{ steps.filter.outputs.dockerfile }} + steps: + - name: Checkout + uses: actions/checkout@v3 + - name: Paths filter + uses: dorny/paths-filter@v2 + id: filter + with: + filters: | + dockerfile: + - 'tools/docker/**' + + build-and-push-image: + needs: changes + name: Build and push Docker image + if: ${{ needs.changes.outputs.dockerfile == 'true' }} + runs-on: ubuntu-latest + permissions: + contents: read + packages: write + + steps: + - name: Checkout repository + uses: actions/checkout@v3 + + - name: Log in to the Container registry + uses: docker/login-action@v2 + with: + registry: ${{ env.REGISTRY }} + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata (tags, labels) for Docker + id: meta + uses: docker/metadata-action@v4 + with: + images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} + tags: | + # vX.Y.Z vX.Y vX (on push tag) + type=semver,pattern=v{{version}} + type=semver,pattern=v{{major}}.{{minor}} + type=semver,pattern=v{{major}} + # main/feature/etc + type=ref,event=branch + # pr-N + type=ref,event=pr + # sha-XXXXXXX + type=sha + - name: Build and push Docker image + uses: docker/build-push-action@v4 + with: + context: . + push: true + file: 'tools/docker/Dockerfile.tests' + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file diff --git a/modules/xud/lib_xud b/modules/xud/lib_xud index 2729d26..50dfe9f 160000 --- a/modules/xud/lib_xud +++ b/modules/xud/lib_xud @@ -1 +1 @@ -Subproject commit 2729d2614e9d38c5ddfa62b3e22ef5a1347334e8 +Subproject commit 50dfe9f62f20c7dc752f2bdc2be17e4498e60bc3 diff --git a/tools/docker/Dockerfile.tests b/tools/docker/Dockerfile.tests new file mode 100644 index 0000000..e2b61a5 --- /dev/null +++ b/tools/docker/Dockerfile.tests @@ -0,0 +1,16 @@ +FROM ghcr.io/xmos/xcore_builder:latest + +# This Dockerfile is for use by the XMOS fwk_io CI system +# It provides a minimal environment needed to build applications and run tests + +# install dependencies +# RUN apt-get update && apt-get install -y \ +# && apt-get clean autoclean + +WORKDIR /test +ADD test/requirements.txt /test +ADD test/modules/test_support /test/modules/test_support +RUN pip3 install -r requirements.txt + +# set login shell +SHELL ["/bin/bash", "-l", "-c"] \ No newline at end of file diff --git a/tools/docker/README.md b/tools/docker/README.md new file mode 100644 index 0000000..554da8d --- /dev/null +++ b/tools/docker/README.md @@ -0,0 +1,16 @@ +# Tests Dockerfile + +This dockerfile is used to build an image for testing. It build on top of the (private) base [xcore_builder](https://github.com/xmos/xcore_builder) image. Access to the private base image repository is not required to build this image. + +## Build Image + +To build the docker container locally, run the following command in the root of the repository: + + docker build -t ghcr.io/xmos/fwk_io_tester:develop -f tools/docker/Dockerfile.tests . + +## Run Container + +To run the container: + + docker run -it ghcr.io/xmos/fwk_io_tester:develop bash + From 1a60562242bd756cce6b6fe63824d74a719ccb2f Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Mon, 27 Mar 2023 13:48:47 -0400 Subject: [PATCH 06/12] docker build now checkouts recursive --- .github/workflows/docker.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/docker.yml b/.github/workflows/docker.yml index 596d2a2..7d81774 100644 --- a/.github/workflows/docker.yml +++ b/.github/workflows/docker.yml @@ -54,6 +54,8 @@ jobs: steps: - name: Checkout repository uses: actions/checkout@v3 + with: + submodules: recursive - name: Log in to the Container registry uses: docker/login-action@v2 From 99010e2b1178d3cefc99e21742b12f3981af01fb Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Mon, 27 Mar 2023 13:57:44 -0400 Subject: [PATCH 07/12] fixed FWK_IO_TESTER_IMAGE --- .github/workflows/ci.yml | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dc5153e..a9c3906 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ on: default: 'no' env: - XCORE_BUILDER_IMAGE: 'ghcr.io/xmos/fwk_io_tester:latest' + FWK_IO_TESTER_IMAGE: 'ghcr.io/xmos/fwk_io_tester:develop' jobs: # JOB to run change detection @@ -79,11 +79,11 @@ jobs: - name: Pull Docker builder image run: | - docker pull ${XCORE_BUILDER_IMAGE} + docker pull ${FWK_IO_TESTER_IMAGE} - name: Run tests run: | - docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${XCORE_BUILDER_IMAGE} bash -l run_tests.sh lib_i2c + docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_i2c i2stests: name: I2S tests @@ -98,11 +98,11 @@ jobs: - name: Pull Docker builder run: | - docker pull ${XCORE_BUILDER_IMAGE} + docker pull ${FWK_IO_TESTER_IMAGE} - name: Run tests run: | - docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${XCORE_BUILDER_IMAGE} bash -l run_tests.sh lib_i2s + docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_i2s spitests: name: SPI tests @@ -117,11 +117,11 @@ jobs: - name: Pull Docker builder image run: | - docker pull ${XCORE_BUILDER_IMAGE} + docker pull ${FWK_IO_TESTER_IMAGE} - name: Run tests run: | - docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${XCORE_BUILDER_IMAGE} bash -l run_tests.sh lib_spi + docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_spi uarttests: @@ -137,8 +137,8 @@ jobs: - name: Pull Docker builder run: | - docker pull ${XCORE_BUILDER_IMAGE} + docker pull ${FWK_IO_TESTER_IMAGE} - name: Run tests run: | - docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${XCORE_BUILDER_IMAGE} bash -l run_tests.sh lib_uart + docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_uart From 62ffd50bde440ff3b1fadafbbc4ce50ccddec60f Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Tue, 28 Mar 2023 09:53:55 -0400 Subject: [PATCH 08/12] Doc instructions no longer using latest doc_builder --- doc/README.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/README.rst b/doc/README.rst index ae5955f..e005816 100644 --- a/doc/README.rst +++ b/doc/README.rst @@ -16,7 +16,7 @@ Pull the docker container: .. code-block:: console - $ docker pull ghcr.io/xmos/doc_builder:latest + $ docker pull ghcr.io/xmos/doc_builder:v3.0.0 ======== Building @@ -26,5 +26,5 @@ To build the documentation, run the following command in the root of the reposit .. code-block:: console - $ docker run --rm -t -u "$(id -u):$(id -g)" -v $(pwd):/build -e PDF=1 -e REPO:/build -e DOXYGEN_INCLUDE=/build/doc/Doxyfile.inc -e EXCLUDE_PATTERNS=/build/doc/exclude_patterns.inc -e DOXYGEN_INPUT=ignore ghcr.io/xmos/doc_builder:latest + $ docker run --rm -t -u "$(id -u):$(id -g)" -v $(pwd):/build -e PDF=1 -e REPO:/build -e DOXYGEN_INCLUDE=/build/doc/Doxyfile.inc -e EXCLUDE_PATTERNS=/build/doc/exclude_patterns.inc -e DOXYGEN_INPUT=ignore ghcr.io/xmos/doc_builder:v3.0.0 From 0cc65478cee906a3af77c53fa108b45ca65a7af6 Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Tue, 28 Mar 2023 10:06:19 -0400 Subject: [PATCH 09/12] removed broken link to I2C spec --- doc/programming_guide/reference/i2c/i2c.rst | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/doc/programming_guide/reference/i2c/i2c.rst b/doc/programming_guide/reference/i2c/i2c.rst index 7fbaf9c..97136a4 100644 --- a/doc/programming_guide/reference/i2c/i2c.rst +++ b/doc/programming_guide/reference/i2c/i2c.rst @@ -10,9 +10,7 @@ The library is compatible with multiple slave devices existing on the same bus. The library can also be used to implement multiple |I2C| physical interfaces on a single xcore device simultaneously. -All signals are designed to comply with the timings in the |I2C| specification. Information on obtaining the |I2C| specification can be found here: - -https://www.i2c-bus.org/specification/ +All signals are designed to comply with the timings in the |I2C| specification. Note that the following optional parts of the |I2C| specification are not supported: From 723080d09f6a34863758f510baffeb443e5dbfe2 Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Wed, 29 Mar 2023 15:49:49 -0400 Subject: [PATCH 10/12] now sets user in calls to xcore_builder --- .github/workflows/ci.yml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a9c3906..dbe7664 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,7 +83,7 @@ jobs: - name: Run tests run: | - docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_i2c + docker run --rm -u $(id -u):$(id -g) -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_i2c i2stests: name: I2S tests @@ -102,7 +102,7 @@ jobs: - name: Run tests run: | - docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_i2s + docker run --rm -u $(id -u):$(id -g) -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_i2s spitests: name: SPI tests @@ -121,7 +121,7 @@ jobs: - name: Run tests run: | - docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_spi + docker run --rm -u $(id -u):$(id -g) -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_spi uarttests: @@ -141,4 +141,4 @@ jobs: - name: Run tests run: | - docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_uart + docker run --rm -u $(id -u):$(id -g) -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_uart From 996dc1d46e0904fb0d259a13658fc015e3e4076c Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Thu, 13 Apr 2023 08:31:25 -0400 Subject: [PATCH 11/12] prep for release v2 --- CHANGELOG.rst | 5 +++++ settings.json | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.rst b/CHANGELOG.rst index 5fe694a..490578a 100644 --- a/CHANGELOG.rst +++ b/CHANGELOG.rst @@ -1,6 +1,11 @@ IO Framework change log ======================= +2.0.0 +----- + + * CHANGE: Updated lib_xud to v2.2.2 + 1.0.0 ----- diff --git a/settings.json b/settings.json index c846bba..0a637ba 100644 --- a/settings.json +++ b/settings.json @@ -1,5 +1,5 @@ { "title": "XCORE Peripheral IO Framework", "project": "fwk_io", - "version": "1.0.0" + "version": "2.0.0" } \ No newline at end of file From e784fc7608bc2053432d9a353a62453cbda1b51a Mon Sep 17 00:00:00 2001 From: keithm-xmos <35048036+keithm-xmos@users.noreply.github.com> Date: Thu, 13 Apr 2023 08:38:13 -0400 Subject: [PATCH 12/12] added workaround for fatal: detected dubious ownership in repository --- .github/workflows/ci.yml | 8 ++++---- test/run_tests.sh | 5 +++++ 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index dbe7664..a9c3906 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -83,7 +83,7 @@ jobs: - name: Run tests run: | - docker run --rm -u $(id -u):$(id -g) -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_i2c + docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_i2c i2stests: name: I2S tests @@ -102,7 +102,7 @@ jobs: - name: Run tests run: | - docker run --rm -u $(id -u):$(id -g) -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_i2s + docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_i2s spitests: name: SPI tests @@ -121,7 +121,7 @@ jobs: - name: Run tests run: | - docker run --rm -u $(id -u):$(id -g) -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_spi + docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_spi uarttests: @@ -141,4 +141,4 @@ jobs: - name: Run tests run: | - docker run --rm -u $(id -u):$(id -g) -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_uart + docker run --rm -w /fwk_io/test -v ${{github.workspace}}:/fwk_io ${FWK_IO_TESTER_IMAGE} bash -l run_tests.sh lib_uart diff --git a/test/run_tests.sh b/test/run_tests.sh index 8cb921d..32ee865 100755 --- a/test/run_tests.sh +++ b/test/run_tests.sh @@ -1,6 +1,11 @@ #!/bin/bash set -e +if [ -f /.dockerenv ]; then + # Docker workaround for: "fatal: detected dubious ownership in repository" + git config --global --add safe.directory /fwk_io +fi + if [ -z "$1" ] || [ "$1" == "all" ] then declare -a hil_test_libs=(