From 79b67bbac883bacf2ab5dedf937ca6e9d41d5c41 Mon Sep 17 00:00:00 2001 From: Jiwon Gim Date: Fri, 7 Jun 2024 10:57:21 -0600 Subject: [PATCH] test --- .github/workflows/clang-tidy.yml | 92 ++++----- .github/workflows/clang_format.yml | 116 +++++------ .github/workflows/docker_and_coverage.yml | 112 +++++------ .github/workflows/gh_pages.yml | 232 +++++++++++----------- .github/workflows/mac.yml | 166 ++++++++-------- .github/workflows/publish-package.yml | 84 ++++---- .github/workflows/ubuntu.yml | 106 +++++----- .github/workflows/windows.yml | 3 +- 8 files changed, 456 insertions(+), 455 deletions(-) diff --git a/.github/workflows/clang-tidy.yml b/.github/workflows/clang-tidy.yml index d5f477eb0..8b4acde77 100644 --- a/.github/workflows/clang-tidy.yml +++ b/.github/workflows/clang-tidy.yml @@ -1,46 +1,46 @@ -name: Clang-Tidy - -on: [pull_request, workflow_dispatch] - -concurrency: - group: ${{ github.workflow }}-${{ github.ref || github.run_id }} - cancel-in-progress: true - -jobs: - tidy: - name: Run Clang-Tidy - runs-on: ubuntu-latest - - steps: - - name: Check out code, generate compile commands - uses: actions/checkout@v4 - with: - ref: ${{ github.head_ref }} - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Build clang-tidy and micm docker image - run: docker build -t micm-clang-tidy -f docker/Dockerfile.clang-tidy . - - - name: Scan includes - run: | - INCLUDE_FILES=$(find include -type f \( -name '*.hpp' -o -name '*.h' -o -name '*.cuh' -o -name '*.inl' \) | grep -v jit | grep -v '.inl' | grep -v '.cuh' ) - echo "scanning include files:" - echo ${INCLUDE_FILES} | tr " " "\n" - docker run --name include-scans -e INCLUDE_FILES="${INCLUDE_FILES}" -t micm-clang-tidy bash -c 'time clang-tidy -p ./build/ --config-file="./.clang-tidy" -header-filter=$(pwd)/include/.* --extra-arg "-lcudart_static" --extra-arg "-std=c++20" ${INCLUDE_FILES} -- -Iinclude/ -isystem ./cuda-build/_deps/json-src/include' - continue-on-error: true - - - name: Scan CUDA source - run: | - SOURCE_FILES=$(find src -type f \( -name '*.cu' -o -name '*.hpp' -o -name '*.h' -o -name '*.cpp' \)) - echo "scanning src files:" - echo ${SOURCE_FILES} | tr " " "\n" - docker run --name source-scans -e SOURCE_FILES="${SOURCE_FILES}" -t micm-clang-tidy bash -c 'time clang-tidy -p ./cuda-build/ --config-file="./.clang-tidy" -header-filter=$(pwd)/include/.* --extra-arg "-lcudart_static" --extra-arg "-std=c++20" --extra-arg "--cuda-gpu-arch=sm_70" ${SOURCE_FILES} -- -Iinclude/ -isystem ./cuda-build/_deps/googletest-src/googletest/include -isystem ./cuda-build/_deps/json-src/include' - continue-on-error: true - - - name: Scan Test files - run: | - TEST_FILES=$(find test -type f \( -name '*.hpp' -o -name '*.h' -o -name '*.cpp' -o -name '*.cuh' -o -name '*.cu' \) ! -path 'test/tutorial/*' ! -path '**/*.cuh' ! -path '**/*jit*' ) - echo "scanning test files:" - echo ${TEST_FILES} | tr " " "\n" - docker run --name test-scans -e TEST_FILES="${TEST_FILES}" -t micm-clang-tidy bash -c 'time clang-tidy -p ./cuda-build/ --config-file="./.clang-tidy" -header-filter=$(pwd)/include/.* --extra-arg "-lcudart_static" --extra-arg "-std=c++20" --extra-arg "--cuda-gpu-arch=sm_70" ${TEST_FILES} -- -Iinclude/ -isystem ./cuda-build/_deps/googletest-src/googletest/include -isystem ./cuda-build/_deps/json-src/include' - continue-on-error: true +# name: Clang-Tidy + +# on: [pull_request, workflow_dispatch] + +# concurrency: +# group: ${{ github.workflow }}-${{ github.ref || github.run_id }} +# cancel-in-progress: true + +# jobs: +# tidy: +# name: Run Clang-Tidy +# runs-on: ubuntu-latest + +# steps: +# - name: Check out code, generate compile commands +# uses: actions/checkout@v4 +# with: +# ref: ${{ github.head_ref }} +# token: ${{ secrets.GITHUB_TOKEN }} + +# - name: Build clang-tidy and micm docker image +# run: docker build -t micm-clang-tidy -f docker/Dockerfile.clang-tidy . + +# - name: Scan includes +# run: | +# INCLUDE_FILES=$(find include -type f \( -name '*.hpp' -o -name '*.h' -o -name '*.cuh' -o -name '*.inl' \) | grep -v jit | grep -v '.inl' | grep -v '.cuh' ) +# echo "scanning include files:" +# echo ${INCLUDE_FILES} | tr " " "\n" +# docker run --name include-scans -e INCLUDE_FILES="${INCLUDE_FILES}" -t micm-clang-tidy bash -c 'time clang-tidy -p ./build/ --config-file="./.clang-tidy" -header-filter=$(pwd)/include/.* --extra-arg "-lcudart_static" --extra-arg "-std=c++20" ${INCLUDE_FILES} -- -Iinclude/ -isystem ./cuda-build/_deps/json-src/include' +# continue-on-error: true + +# - name: Scan CUDA source +# run: | +# SOURCE_FILES=$(find src -type f \( -name '*.cu' -o -name '*.hpp' -o -name '*.h' -o -name '*.cpp' \)) +# echo "scanning src files:" +# echo ${SOURCE_FILES} | tr " " "\n" +# docker run --name source-scans -e SOURCE_FILES="${SOURCE_FILES}" -t micm-clang-tidy bash -c 'time clang-tidy -p ./cuda-build/ --config-file="./.clang-tidy" -header-filter=$(pwd)/include/.* --extra-arg "-lcudart_static" --extra-arg "-std=c++20" --extra-arg "--cuda-gpu-arch=sm_70" ${SOURCE_FILES} -- -Iinclude/ -isystem ./cuda-build/_deps/googletest-src/googletest/include -isystem ./cuda-build/_deps/json-src/include' +# continue-on-error: true + +# - name: Scan Test files +# run: | +# TEST_FILES=$(find test -type f \( -name '*.hpp' -o -name '*.h' -o -name '*.cpp' -o -name '*.cuh' -o -name '*.cu' \) ! -path 'test/tutorial/*' ! -path '**/*.cuh' ! -path '**/*jit*' ) +# echo "scanning test files:" +# echo ${TEST_FILES} | tr " " "\n" +# docker run --name test-scans -e TEST_FILES="${TEST_FILES}" -t micm-clang-tidy bash -c 'time clang-tidy -p ./cuda-build/ --config-file="./.clang-tidy" -header-filter=$(pwd)/include/.* --extra-arg "-lcudart_static" --extra-arg "-std=c++20" --extra-arg "--cuda-gpu-arch=sm_70" ${TEST_FILES} -- -Iinclude/ -isystem ./cuda-build/_deps/googletest-src/googletest/include -isystem ./cuda-build/_deps/json-src/include' +# continue-on-error: true diff --git a/.github/workflows/clang_format.yml b/.github/workflows/clang_format.yml index b2e75c0f3..09d626fb8 100644 --- a/.github/workflows/clang_format.yml +++ b/.github/workflows/clang_format.yml @@ -1,58 +1,58 @@ -name: Clang-Format - -on: - push: - branches: - - main - -jobs: - format: - name: Run Clang-Format - runs-on: ubuntu-latest - - steps: - - name: Install Clang-Format - run: sudo apt-get update && sudo apt-get install clang-format && clang-format --version - - - name: Check out code, run clang format, push changes - uses: actions/checkout@v4 - with: - ref: ${{ github.head_ref }} - token: ${{ secrets.GITHUB_TOKEN }} - - - name: Format code - run: | - find include -type f \( -name '*.hpp' -o -name '*.h' -o -name '*.cuh' -o -name '*.inl' \) -exec clang-format -i --style=file --verbose {} + - find src -type f \( -name '*.cu' -o -name '*.hpp' -o -name '*.h' -o -name '*.cpp' \) -exec clang-format -i --style=file --verbose {} + - find test -type f \( -name '*.hpp' -o -name '*.h' -o -name '*.cpp' -o -name '*.cuh' -o -name '*.cu' \) ! -path 'test/tutorial/*' -exec clang-format -i --style=file --verbose {} + - - - name: Check for changes - id: check-changes - run: | - git diff --exit-code - continue-on-error: true - - - name: Commit and push changes - # a failue of this step means changes were detected - if: steps.check-changes.outcome != 'success' - run: | - git config --global user.name "GitHub Actions" - git config --global user.email "actions@github.com" - git commit -am "Auto-format code using Clang-Format" || echo "No changes to commit" - - - name: Push changes to main-formatting branch - # a failue of this step means changes were detected - if: steps.check-changes.outcome != 'success' - run: | - git push origin HEAD:main-formatting - - - name: Create Pull Request - # a failue of this step means changes were detected - if: steps.check-changes.outcome != 'success' - uses: peter-evans/create-pull-request@v3 - with: - token: ${{ secrets.GITHUB_TOKEN }} - commit-message: "Auto-format code using Clang-Format" - title: "Auto-format code changes" - body: "This is an automated pull request to apply code formatting using Clang-Format." - branch: "main-formatting" +# name: Clang-Format + +# on: +# push: +# branches: +# - main + +# jobs: +# format: +# name: Run Clang-Format +# runs-on: ubuntu-latest + +# steps: +# - name: Install Clang-Format +# run: sudo apt-get update && sudo apt-get install clang-format && clang-format --version + +# - name: Check out code, run clang format, push changes +# uses: actions/checkout@v4 +# with: +# ref: ${{ github.head_ref }} +# token: ${{ secrets.GITHUB_TOKEN }} + +# - name: Format code +# run: | +# find include -type f \( -name '*.hpp' -o -name '*.h' -o -name '*.cuh' -o -name '*.inl' \) -exec clang-format -i --style=file --verbose {} + +# find src -type f \( -name '*.cu' -o -name '*.hpp' -o -name '*.h' -o -name '*.cpp' \) -exec clang-format -i --style=file --verbose {} + +# find test -type f \( -name '*.hpp' -o -name '*.h' -o -name '*.cpp' -o -name '*.cuh' -o -name '*.cu' \) ! -path 'test/tutorial/*' -exec clang-format -i --style=file --verbose {} + + +# - name: Check for changes +# id: check-changes +# run: | +# git diff --exit-code +# continue-on-error: true + +# - name: Commit and push changes +# # a failue of this step means changes were detected +# if: steps.check-changes.outcome != 'success' +# run: | +# git config --global user.name "GitHub Actions" +# git config --global user.email "actions@github.com" +# git commit -am "Auto-format code using Clang-Format" || echo "No changes to commit" + +# - name: Push changes to main-formatting branch +# # a failue of this step means changes were detected +# if: steps.check-changes.outcome != 'success' +# run: | +# git push origin HEAD:main-formatting + +# - name: Create Pull Request +# # a failue of this step means changes were detected +# if: steps.check-changes.outcome != 'success' +# uses: peter-evans/create-pull-request@v3 +# with: +# token: ${{ secrets.GITHUB_TOKEN }} +# commit-message: "Auto-format code using Clang-Format" +# title: "Auto-format code changes" +# body: "This is an automated pull request to apply code formatting using Clang-Format." +# branch: "main-formatting" diff --git a/.github/workflows/docker_and_coverage.yml b/.github/workflows/docker_and_coverage.yml index 86b01975c..cd664f5df 100644 --- a/.github/workflows/docker_and_coverage.yml +++ b/.github/workflows/docker_and_coverage.yml @@ -1,57 +1,57 @@ -name: Docker - -on: [pull_request, workflow_dispatch] - -concurrency: - group: ${{ github.workflow }}-${{ github.ref || github.run_id }} - cancel-in-progress: true - -jobs: - docker-build-and-test: - name: Build and Test - ${{ matrix.dockerfile }} - runs-on: ubuntu-latest - strategy: - fail-fast: false - matrix: - os: [ubuntu-latest] - dockerfile: - - Dockerfile - - Dockerfile.coverage - - Dockerfile.llvm - - Dockerfile.memcheck - - Dockerfile.no_json - - Dockerfile.nvhpc - - Dockerfile.openmp - - Dockerfile.intel - # - Dockerfile.mpi - steps: - - name: Checkout code - uses: actions/checkout@v4 - with: - submodules: recursive +# name: Docker + +# on: [pull_request, workflow_dispatch] + +# concurrency: +# group: ${{ github.workflow }}-${{ github.ref || github.run_id }} +# cancel-in-progress: true + +# jobs: +# docker-build-and-test: +# name: Build and Test - ${{ matrix.dockerfile }} +# runs-on: ubuntu-latest +# strategy: +# fail-fast: false +# matrix: +# os: [ubuntu-latest] +# dockerfile: +# - Dockerfile +# - Dockerfile.coverage +# - Dockerfile.llvm +# - Dockerfile.memcheck +# - Dockerfile.no_json +# - Dockerfile.nvhpc +# - Dockerfile.openmp +# - Dockerfile.intel +# # - Dockerfile.mpi +# steps: +# - name: Checkout code +# uses: actions/checkout@v4 +# with: +# submodules: recursive - - name: Delete huge unnecessary tools folder - run: rm -rf /opt/hostedtoolcache - - - name: Build Docker image - run: docker build -t micm -f docker/${{ matrix.dockerfile }} . - - - name: Run tests in container - # only run this if we are not running coverage tests or have built the cuda files - if: matrix.dockerfile != 'Dockerfile.coverage' && matrix.dockerfile != 'Dockerfile.nvhpc' - run: docker run --name test-container -t micm bash -c 'make test ARGS="--rerun-failed --output-on-failure -j8"' - - - name: Run coverage tests in container - if: matrix.dockerfile == 'Dockerfile.coverage' - run: docker run --name test-container -t micm bash -c 'make coverage ARGS="--rerun-failed --output-on-failure -j8"' - - - name: Copy coverage from container - if: matrix.dockerfile == 'Dockerfile.coverage' - run: docker cp test-container:build/coverage.info . - - - name: Upload coverage report - if: matrix.dockerfile == 'Dockerfile.coverage' - uses: codecov/codecov-action@v3 - with: - token: ${{ secrets.CODECOV_TOKEN }} - files: coverage.info +# - name: Delete huge unnecessary tools folder +# run: rm -rf /opt/hostedtoolcache + +# - name: Build Docker image +# run: docker build -t micm -f docker/${{ matrix.dockerfile }} . + +# - name: Run tests in container +# # only run this if we are not running coverage tests or have built the cuda files +# if: matrix.dockerfile != 'Dockerfile.coverage' && matrix.dockerfile != 'Dockerfile.nvhpc' +# run: docker run --name test-container -t micm bash -c 'make test ARGS="--rerun-failed --output-on-failure -j8"' + +# - name: Run coverage tests in container +# if: matrix.dockerfile == 'Dockerfile.coverage' +# run: docker run --name test-container -t micm bash -c 'make coverage ARGS="--rerun-failed --output-on-failure -j8"' + +# - name: Copy coverage from container +# if: matrix.dockerfile == 'Dockerfile.coverage' +# run: docker cp test-container:build/coverage.info . + +# - name: Upload coverage report +# if: matrix.dockerfile == 'Dockerfile.coverage' +# uses: codecov/codecov-action@v3 +# with: +# token: ${{ secrets.CODECOV_TOKEN }} +# files: coverage.info diff --git a/.github/workflows/gh_pages.yml b/.github/workflows/gh_pages.yml index 5f55f646d..95fb20489 100644 --- a/.github/workflows/gh_pages.yml +++ b/.github/workflows/gh_pages.yml @@ -1,128 +1,128 @@ -# Build and deploy documentation to GitHub Pages -name: GitHub Pages +# # Build and deploy documentation to GitHub Pages +# name: GitHub Pages -on: [pull_request, push] +# on: [pull_request, push] -env: - DEFAULT_BRANCH: "release" +# env: +# DEFAULT_BRANCH: "release" -jobs: - build-and-deploy: - name: Build and deploy to gh-pages - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - with: - fetch-depth: 0 - lfs: true +# jobs: +# build-and-deploy: +# name: Build and deploy to gh-pages +# runs-on: ubuntu-latest +# steps: +# - uses: actions/checkout@v4 +# with: +# fetch-depth: 0 +# lfs: true - - name: Debugging information - run: | - echo "github.ref:" ${{github.ref}} - echo "github.event_name:" ${{github.event_name}} - echo "github.head_ref:" ${{github.head_ref}} - echo "github.base_ref:" ${{github.base_ref}} - set -x - git rev-parse --abbrev-ref HEAD - git branch - git branch -a - git remote -v - python -V - pip list --not-required - pip list +# - name: Debugging information +# run: | +# echo "github.ref:" ${{github.ref}} +# echo "github.event_name:" ${{github.event_name}} +# echo "github.head_ref:" ${{github.head_ref}} +# echo "github.base_ref:" ${{github.base_ref}} +# set -x +# git rev-parse --abbrev-ref HEAD +# git branch +# git branch -a +# git remote -v +# python -V +# pip list --not-required +# pip list - # Clone and set up the old gh-pages branch - - name: Clone old gh-pages - if: ${{ github.event_name == 'push' }} - run: | - set -x - git fetch - ( git branch gh-pages remotes/origin/gh-pages && git clone . --branch=gh-pages _gh-pages/ ) || mkdir _gh-pages - rm -rf _gh-pages/.git/ - mkdir -p _gh-pages/branch/ +# # Clone and set up the old gh-pages branch +# - name: Clone old gh-pages +# if: ${{ github.event_name == 'push' }} +# run: | +# set -x +# git fetch +# ( git branch gh-pages remotes/origin/gh-pages && git clone . --branch=gh-pages _gh-pages/ ) || mkdir _gh-pages +# rm -rf _gh-pages/.git/ +# mkdir -p _gh-pages/branch/ - # If a push and default branch, copy build to _gh-pages/ as the "main" - # deployment. - - name: Build and copy documentation (default branch) - if: | - contains(github.event_name, 'push') && - contains(github.ref, env.DEFAULT_BRANCH) - run: | - set -x - mkdir -p _build/html/versions +# # If a push and default branch, copy build to _gh-pages/ as the "main" +# # deployment. +# - name: Build and copy documentation (default branch) +# if: | +# contains(github.event_name, 'push') && +# contains(github.ref, env.DEFAULT_BRANCH) +# run: | +# set -x +# mkdir -p _build/html/versions - # create two copies of the documentation - # 1. the frozen version, represented as vX.X in the version switcher - docker build -t micm -f docker/Dockerfile.docs . - id=$(docker create micm) - docker cp $id:/build/docs/sphinx tmpdocs - docker rm -v $id - version=$(sed -nr "s/^release = f'v(.+)\{suffix\}'.*$/\1/p" docs/source/conf.py) - mv tmpdocs _build/html/versions/${version} +# # create two copies of the documentation +# # 1. the frozen version, represented as vX.X in the version switcher +# docker build -t micm -f docker/Dockerfile.docs . +# id=$(docker create micm) +# docker cp $id:/build/docs/sphinx tmpdocs +# docker rm -v $id +# version=$(sed -nr "s/^release = f'v(.+)\{suffix\}'.*$/\1/p" docs/source/conf.py) +# mv tmpdocs _build/html/versions/${version} - # 2. stable, represented as vX.X (stable) in the version switcher - # edit conf.py to produce a version string that looks like vX.X (stable) - docker build -t micm -f docker/Dockerfile.docs --build-arg SUFFIX=" (stable)" . - id=$(docker create micm) - docker cp $id:/build/docs/sphinx tmpdocs - docker rm -v $id - mv tmpdocs _build/html/versions/stable - # Delete everything under _gh-pages/ that is from the - # primary branch deployment. Excludes the other branches - # _gh-pages/branch-* paths, and not including - # _gh-pages itself. - find _gh-pages/ -mindepth 1 ! -path '_gh-pages/branch*' ! -path '_gh-pages/versions*' -delete - rsync -a _build/html/versions/stable/* _gh-pages/ - mkdir -p _gh-pages/versions - rsync -a _build/html/versions/* _gh-pages/versions - ls -l _build/html/versions - ls -l _gh-pages/versions +# # 2. stable, represented as vX.X (stable) in the version switcher +# # edit conf.py to produce a version string that looks like vX.X (stable) +# docker build -t micm -f docker/Dockerfile.docs --build-arg SUFFIX=" (stable)" . +# id=$(docker create micm) +# docker cp $id:/build/docs/sphinx tmpdocs +# docker rm -v $id +# mv tmpdocs _build/html/versions/stable +# # Delete everything under _gh-pages/ that is from the +# # primary branch deployment. Excludes the other branches +# # _gh-pages/branch-* paths, and not including +# # _gh-pages itself. +# find _gh-pages/ -mindepth 1 ! -path '_gh-pages/branch*' ! -path '_gh-pages/versions*' -delete +# rsync -a _build/html/versions/stable/* _gh-pages/ +# mkdir -p _gh-pages/versions +# rsync -a _build/html/versions/* _gh-pages/versions +# ls -l _build/html/versions +# ls -l _gh-pages/versions - # If a push and not on default branch, then copy the build to - # _gh-pages/branch/$brname (transforming '/' into '--') - - name: Build and copy documentation (branch) - if: | - contains(github.event_name, 'push') && - !contains(github.ref, env.DEFAULT_BRANCH) - run: | - set -x - docker build -t micm -f docker/Dockerfile.docs . - id=$(docker create micm) - docker cp $id:/build/docs/sphinx tmpdocs - docker rm -v $id - brname="${{github.ref}}" - brname="${brname##refs/heads/}" - brdir=${brname//\//--} # replace '/' with '--' - rm -rf _gh-pages/branch/${brdir} - rsync -a tmpdocs/ _gh-pages/branch/${brdir} +# # If a push and not on default branch, then copy the build to +# # _gh-pages/branch/$brname (transforming '/' into '--') +# - name: Build and copy documentation (branch) +# if: | +# contains(github.event_name, 'push') && +# !contains(github.ref, env.DEFAULT_BRANCH) +# run: | +# set -x +# docker build -t micm -f docker/Dockerfile.docs . +# id=$(docker create micm) +# docker cp $id:/build/docs/sphinx tmpdocs +# docker rm -v $id +# brname="${{github.ref}}" +# brname="${brname##refs/heads/}" +# brdir=${brname//\//--} # replace '/' with '--' +# rm -rf _gh-pages/branch/${brdir} +# rsync -a tmpdocs/ _gh-pages/branch/${brdir} - # Go through each branch in _gh-pages/branch/, if it's not a - # ref, then delete it. - - name: Delete old feature branches - if: ${{ github.event_name == 'push' }} - run: | - set -x - for brdir in `ls _gh-pages/branch/` ; do - brname=${brdir//--/\/} # replace '--' with '/' - if ! git show-ref remotes/origin/$brname ; then - echo "Removing $brdir" - rm -r _gh-pages/branch/$brdir/ - fi - done +# # Go through each branch in _gh-pages/branch/, if it's not a +# # ref, then delete it. +# - name: Delete old feature branches +# if: ${{ github.event_name == 'push' }} +# run: | +# set -x +# for brdir in `ls _gh-pages/branch/` ; do +# brname=${brdir//--/\/} # replace '--' with '/' +# if ! git show-ref remotes/origin/$brname ; then +# echo "Removing $brdir" +# rm -r _gh-pages/branch/$brdir/ +# fi +# done - # Add the .nojekyll file - - name: nojekyll - if: ${{ github.event_name == 'push' }} - run: | - touch _gh-pages/.nojekyll +# # Add the .nojekyll file +# - name: nojekyll +# if: ${{ github.event_name == 'push' }} +# run: | +# touch _gh-pages/.nojekyll - # Deploy - # https://github.com/peaceiris/actions-gh-pages - - name: Deploy - uses: peaceiris/actions-gh-pages@v3 - if: ${{ github.event_name == 'push' }} - with: - publish_branch: gh-pages - github_token: ${{ secrets.GITHUB_TOKEN }} - publish_dir: _gh-pages/ - force_orphan: true \ No newline at end of file +# # Deploy +# # https://github.com/peaceiris/actions-gh-pages +# - name: Deploy +# uses: peaceiris/actions-gh-pages@v3 +# if: ${{ github.event_name == 'push' }} +# with: +# publish_branch: gh-pages +# github_token: ${{ secrets.GITHUB_TOKEN }} +# publish_dir: _gh-pages/ +# force_orphan: true \ No newline at end of file diff --git a/.github/workflows/mac.yml b/.github/workflows/mac.yml index 006bc10a7..0879b31cf 100644 --- a/.github/workflows/mac.yml +++ b/.github/workflows/mac.yml @@ -1,83 +1,83 @@ -name: Mac - -on: [pull_request, workflow_dispatch] - -concurrency: - group: ${{ github.workflow }}-${{ github.ref || github.run_id }} - cancel-in-progress: true - -jobs: - xcode_macos_12: - runs-on: macos-12 - strategy: - matrix: - # all available versions of xcode: https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md#xcode - xcode: ['14.1'] - build_type: [Release] - env: - DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer - - steps: - - uses: actions/checkout@v4 - - - name: Run Cmake - run: cmake -S . -B build -D MICM_ENABLE_PROFILE=ON -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} - - - name: Build - run: cmake --build build --parallel 10 - - - name: Run tests - run: | - cd build - ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose -j 10 - - xcode_macos_13: - runs-on: macos-13 - strategy: - matrix: - # all available versions of xcode: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md#xcode - xcode: ['14.1', '15.0'] - build_type: [Release] - env: - DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer - - steps: - - uses: actions/checkout@v4 - - - name: Run Cmake - run: cmake -S . -B build -D MICM_ENABLE_PROFILE=ON -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} - - - name: Build - run: cmake --build build --parallel 10 - - - name: Run tests - run: | - cd build - ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose -j 10 - - macos_lateset: - runs-on: macos-latest - strategy: - matrix: - compiler: - - { cpp: g++-11, c: gcc-11} - - { cpp: g++-12, c: gcc-12} - - { cpp: clang++, c: clang} - build_type: [Release] - env: - CC: ${{ matrix.compiler.c }} - CXX: ${{ matrix.compiler.cpp }} - - steps: - - uses: actions/checkout@v4 - - - name: Run Cmake - run: cmake -S . -B build -D MICM_ENABLE_PROFILE=ON -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} - - - name: Build - run: cmake --build build --parallel 10 - - - name: Run tests - run: | - cd build - ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose -j 10 \ No newline at end of file +# name: Mac + +# on: [pull_request, workflow_dispatch] + +# concurrency: +# group: ${{ github.workflow }}-${{ github.ref || github.run_id }} +# cancel-in-progress: true + +# jobs: +# xcode_macos_12: +# runs-on: macos-12 +# strategy: +# matrix: +# # all available versions of xcode: https://github.com/actions/runner-images/blob/main/images/macos/macos-12-Readme.md#xcode +# xcode: ['14.1'] +# build_type: [Release] +# env: +# DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer + +# steps: +# - uses: actions/checkout@v4 + +# - name: Run Cmake +# run: cmake -S . -B build -D MICM_ENABLE_PROFILE=ON -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} + +# - name: Build +# run: cmake --build build --parallel 10 + +# - name: Run tests +# run: | +# cd build +# ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose -j 10 + +# xcode_macos_13: +# runs-on: macos-13 +# strategy: +# matrix: +# # all available versions of xcode: https://github.com/actions/runner-images/blob/main/images/macos/macos-13-Readme.md#xcode +# xcode: ['14.1', '15.0'] +# build_type: [Release] +# env: +# DEVELOPER_DIR: /Applications/Xcode_${{ matrix.xcode }}.app/Contents/Developer + +# steps: +# - uses: actions/checkout@v4 + +# - name: Run Cmake +# run: cmake -S . -B build -D MICM_ENABLE_PROFILE=ON -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} + +# - name: Build +# run: cmake --build build --parallel 10 + +# - name: Run tests +# run: | +# cd build +# ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose -j 10 + +# macos_lateset: +# runs-on: macos-latest +# strategy: +# matrix: +# compiler: +# - { cpp: g++-11, c: gcc-11} +# - { cpp: g++-12, c: gcc-12} +# - { cpp: clang++, c: clang} +# build_type: [Release] +# env: +# CC: ${{ matrix.compiler.c }} +# CXX: ${{ matrix.compiler.cpp }} + +# steps: +# - uses: actions/checkout@v4 + +# - name: Run Cmake +# run: cmake -S . -B build -D MICM_ENABLE_PROFILE=ON -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} + +# - name: Build +# run: cmake --build build --parallel 10 + +# - name: Run tests +# run: | +# cd build +# ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose -j 10 \ No newline at end of file diff --git a/.github/workflows/publish-package.yml b/.github/workflows/publish-package.yml index 4c4c4dc2d..dd2da4db2 100644 --- a/.github/workflows/publish-package.yml +++ b/.github/workflows/publish-package.yml @@ -1,50 +1,50 @@ -name: Create and publish a Docker image +# name: Create and publish a Docker image -on: - push: - branches: ['release'] - tags: - - '*' +# on: +# push: +# branches: ['release'] +# tags: +# - '*' -env: - REGISTRY: ghcr.io - IMAGE_NAME: ${{ github.repository }} +# env: +# REGISTRY: ghcr.io +# IMAGE_NAME: ${{ github.repository }} -jobs: - build-and-push-image: - runs-on: ubuntu-latest - permissions: - contents: read - packages: write +# jobs: +# build-and-push-image: +# runs-on: ubuntu-latest +# permissions: +# contents: read +# packages: write - steps: - - name: Checkout repository - uses: actions/checkout@v4 - with: - submodules: recursive +# steps: +# - name: Checkout repository +# uses: actions/checkout@v4 +# with: +# submodules: recursive - - name: Login to Container Registry - uses: docker/login-action@v2 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} +# - name: Login to 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@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} +# - name: Extract metadata (tags, labels) for Docker +# id: meta +# uses: docker/metadata-action@98669ae865ea3cffbcbaa878cf57c20bbf1c6c38 +# with: +# images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 +# - name: Set up Docker Buildx +# uses: docker/setup-buildx-action@v2 - - name: Build and push Docker image - uses: docker/build-push-action@v5 - with: - context: . - platforms: linux/amd64 - file: docker/Dockerfile.publish - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file +# - name: Build and push Docker image +# uses: docker/build-push-action@v5 +# with: +# context: . +# platforms: linux/amd64 +# file: docker/Dockerfile.publish +# push: true +# tags: ${{ steps.meta.outputs.tags }} +# labels: ${{ steps.meta.outputs.labels }} \ No newline at end of file diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index ae7df3353..c2a26cfee 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -1,55 +1,55 @@ -name: Ubuntu +# name: Ubuntu -on: [pull_request, workflow_dispatch] +# on: [pull_request, workflow_dispatch] -concurrency: - group: ${{ github.workflow }}-${{ github.ref || github.run_id }} - cancel-in-progress: true - -jobs: - gcc: - runs-on: ubuntu-latest - strategy: - matrix: - build_type: [Release] - env: - CC: gcc - CXX: g++ - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Run Cmake - run: cmake -S . -B build -D MICM_ENABLE_PROFILE=ON -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} - - - name: Build - run: cmake --build build --parallel 10 - - - name: Run tests - run: | - cd build - ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose -j 10 - - clang: - if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name - runs-on: ubuntu-latest - strategy: - matrix: - build_type: [Release] - env: - CC: clang - CXX: clang++ - steps: - - name: Checkout code - uses: actions/checkout@v4 - - - name: Run Cmake - run: cmake -S . -B build -D MICM_ENABLE_PROFILE=ON -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} - - - name: Build - run: cmake --build build --verbose - - - name: Run tests - run: | - cd build - ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose -j 10 \ No newline at end of file +# concurrency: +# group: ${{ github.workflow }}-${{ github.ref || github.run_id }} +# cancel-in-progress: true + +# jobs: +# gcc: +# runs-on: ubuntu-latest +# strategy: +# matrix: +# build_type: [Release] +# env: +# CC: gcc +# CXX: g++ +# steps: +# - name: Checkout code +# uses: actions/checkout@v4 + +# - name: Run Cmake +# run: cmake -S . -B build -D MICM_ENABLE_PROFILE=ON -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} + +# - name: Build +# run: cmake --build build --parallel 10 + +# - name: Run tests +# run: | +# cd build +# ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose -j 10 + +# clang: +# if: github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name != github.event.pull_request.base.repo.full_name +# runs-on: ubuntu-latest +# strategy: +# matrix: +# build_type: [Release] +# env: +# CC: clang +# CXX: clang++ +# steps: +# - name: Checkout code +# uses: actions/checkout@v4 + +# - name: Run Cmake +# run: cmake -S . -B build -D MICM_ENABLE_PROFILE=ON -D CMAKE_BUILD_TYPE=${{ matrix.build_type }} + +# - name: Build +# run: cmake --build build --verbose + +# - name: Run tests +# run: | +# cd build +# ctest -C ${{ matrix.build_type }} --rerun-failed --output-on-failure . --verbose -j 10 \ No newline at end of file diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 2b4ae4152..30b381d8f 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -55,7 +55,8 @@ jobs: runs-on: windows-2022 strategy: matrix: - build_type: [Release] + # build_type: [Release] + build_type: [Debug] architecture: [Win32, x64] steps: