From e3a87ba9f0803d189e63000eb0746aed43c71a5f Mon Sep 17 00:00:00 2001 From: Anas Nashif Date: Fri, 29 Nov 2024 17:08:37 -0500 Subject: [PATCH] ci: clang: remove clang workflow We build with clang in main twister workflow now. Signed-off-by: Anas Nashif --- .github/workflows/clang.yaml | 165 ----------------------------------- 1 file changed, 165 deletions(-) delete mode 100644 .github/workflows/clang.yaml diff --git a/.github/workflows/clang.yaml b/.github/workflows/clang.yaml deleted file mode 100644 index 0d97ecc8abcade..00000000000000 --- a/.github/workflows/clang.yaml +++ /dev/null @@ -1,165 +0,0 @@ -name: Build with Clang/LLVM - -on: pull_request_target - -concurrency: - group: ${{ github.workflow }}-${{ github.event_name }}-${{ github.head_ref || github.ref }} - cancel-in-progress: true - -jobs: - clang-build: - if: github.repository_owner == 'zephyrproject-rtos' - runs-on: - group: zephyr-runner-v2-linux-x64-4xlarge - container: - image: ghcr.io/zephyrproject-rtos/ci-repo-cache:v0.27.4.20241026 - options: '--entrypoint /bin/bash' - strategy: - fail-fast: false - matrix: - platform: ["native_sim"] - env: - CCACHE_DIR: /node-cache/ccache-zephyr - CCACHE_REMOTE_STORAGE: "redis://cache-*.keydb-cache.svc.cluster.local|shards=1,2,3" - CCACHE_REMOTE_ONLY: "true" - LLVM_TOOLCHAIN_PATH: /usr/lib/llvm-16 - COMMIT_RANGE: ${{ github.event.pull_request.base.sha }}..${{ github.event.pull_request.head.sha }} - BASE_REF: ${{ github.base_ref }} - outputs: - report_needed: ${{ steps.twister.outputs.report_needed }} - steps: - - name: Apply container owner mismatch workaround - run: | - # FIXME: The owner UID of the GITHUB_WORKSPACE directory may not - # match the container user UID because of the way GitHub - # Actions runner is implemented. Remove this workaround when - # GitHub comes up with a fundamental fix for this problem. - git config --global --add safe.directory ${GITHUB_WORKSPACE} - - - name: Print cloud service information - run: | - echo "ZEPHYR_RUNNER_CLOUD_PROVIDER = ${ZEPHYR_RUNNER_CLOUD_PROVIDER}" - echo "ZEPHYR_RUNNER_CLOUD_NODE = ${ZEPHYR_RUNNER_CLOUD_NODE}" - echo "ZEPHYR_RUNNER_CLOUD_POD = ${ZEPHYR_RUNNER_CLOUD_POD}" - - - name: Clone cached Zephyr repository - continue-on-error: true - run: | - git clone --shared /repo-cache/zephyrproject/zephyr . - git remote set-url origin ${GITHUB_SERVER_URL}/${GITHUB_REPOSITORY} - - - name: Checkout - uses: actions/checkout@v4 - with: - ref: ${{ github.event.pull_request.head.sha }} - fetch-depth: 0 - persist-credentials: false - - - name: Environment Setup - run: | - echo "$HOME/.local/bin" >> $GITHUB_PATH - git config --global user.email "bot@zephyrproject.org" - git config --global user.name "Zephyr Bot" - rm -fr ".git/rebase-apply" - git rebase origin/${BASE_REF} - git clean -f -d - git log --pretty=oneline | head -n 10 - west init -l . || true - west config --global update.narrow true - west config manifest.group-filter -- +ci,+optional - # In some cases modules are left in a state where they can't be - # updated (i.e. when we cancel a job and the builder is killed), - # So first retry to update, if that does not work, remove all modules - # and start over. (Workaround until we implement more robust module - # west caching). - west update --path-cache /repo-cache/zephyrproject 2>&1 1> west.log || west update --path-cache /repo-cache/zephyrproject 2>&1 1> west2.log || ( rm -rf ../modules ../bootloader ../tools && west update --path-cache /repo-cache/zephyrproject) - - echo "ZEPHYR_SDK_INSTALL_DIR=/opt/toolchains/zephyr-sdk-$( cat SDK_VERSION )" >> $GITHUB_ENV - - - name: Check Environment - run: | - cmake --version - ${LLVM_TOOLCHAIN_PATH}/bin/clang --version - gcc --version - ls -la - - - name: Set up ccache - run: | - mkdir -p ${CCACHE_DIR} - ccache -M 10G - ccache -p - ccache -z -s -vv - - - name: Update BabbleSim to manifest revision - run: | - export BSIM_VERSION=$( west list bsim -f {revision} ) - echo "Manifest points to bsim sha $BSIM_VERSION" - cd /opt/bsim_west/bsim - git fetch -n origin ${BSIM_VERSION} - git -c advice.detachedHead=false checkout ${BSIM_VERSION} - west update - make everything -s -j 8 - - - name: Run Tests with Twister - id: twister - run: | - export ZEPHYR_BASE=${PWD} - export ZEPHYR_TOOLCHAIN_VARIANT=llvm - - # check if we need to run a full twister or not based on files changed - python3 ./scripts/ci/test_plan.py --no-detailed-test-id --platform ${{ matrix.platform }} -c origin/${BASE_REF}.. - - # We can limit scope to just what has changed - if [ -s testplan.json ]; then - echo "report_needed=1" >> $GITHUB_OUTPUT - # Full twister but with options based on changes - ./scripts/twister --no-detailed-test-id --force-color --inline-logs -M -N -v --load-tests testplan.json --retry-failed 2 - else - # if nothing is run, skip reporting step - echo "report_needed=0" >> $GITHUB_OUTPUT - fi - - - name: Print ccache stats - if: always() - run: | - ccache -s -vv - - - name: Upload Unit Test Results - if: always() && steps.twister.outputs.report_needed != 0 - uses: actions/upload-artifact@v4 - with: - name: Unit Test Results (Subset ${{ matrix.platform }}) - path: twister-out/twister.xml - - clang-build-results: - name: "Publish Unit Tests Results" - needs: clang-build - runs-on: ubuntu-22.04 - if: (success() || failure() ) && needs.clang-build.outputs.report_needed != 0 - steps: - - name: Download Artifacts - uses: actions/download-artifact@v4 - with: - path: artifacts - - name: Merge Test Results - run: | - pip3 install junitparser junit2html - junitparser merge artifacts/*/twister.xml junit.xml - junit2html junit.xml junit-clang.html - - - name: Upload Unit Test Results in HTML - if: always() - uses: actions/upload-artifact@v4 - with: - name: HTML Unit Test Results - if-no-files-found: ignore - path: | - junit-clang.html - - - name: Publish Unit Test Results - uses: EnricoMi/publish-unit-test-result-action@v2 - if: always() - with: - check_name: Unit Test Results - files: "**/twister.xml" - comment_mode: off