Parcourir la source

refactor(tools): Run build system pytest on macos

Marek Fiala il y a 2 ans
Parent
commit
8ad3c8ca1f
3 fichiers modifiés avec 45 ajouts et 9 suppressions
  1. 10 0
      .gitlab-ci.yml
  2. 20 9
      .gitlab/ci/build.yml
  3. 15 0
      .gitlab/ci/rules.yml

+ 10 - 0
.gitlab-ci.yml

@@ -210,6 +210,16 @@ before_script:
   before_script:
     - *common-before_scripts
 
+.before_script_macos:
+  before_script:
+    - *common-before_scripts
+    # On macOS, these tools need to be installed
+    - export IDF_TOOLS_PATH="${HOME}/.espressif_runner_${CI_RUNNER_ID}_${CI_CONCURRENT_ID}"
+    - $IDF_PATH/tools/idf_tools.py --non-interactive install cmake ninja
+    # This adds tools (compilers) and the version-specific Python environment to PATH
+    - *setup_tools_and_idf_python_venv
+    - fetch_submodules
+
 .before_script_build_jobs:
   before_script:
     - *common-before_scripts

+ 20 - 9
.gitlab/ci/build.yml

@@ -751,10 +751,9 @@ build_clang_test_apps_esp32c6:
       optional: true
   script:
     - ${IDF_PATH}/tools/ci/test_configure_ci_environment.sh
-    - rm -rf test_build_system
-    - mkdir test_build_system
-    - cd test_build_system
-    - ${IDF_PATH}/tools/ci/${SHELL_TEST_SCRIPT}
+    - cd ${IDF_PATH}/tools/test_build_system
+    - pytest --parallel-count ${CI_NODE_TOTAL:-1} --parallel-index ${CI_NODE_INDEX:-1}
+      --work-dir ${CI_PROJECT_DIR}/test_build_system --junitxml=${CI_PROJECT_DIR}/XUNIT_RESULT.xml
 
 pytest_build_system:
   extends: .test_build_system_template
@@ -767,11 +766,23 @@ pytest_build_system:
     expire_in: 2 days
     reports:
       junit: XUNIT_RESULT.xml
-  script:
-    - ${IDF_PATH}/tools/ci/test_configure_ci_environment.sh
-    - cd ${IDF_PATH}/tools/test_build_system
-    - pytest --parallel-count ${CI_NODE_TOTAL:-1} --parallel-index ${CI_NODE_INDEX:-1}
-      --work-dir ${CI_PROJECT_DIR}/test_build_system --junitxml=${CI_PROJECT_DIR}/XUNIT_RESULT.xml
+
+pytest_build_system_macos:
+  extends:
+    - .test_build_system_template
+    - .before_script_macos
+    - .rules:build:macos
+  tags:
+    - macos_shell
+  parallel: 3
+  artifacts:
+    paths:
+      - XUNIT_RESULT.xml
+      - test_build_system
+    when: always
+    expire_in: 2 days
+    reports:
+      junit: XUNIT_RESULT.xml
 
 build_docker:
   extends:

+ 15 - 0
.gitlab/ci/rules.yml

@@ -1567,6 +1567,21 @@
     - <<: *if-dev-push
       changes: *patterns-target_test-wifi
 
+.rules:build:macos:
+  rules:
+    - <<: *if-revert-branch
+      when: never
+    - <<: *if-protected
+    - <<: *if-label-build
+    - <<: *if-label-macos
+    - <<: *if-label-macos_test
+    - <<: *if-dev-push
+      changes: *patterns-build_macos
+    - <<: *if-dev-push
+      changes: *patterns-build_system
+    - <<: *if-dev-push
+      changes: *patterns-downloadable-tools
+
 .rules:build:target_test:
   rules:
     - <<: *if-revert-branch