update labeler action #3177
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: GitHub Actions | |
| on: | |
| pull_request: | |
| branches: | |
| - master | |
| - develop | |
| - 'feature/**' | |
| - 'fix/**' | |
| - 'gh/**' | |
| - 'github/**' | |
| - 'githubactions/**' | |
| paths-ignore: | |
| - '*.ini' | |
| - '*.md' | |
| - '*.yml' | |
| - '*.yaml' | |
| - '.circleci/**' | |
| - '.semaphore/**' | |
| push: | |
| branches: | |
| - master | |
| - develop | |
| permissions: | |
| contents: read | |
| pull-requests: write | |
| checks: write | |
| jobs: | |
| prepare: | |
| runs-on: ubuntu-latest | |
| env: | |
| HEAD_COMMIT_MESSAGE: ${{ github.event.head_commit.message }} | |
| if: > | |
| ! contains(github.event.head_commit.message, '[gh skip]') && | |
| ! contains(github.event.head_commit.message, '[skip gh]') | |
| steps: | |
| - run: | | |
| echo "$HEAD_COMMIT_MESSAGE" | |
| # dump github.event for https://github.com/nektos/act | |
| - name: dump github.event | |
| env: | |
| GITHUB_EVENT_CONTEXT: ${{ toJson(github.event) }} | |
| run: | | |
| echo "${GITHUB_EVENT_CONTEXT}" > github_event.json | |
| login: | |
| runs-on: ubuntu-latest | |
| needs: prepare | |
| steps: | |
| - name: Login to DockerHub | |
| uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - name: login check | |
| run: | | |
| echo a | docker login | |
| - name: TODO | |
| run: | | |
| echo "build and push" | |
| #=================================================================== | |
| llvm-basic-test: | |
| runs-on: windows-latest | |
| needs: prepare | |
| defaults: | |
| run: | |
| shell: cmd | |
| env: | |
| CXX: clang++ | |
| CC: clang | |
| OUTPUTXML: junit | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Setup Windows LLVM | |
| uses: ./.github/actions/composite/setup-win-llvm | |
| - name: info | |
| uses: ./.github/actions/composite/test-info | |
| - name: llvm clang build | |
| run: | | |
| make -C test -j8 | |
| - name: llvm clang test | |
| run: | | |
| make -C test test | |
| - name: report | |
| uses: ./.github/actions/composite/test-report | |
| with: | |
| report_paths: test/*.xml | |
| if: success() || failure() | |
| mingw-basic-test: | |
| runs-on: windows-latest | |
| needs: prepare | |
| defaults: | |
| run: | |
| shell: cmd | |
| env: | |
| OUTPUTXML: junit | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: info | |
| uses: ./.github/actions/composite/test-info | |
| - name: mingw build | |
| run: | | |
| make -C test -j8 | |
| - name: mingw test | |
| run: | | |
| make -C test test | |
| - name: report | |
| uses: ./.github/actions/composite/test-report | |
| with: | |
| report_paths: test/*.xml | |
| if: success() || failure() | |
| cmake-basic-test: | |
| runs-on: ubuntu-latest | |
| needs: prepare | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: cmake | |
| run: | | |
| mkdir ./cmake-build | |
| cd ./cmake-build | |
| cmake ../projects/cmake | |
| - name: cmake build | |
| run: cmake --build cmake-build | |
| - name: cmake test | |
| run: | | |
| cd cmake-build | |
| ctest -C Debug -V | |
| xcodebuild-test: | |
| runs-on: macos-latest | |
| needs: prepare | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: cmake | |
| run: | | |
| mkdir ./cmake-build | |
| cd ./cmake-build | |
| cmake -G Xcode ../projects/cmake | |
| - name: cmake build | |
| run: cmake --build cmake-build -- -resultBundlePath TestResults | |
| - name: cmake test | |
| run: | | |
| cd cmake-build | |
| ctest -C Debug -V | |
| - run: ls cmake-build | |
| - uses: kishikawakatsumi/xcresulttool@v1 | |
| with: | |
| path: cmake-build/TestResults.xcresult | |
| upload-bundles: never | |
| if: success() || failure() | |
| macos-test: | |
| runs-on: macos-latest | |
| needs: prepare | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: info | |
| uses: ./.github/actions/composite/test-info | |
| - name: build | |
| run: | | |
| make -C test -j8 | |
| - name: test | |
| run: | | |
| make -C test test | |
| - name: report | |
| uses: ./.github/actions/composite/test-report | |
| with: | |
| report_paths: test/*.xml | |
| if: success() || failure() | |
| # # g++: fatal error: Killed signal terminated program cc1plus | |
| # # kill されちゃうので comment out | |
| # gcc-fanalyzer: | |
| # runs-on: ubuntu-latest | |
| # needs: prepare | |
| # container: | |
| # image: gcc:11 | |
| # credentials: | |
| # username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| # password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| # env: | |
| # DEFS: -fanalyzer -Wno-analyzer-possible-null-argument -Wno-analyzer-possible-null-dereference | |
| # OUTPUTXML: junit | |
| # steps: | |
| # - uses: actions/checkout@v4 | |
| # - name: gcc info | |
| # run: | | |
| # make -C test clean | |
| # make -C test showcxxversion | |
| # make -C test showcxxmacros | |
| # make -C test check_stdlib | |
| # - name: gcc build | |
| # run: | | |
| # # If you increase the number of parallels (-jN), it will be SIGKILL(137). | |
| # make -C test -j1 | |
| # - name: gcc test | |
| # run: | | |
| # make -C test test | |
| # - name: report | |
| # uses: ./.github/actions/composite/test-report | |
| # with: | |
| # report_paths: test/*.xml | |
| # if: always() | |
| # zapcc-basic-test: | |
| # runs-on: ubuntu-latest | |
| # needs: prepare | |
| # container: | |
| # image: srzzumix/zapcc:latest | |
| # credentials: | |
| # username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| # password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| # env: | |
| # OUTPUTXML: junit | |
| # PYTHON_VERSION: 3.8 | |
| # steps: | |
| # - uses: actions/checkout@v4 | |
| # - uses: actions/setup-python@v4 | |
| # with: | |
| # python-version: ${{ env.PYTHON_VERSION }} | |
| # - name: Set Python environment variable | |
| # run: | | |
| # python --version | |
| # echo "LD_LIBRARY_PATH=${{ env.pythonLocation }}/lib" >> "$GITHUB_ENV" | |
| # - name: info | |
| # uses: ./.github/actions/composite/test-info | |
| # - name: zapcc build | |
| # run: | | |
| # make -C test -j1 IUTEST_REQUIRE_PYTHON=1 | |
| # - name: zapcc test | |
| # run: | | |
| # make -C test test | |
| # - name: report | |
| # uses: ./.github/actions/composite/test-report | |
| # with: | |
| # report_paths: test/*.xml | |
| # if: always() | |
| icpc-basic-test: | |
| runs-on: ubuntu-latest | |
| needs: prepare | |
| container: | |
| image: srzzumix/oneapi-cxx:latest | |
| credentials: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| env: | |
| CC: icpc | |
| CXX: icpc | |
| OUTPUTXML: junit | |
| # DEFS: -DIUTEST_FORCE_COLORCONSOLE=1 | |
| # RUN_OPTION: "--iutest_color=yes" | |
| defaults: | |
| run: | |
| shell: bash -e -o pipefail -l {0} | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: set .bash_profile | |
| run: | | |
| echo ". /opt/intel/oneapi/setvars.sh" >> ~/.bash_profile | |
| - name: info | |
| uses: ./.github/actions/composite/test-info | |
| with: | |
| shell-cmd: bash -e -o pipefail -l {0} | |
| - name: icpc build | |
| run: | | |
| make -C test -j8 | |
| - name: icpc test | |
| run: | | |
| make -C test test | |
| - name: report | |
| uses: ./.github/actions/composite/test-report | |
| with: | |
| report_paths: test/*.xml | |
| if: always() | |
| arm-none-eabi: | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| container-version: | |
| - "6-2016q4" | |
| - "7-2017q4" | |
| - "8-2018q4" | |
| - "9-2019q4" | |
| - "10-2020q4" | |
| - "latest" | |
| runs-on: ubuntu-latest | |
| needs: prepare | |
| container: | |
| image: srzzumix/arm-none-eabi:${{ matrix.container-version }} | |
| credentials: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| env: | |
| DEFS: --specs=nosys.specs -march=armv8-a | |
| LIBS: gcc c m nosys | |
| # DEFS: --specs=rdimon.specs -march=armv8-a | |
| # LIBS: gcc c m rdimon | |
| OUTPUTXML: junit | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: info | |
| uses: ./.github/actions/composite/test-info | |
| - name: build | |
| run: | | |
| make -C test -j8 | |
| - name: report | |
| uses: ./.github/actions/composite/test-report | |
| with: | |
| report_paths: test/*.xml | |
| if: always() | |
| arm-linux-gnueabi: | |
| runs-on: ubuntu-latest | |
| needs: prepare | |
| env: | |
| DEFS: --static | |
| OUTPUTXML: junit | |
| steps: | |
| - name: Login to DockerHub | |
| uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - uses: actions/checkout@v4 | |
| - name: info | |
| uses: ./.github/actions/arm-linux-gnueabi | |
| with: | |
| args: "make -C test QEMU_COMMAND=qemu-arm-static showcxxversion showcxxmacros check_stdlib showstdlbfeatures" | |
| - name: build | |
| uses: ./.github/actions/arm-linux-gnueabi | |
| with: | |
| args: "make -C test -j8" | |
| - name: test | |
| uses: ./.github/actions/arm-linux-gnueabi | |
| with: | |
| args: "make -C test test QEMU_COMMAND=qemu-arm-static" | |
| - name: report | |
| uses: ./.github/actions/composite/test-report | |
| with: | |
| report_paths: test/*.xml | |
| if: always() | |
| #=================================================================== | |
| earthly: | |
| runs-on: ubuntu-latest | |
| needs: prepare | |
| steps: | |
| - uses: earthly/actions-setup@v1 | |
| with: | |
| version: "latest" | |
| github-token: ${{ secrets.GITHUB_TOKEN }} | |
| - uses: actions/checkout@v4 | |
| - name: Login to DockerHub | |
| uses: docker/login-action@v3 | |
| with: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| - name: Build | |
| run: earthly +build | |
| - name: Test | |
| run: earthly +test | |
| # FIXME: expected array of testsuites | |
| # - name: Report | |
| # uses: ./.github/actions/composite/test-report | |
| # with: | |
| # report_paths: earthly-out/TestResults/*.xml | |
| # if: always() | |
| #=================================================================== | |
| dagger: | |
| runs-on: ubuntu-latest | |
| needs: prepare | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: dagger/dagger-for-github@v3 | |
| with: | |
| cmds: | | |
| project init | |
| project update | |
| do ctest | |
| # FIXME: expected array of testsuites | |
| # - name: Report | |
| # uses: ./.github/actions/composite/test-report | |
| # with: | |
| # report_paths: dagger-out/TestResults/*.xml | |
| # if: always() | |
| #=================================================================== | |
| infer: | |
| runs-on: ubuntu-latest | |
| needs: prepare | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: srz-zumix/setup-infer@v1 | |
| - name: infer | |
| run: | | |
| infer -- make -C test IUTEST_USE_PYTHON=0 | |
| - name: Check Infer report | |
| uses: srz-zumix/reviewdog-action-infer@v1 | |
| with: | |
| reporter: github-pr-review | |
| #=================================================================== | |
| clang-tidy: | |
| runs-on: ubuntu-latest | |
| needs: prepare | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: reviewdog/action-setup@v1 | |
| - name: install clang-tidy | |
| run: | | |
| sudo apt-get install -qq -y clang-tidy | |
| - name: clang-tidy info | |
| run: | | |
| clang-tidy --version | |
| # clang-tidy -list-checks --config-file=.clang-tidy | |
| clang-tidy -list-checks -checks=*,-llvm-namespace-comment,-cppcoreguidelines-macro-usage,-modernize-use-trailing-return-type,-llvm-include-order,-clang-analyzer-* | |
| - name: cmake | |
| run: | | |
| mkdir ./cmake-build | |
| cd ./cmake-build | |
| cmake ../projects/cmake -Dbuild_for_clang_tidy=ON | |
| - name: cmake build clang-tidy | |
| env: | |
| REVIEWDOG_GITHUB_API_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
| run: | | |
| cmake --build cmake-build | reviewdog -reporter=github-pr-review -name="clang-tidy" -efm="%f:%l:%c: %m" -tee | |
| #=================================================================== | |
| lint-editorconfig: | |
| runs-on: ubuntu-latest | |
| needs: prepare | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - uses: actions/setup-node@v4 | |
| - name: lint:editorconfig | |
| run: | | |
| npm install | |
| npm run lint:editorconfig | |
| iwyu: | |
| runs-on: ubuntu-latest | |
| container: | |
| image: srzzumix/iwyu:latest | |
| credentials: | |
| username: ${{ secrets.DOCKERHUB_USERNAME }} | |
| password: ${{ secrets.DOCKERHUB_TOKEN }} | |
| needs: lint-editorconfig | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: CMake | |
| env: | |
| CC: clang | |
| CXX: clang++ | |
| run: | | |
| clang --version | |
| mkdir ./cmake-build | |
| cd ./cmake-build | |
| cmake -DCMAKE_C_COMPILER="${CC}" -DCMAKE_CXX_COMPILER="${CXX}" -DCMAKE_EXPORT_COMPILE_COMMANDS=ON \ | |
| -Dbuild_namespace_tests=OFF -Dbuild_for_iwyu=ON ../projects/cmake | |
| - name: Include What You Use | |
| run: | | |
| iwyu_tool.py -j2 -p ./cmake-build -- -Xiwyu --no_fwd_decls -Xiwyu --mapping_file=/opt/iwyu/gcc.symbols.imp |