diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 6765d81a8b..fa22ca7a66 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -25,7 +25,7 @@ If applicable, add screenshots to help explain your problem. **Platform (please complete the following information):** - Supercomputer or desktop [e.g., Trinity, Sierra) - - Compiler environment [e.g., clang-3.9, gcc8] + - Compiler environment [e.g., clang-4.0, gcc8] - Libraries [e.g., mpich-2, openmpi) - Commit ID or release of VT [e.g., vt-1.0.0] diff --git a/.github/workflows/build-docs.yml b/.github/workflows/build-docs.yml index aee70500e7..b748649fe9 100644 --- a/.github/workflows/build-docs.yml +++ b/.github/workflows/build-docs.yml @@ -18,7 +18,7 @@ jobs: ARCH: amd64 UBUNTU: 18.04 COMPILER_TYPE: gnu - COMPILER: gcc-5 + COMPILER: gcc-7 BUILD_TYPE: release ULIMIT_CORE: 0 VT_LB: 1 diff --git a/README.md b/README.md index c43a41e7bf..e39ef4d542 100644 --- a/README.md +++ b/README.md @@ -4,13 +4,10 @@ [![codecov](https://codecov.io/gh/DARMA-tasking/vt/branch/develop/graph/badge.svg)](https://codecov.io/gh/DARMA-tasking/vt) [![License](https://img.shields.io/badge/License-BSD%203--Clause-orange.svg)](https://opensource.org/licenses/BSD-3-Clause) ![](https://github.com/DARMA-tasking/vt/workflows/Docker%20Image%20CI/badge.svg) -[![gcc-5, ubuntu, mpich](https://dev.azure.com/DARMA-tasking/DARMA/_apis/build/status/PR%20tests%20(gcc-5%2C%20ubuntu%2C%20mpich)?branchName=develop&Label=(gcc-5%2C%20ubuntu%2C%20mpich))](https://dev.azure.com/DARMA-tasking/DARMA/_build/latest?definitionId=2&branchName=develop) -[![gcc-6, ubuntu, mpich](https://dev.azure.com/DARMA-tasking/DARMA/_apis/build/status/PR%20tests%20(gcc-6%2C%20ubuntu%2C%20mpich)?branchName=develop&Label=(gcc-6%2C%20ubuntu%2C%20mpich))](https://dev.azure.com/DARMA-tasking/DARMA/_build/latest?definitionId=7&branchName=develop) [![gcc-7, ubuntu, mpich, trace runtime, LB](https://dev.azure.com/DARMA-tasking/DARMA/_apis/build/status/PR%20tests%20(gcc-7%2C%20ubuntu%2C%20mpich%2C%20trace%20runtime%2C%20LB)?branchName=develop&Label=(gcc-7%2C%20ubuntu%2C%20mpich%2C%20trace%20runtime%2C%20LB))](https://dev.azure.com/DARMA-tasking/DARMA/_build/latest?definitionId=8&branchName=develop) [![gcc-8, ubuntu, mpich, address sanitizer](https://dev.azure.com/DARMA-tasking/DARMA/_apis/build/status/PR%20tests%20(gcc-8%2C%20ubuntu%2C%20mpich%2C%20address%20sanitizer)?branchName=develop&Label=(gcc-8%2C%20ubuntu%2C%20mpich%2C%20address%20sanitizer))](https://dev.azure.com/DARMA-tasking/DARMA/_build/latest?definitionId=9&branchName=develop) [![gcc-9, ubuntu, mpich, zoltan](https://dev.azure.com/DARMA-tasking/DARMA/_apis/build/status/PR%20tests%20(gcc-9%2C%20ubuntu%2C%20mpich%2C%20zoltan)?branchName=develop&Label=(gcc-9%2C%20ubuntu%2C%20mpich%2C%20zoltan))](https://dev.azure.com/DARMA-tasking/DARMA/_build/latest?definitionId=10&branchName=develop) [![gcc-10, ubuntu, openmpi, no LB](https://dev.azure.com/DARMA-tasking/DARMA/_apis/build/status/PR%20tests%20(gcc-10%2C%20ubuntu%2C%20openmpi%2C%20no%20LB)?branchName=develop&Label=(gcc-10%2C%20ubuntu%2C%20openmpi%2C%20no%20LB))](https://dev.azure.com/DARMA-tasking/DARMA/_build/latest?definitionId=4&branchName=develop) -[![clang-3.9, ubuntu, mpich](https://dev.azure.com/DARMA-tasking/DARMA/_apis/build/status/PR%20tests%20(clang-3.9%2C%20ubuntu%2C%20mpich)?branchName=develop&Label=(clang-3.9%2C%20ubuntu%2C%20mpich))](https://dev.azure.com/DARMA-tasking/DARMA/_build/latest?definitionId=3&branchName=develop) [![clang-5, ubuntu, mpich, trace](https://dev.azure.com/DARMA-tasking/DARMA/_apis/build/status/PR%20tests%20(clang-5.0%2C%20ubuntu%2C%20mpich)?branchName=develop&Label=(clang-5.0%2C%20ubuntu%2C%20mpich))](https://dev.azure.com/DARMA-tasking/DARMA/_build/latest?definitionId=5&branchName=develop) [![clang-9, ubuntu, mpich](https://dev.azure.com/DARMA-tasking/DARMA/_apis/build/status/PR%20tests%20(clang-9%2C%20ubuntu%2C%20mpich)?branchName=develop&Label=(clang-9.0%2C%20ubuntu%2C%20mpich))](https://dev.azure.com/DARMA-tasking/DARMA/_build?definitionId=22&branchName=develop) [![clang-10, ubuntu, mpich](https://dev.azure.com/DARMA-tasking/DARMA/_apis/build/status/PR%20tests%20(clang-10%2C%20ubuntu%2C%20mpich)?branchName=develop&Label=(clang-10.0%2C%20ubuntu%2C%20mpich))](https://dev.azure.com/DARMA-tasking/DARMA/_build?definitionId=21&branchName=develop) diff --git a/ci/azure/azure-clang-3.9-ubuntu-mpich.yml b/ci/azure/azure-clang-3.9-ubuntu-mpich.yml deleted file mode 100644 index 6e5d0f410a..0000000000 --- a/ci/azure/azure-clang-3.9-ubuntu-mpich.yml +++ /dev/null @@ -1,211 +0,0 @@ -############################################################################### -############## Warning this is a generated file---do not modify ############### -############################################################################### - -name: PR tests (clang-3.9, ubuntu, mpich) - -trigger: - branches: - include: - - develop - - 1.0.0* - -pr: - drafts: false - autoCancel: true - branches: - include: - - '*' - - -resources: -- repo: self - -variables: - tag: '$(Build.BuildId)' - REPO: lifflander1/vt - ARCH: amd64 - UBUNTU: 18.04 - COMPILER_TYPE: clang - COMPILER: clang-3.9 - BUILD_TYPE: release - ULIMIT_CORE: 0 - CODE_COVERAGE: 0 - VT_LB: 1 - VT_TRACE: 0 - VT_TRACE_RT: 0 - VT_TRACE_ONLY: 1 - VT_MIMALLOC: 0 - VT_DOCS: 0 - VT_ASAN: 0 - VT_UBSAN: 0 - VT_WERROR: 1 - VT_POOL: 1 - VT_EXTENDED_TESTS: 1 - VT_TESTS_NUM_NODES: 2 - VT_UNITY_BUILD: 1 - VT_PRODUCTION_BUILD: 1 - VT_FCONTEXT: 1 - VT_USE_OPENMP: 0 - VT_USE_STD_THREAD: 0 - VT_ZOLTAN: 0 - VT_CI_BUILD: 1 - VT_DIAGNOSTICS: 1 - VT_NO_COLOR: 1 - VT_BUILD_SHARED_LIBS: 0 - VT_INCLUSION: TPL - CMAKE_CXX_STANDARD: 14 - TEST_LB_SCHEMA: 0 - CACHE: "$(Agent.TempDirectory)/cache/" - cache_name: ubuntu-clang-3.9-cache - build_root: "$(CACHE)/$(ARCH)-ubuntu-$(UBUNTU)-$(COMPILER)-cache/" - TS: 0 - TS_YEAR: 0 - TS_MONTH: 0 - TS_DAY: 0 - - - -stages: -- stage: Build - displayName: Build image - jobs: - - job: Build - displayName: Build - pool: - vmImage: 'ubuntu-22.04' - timeoutInMinutes: 180 - steps: - - task: Bash@3 - displayName: Job setup - inputs: - targetType: 'inline' - script: | - echo setup - - task: Bash@3 - displayName: Build timestamp for caching - continueOnError: true - inputs: - targetType: 'inline' - script: | - echo 'string(TIMESTAMP current_date "%H;%M;%S" UTC)' > script - echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script - val=$(cmake -P script) - echo "##vso[task.setvariable variable=TS]$val" - echo 'string(TIMESTAMP current_date "%Y" UTC)' > script - echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script - val=$(cmake -P script) - echo "##vso[task.setvariable variable=TS_YEAR]$val" - echo 'string(TIMESTAMP current_date "%m" UTC)' > script - echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script - val=$(cmake -P script) - echo "##vso[task.setvariable variable=TS_MONTH]$val" - echo 'string(TIMESTAMP current_date "%d" UTC)' > script - echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script - val=$(cmake -P script) - echo "##vso[task.setvariable variable=TS_DAY]$val" - - task: Bash@3 - displayName: Output timestamp for caching - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetType: 'inline' - script: 'echo "my pipeline variable is $(TS) $(TS_YEAR) $(TS_MONTH) $(TS_DAY)"' - - task: Cache@2 - displayName: Update cache - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - securityNamespace: cache - key: $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY) | $(TS) - path: '$(build_root)/ccache' - restoreKeys: | - $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY) - $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) - $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) - $(Agent.OS) | "$(cache_name)" - - task: Bash@3 - displayName: Check for changes in containers - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetType: 'inline' - script: | - val=$(./scripts/check_containers.sh) - echo "##vso[task.setvariable variable=compose_command]$val" - - task: DockerCompose@0 - displayName: Pull container - inputs: - containerregistrytype: 'Container Registry' - dockerComposeFile: '**/docker-compose.yml' - action: 'Run a Docker Compose command' - dockerComposeCommand: '$(compose_command) ubuntu-cpp-clean' - - task: DockerCompose@0 - displayName: Build container - inputs: - containerregistrytype: 'Container Registry' - dockerComposeFile: '**/docker-compose.yml' - action: 'Run a Docker Compose command' - dockerComposeCommand: 'run ubuntu-cpp-clean' - env: - CODECOV_TOKEN: $(codecov_token) - - task: Bash@3 - displayName: Put compilation's and tests' logs in PR comment - continueOnError: true - condition: and(succeededOrFailed(), eq(variables['Build.Reason'], 'PullRequest')) - inputs: - targetType: 'inline' - script: | - ./scripts/report_logs_in_comment.sh \ - "$(build_root)/vt/compilation_errors_warnings.out" \ - "$(build_root)/vt/cmake-output.log" \ - "$(Build.BuildNumber)" \ - "$(System.PullRequest.PullRequestNumber)" \ - "$(Build.Repository.Name)" \ - "$GITHUB_PAT" \ - "$(Build.BuildId)" \ - "$(System.JobId)" \ - "$(Agent.JobStatus)" - env: - GITHUB_PAT: $(github_pat) - - task: DockerCompose@0 - displayName: Push container to registry - continueOnError: true - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop')) - inputs: - containerregistrytype: 'Container Registry' - dockerRegistryEndpoint: 'dockerRegistryConnection1' - dockerComposeFile: '**/docker-compose.yml' - action: 'Run a Docker Compose command' - dockerComposeCommand: 'push ubuntu-cpp-clean' - - task: Bash@3 - displayName: Create artifacts - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetType: 'inline' - script: | - zip -j $(Agent.TempDirectory)/LastTest.log.gz $(build_root)/vt/Testing/Temporary/LastTest.log - zip -j $(Agent.TempDirectory)/cmake-output.log.gz $(build_root)/vt/cmake-output.log - - task: PublishPipelineArtifact@1 - displayName: Upload CMake test output artifact - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetPath: '$(Agent.TempDirectory)/LastTest.log.gz' - artifact: 'CMakeLastTestLog' - publishLocation: 'pipeline' - - task: PublishPipelineArtifact@1 - displayName: Upload CMake full output artifact - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetPath: '$(Agent.TempDirectory)/cmake-output.log.gz' - artifact: 'CMakeOutputLog' - publishLocation: 'pipeline' - - task: Bash@3 - displayName: Finish pipeline - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetType: 'inline' - script: | - echo Done diff --git a/ci/azure/azure-gcc-5-ubuntu-mpich.yml b/ci/azure/azure-gcc-5-ubuntu-mpich.yml deleted file mode 100644 index 5070c3f356..0000000000 --- a/ci/azure/azure-gcc-5-ubuntu-mpich.yml +++ /dev/null @@ -1,211 +0,0 @@ -############################################################################### -############## Warning this is a generated file---do not modify ############### -############################################################################### - -name: PR tests (gcc-5, ubuntu, mpich) - -trigger: - branches: - include: - - develop - - 1.0.0* - -pr: - drafts: false - autoCancel: true - branches: - include: - - '*' - - -resources: -- repo: self - -variables: - tag: '$(Build.BuildId)' - REPO: lifflander1/vt - ARCH: amd64 - UBUNTU: 18.04 - COMPILER_TYPE: gnu - COMPILER: gcc-5 - BUILD_TYPE: release - ULIMIT_CORE: 0 - CODE_COVERAGE: 0 - VT_LB: 1 - VT_TRACE: 0 - VT_TRACE_RT: 0 - VT_TRACE_ONLY: 1 - VT_MIMALLOC: 0 - VT_DOCS: 0 - VT_ASAN: 0 - VT_UBSAN: 0 - VT_WERROR: 1 - VT_POOL: 1 - VT_EXTENDED_TESTS: 1 - VT_TESTS_NUM_NODES: 2 - VT_UNITY_BUILD: 1 - VT_PRODUCTION_BUILD: 0 - VT_FCONTEXT: 0 - VT_USE_OPENMP: 1 - VT_USE_STD_THREAD: 0 - VT_ZOLTAN: 0 - VT_CI_BUILD: 1 - VT_DIAGNOSTICS: 1 - VT_NO_COLOR: 1 - VT_BUILD_SHARED_LIBS: 0 - VT_INCLUSION: TPL - CMAKE_CXX_STANDARD: 14 - TEST_LB_SCHEMA: 0 - CACHE: "$(Agent.TempDirectory)/cache/" - cache_name: ubuntu-gcc-5-cache - build_root: "$(CACHE)/$(ARCH)-ubuntu-$(UBUNTU)-$(COMPILER)-cache/" - TS: 0 - TS_YEAR: 0 - TS_MONTH: 0 - TS_DAY: 0 - - - -stages: -- stage: Build - displayName: Build image - jobs: - - job: Build - displayName: Build - pool: - vmImage: 'ubuntu-22.04' - timeoutInMinutes: 180 - steps: - - task: Bash@3 - displayName: Job setup - inputs: - targetType: 'inline' - script: | - echo setup - - task: Bash@3 - displayName: Build timestamp for caching - continueOnError: true - inputs: - targetType: 'inline' - script: | - echo 'string(TIMESTAMP current_date "%H;%M;%S" UTC)' > script - echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script - val=$(cmake -P script) - echo "##vso[task.setvariable variable=TS]$val" - echo 'string(TIMESTAMP current_date "%Y" UTC)' > script - echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script - val=$(cmake -P script) - echo "##vso[task.setvariable variable=TS_YEAR]$val" - echo 'string(TIMESTAMP current_date "%m" UTC)' > script - echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script - val=$(cmake -P script) - echo "##vso[task.setvariable variable=TS_MONTH]$val" - echo 'string(TIMESTAMP current_date "%d" UTC)' > script - echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script - val=$(cmake -P script) - echo "##vso[task.setvariable variable=TS_DAY]$val" - - task: Bash@3 - displayName: Output timestamp for caching - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetType: 'inline' - script: 'echo "my pipeline variable is $(TS) $(TS_YEAR) $(TS_MONTH) $(TS_DAY)"' - - task: Cache@2 - displayName: Update cache - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - securityNamespace: cache - key: $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY) | $(TS) - path: '$(build_root)/ccache' - restoreKeys: | - $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY) - $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) - $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) - $(Agent.OS) | "$(cache_name)" - - task: Bash@3 - displayName: Check for changes in containers - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetType: 'inline' - script: | - val=$(./scripts/check_containers.sh) - echo "##vso[task.setvariable variable=compose_command]$val" - - task: DockerCompose@0 - displayName: Pull container - inputs: - containerregistrytype: 'Container Registry' - dockerComposeFile: '**/docker-compose.yml' - action: 'Run a Docker Compose command' - dockerComposeCommand: '$(compose_command) ubuntu-cpp-clean' - - task: DockerCompose@0 - displayName: Build container - inputs: - containerregistrytype: 'Container Registry' - dockerComposeFile: '**/docker-compose.yml' - action: 'Run a Docker Compose command' - dockerComposeCommand: 'run ubuntu-cpp-clean' - env: - CODECOV_TOKEN: $(codecov_token) - - task: Bash@3 - displayName: Put compilation's and tests' logs in PR comment - continueOnError: true - condition: and(succeededOrFailed(), eq(variables['Build.Reason'], 'PullRequest')) - inputs: - targetType: 'inline' - script: | - ./scripts/report_logs_in_comment.sh \ - "$(build_root)/vt/compilation_errors_warnings.out" \ - "$(build_root)/vt/cmake-output.log" \ - "$(Build.BuildNumber)" \ - "$(System.PullRequest.PullRequestNumber)" \ - "$(Build.Repository.Name)" \ - "$GITHUB_PAT" \ - "$(Build.BuildId)" \ - "$(System.JobId)" \ - "$(Agent.JobStatus)" - env: - GITHUB_PAT: $(github_pat) - - task: DockerCompose@0 - displayName: Push container to registry - continueOnError: true - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop')) - inputs: - containerregistrytype: 'Container Registry' - dockerRegistryEndpoint: 'dockerRegistryConnection1' - dockerComposeFile: '**/docker-compose.yml' - action: 'Run a Docker Compose command' - dockerComposeCommand: 'push ubuntu-cpp-clean' - - task: Bash@3 - displayName: Create artifacts - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetType: 'inline' - script: | - zip -j $(Agent.TempDirectory)/LastTest.log.gz $(build_root)/vt/Testing/Temporary/LastTest.log - zip -j $(Agent.TempDirectory)/cmake-output.log.gz $(build_root)/vt/cmake-output.log - - task: PublishPipelineArtifact@1 - displayName: Upload CMake test output artifact - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetPath: '$(Agent.TempDirectory)/LastTest.log.gz' - artifact: 'CMakeLastTestLog' - publishLocation: 'pipeline' - - task: PublishPipelineArtifact@1 - displayName: Upload CMake full output artifact - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetPath: '$(Agent.TempDirectory)/cmake-output.log.gz' - artifact: 'CMakeOutputLog' - publishLocation: 'pipeline' - - task: Bash@3 - displayName: Finish pipeline - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetType: 'inline' - script: | - echo Done diff --git a/ci/azure/azure-gcc-6-ubuntu-mpich.yml b/ci/azure/azure-gcc-6-ubuntu-mpich.yml deleted file mode 100644 index 73f6eb0666..0000000000 --- a/ci/azure/azure-gcc-6-ubuntu-mpich.yml +++ /dev/null @@ -1,211 +0,0 @@ -############################################################################### -############## Warning this is a generated file---do not modify ############### -############################################################################### - -name: PR tests (gcc-6, ubuntu, mpich) - -trigger: - branches: - include: - - develop - - 1.0.0* - -pr: - drafts: false - autoCancel: true - branches: - include: - - '*' - - -resources: -- repo: self - -variables: - tag: '$(Build.BuildId)' - REPO: lifflander1/vt - ARCH: amd64 - UBUNTU: 18.04 - COMPILER_TYPE: gnu - COMPILER: gcc-6 - BUILD_TYPE: release - ULIMIT_CORE: 0 - CODE_COVERAGE: 0 - VT_LB: 1 - VT_TRACE: 0 - VT_TRACE_RT: 0 - VT_TRACE_ONLY: 1 - VT_MIMALLOC: 0 - VT_DOCS: 0 - VT_ASAN: 0 - VT_UBSAN: 0 - VT_WERROR: 1 - VT_POOL: 1 - VT_EXTENDED_TESTS: 1 - VT_TESTS_NUM_NODES: 2 - VT_UNITY_BUILD: 0 - VT_PRODUCTION_BUILD: 1 - VT_FCONTEXT: 1 - VT_USE_OPENMP: 0 - VT_USE_STD_THREAD: 0 - VT_ZOLTAN: 0 - VT_CI_BUILD: 1 - VT_DIAGNOSTICS: 1 - VT_NO_COLOR: 1 - VT_BUILD_SHARED_LIBS: 0 - VT_INCLUSION: TPL - CMAKE_CXX_STANDARD: 14 - TEST_LB_SCHEMA: 0 - CACHE: "$(Agent.TempDirectory)/cache/" - cache_name: ubuntu-gcc-6-cache - build_root: "$(CACHE)/$(ARCH)-ubuntu-$(UBUNTU)-$(COMPILER)-cache/" - TS: 0 - TS_YEAR: 0 - TS_MONTH: 0 - TS_DAY: 0 - - - -stages: -- stage: Build - displayName: Build image - jobs: - - job: Build - displayName: Build - pool: - vmImage: 'ubuntu-22.04' - timeoutInMinutes: 180 - steps: - - task: Bash@3 - displayName: Job setup - inputs: - targetType: 'inline' - script: | - echo setup - - task: Bash@3 - displayName: Build timestamp for caching - continueOnError: true - inputs: - targetType: 'inline' - script: | - echo 'string(TIMESTAMP current_date "%H;%M;%S" UTC)' > script - echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script - val=$(cmake -P script) - echo "##vso[task.setvariable variable=TS]$val" - echo 'string(TIMESTAMP current_date "%Y" UTC)' > script - echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script - val=$(cmake -P script) - echo "##vso[task.setvariable variable=TS_YEAR]$val" - echo 'string(TIMESTAMP current_date "%m" UTC)' > script - echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script - val=$(cmake -P script) - echo "##vso[task.setvariable variable=TS_MONTH]$val" - echo 'string(TIMESTAMP current_date "%d" UTC)' > script - echo 'execute_process(COMMAND ${CMAKE_COMMAND} -E echo "${current_date}")' >> script - val=$(cmake -P script) - echo "##vso[task.setvariable variable=TS_DAY]$val" - - task: Bash@3 - displayName: Output timestamp for caching - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetType: 'inline' - script: 'echo "my pipeline variable is $(TS) $(TS_YEAR) $(TS_MONTH) $(TS_DAY)"' - - task: Cache@2 - displayName: Update cache - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - securityNamespace: cache - key: $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY) | $(TS) - path: '$(build_root)/ccache' - restoreKeys: | - $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) | $(TS_DAY) - $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) | $(TS_MONTH) - $(Agent.OS) | "$(cache_name)" | $(TS_YEAR) - $(Agent.OS) | "$(cache_name)" - - task: Bash@3 - displayName: Check for changes in containers - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetType: 'inline' - script: | - val=$(./scripts/check_containers.sh) - echo "##vso[task.setvariable variable=compose_command]$val" - - task: DockerCompose@0 - displayName: Pull container - inputs: - containerregistrytype: 'Container Registry' - dockerComposeFile: '**/docker-compose.yml' - action: 'Run a Docker Compose command' - dockerComposeCommand: '$(compose_command) ubuntu-cpp-clean' - - task: DockerCompose@0 - displayName: Build container - inputs: - containerregistrytype: 'Container Registry' - dockerComposeFile: '**/docker-compose.yml' - action: 'Run a Docker Compose command' - dockerComposeCommand: 'run ubuntu-cpp-clean' - env: - CODECOV_TOKEN: $(codecov_token) - - task: Bash@3 - displayName: Put compilation's and tests' logs in PR comment - continueOnError: true - condition: and(succeededOrFailed(), eq(variables['Build.Reason'], 'PullRequest')) - inputs: - targetType: 'inline' - script: | - ./scripts/report_logs_in_comment.sh \ - "$(build_root)/vt/compilation_errors_warnings.out" \ - "$(build_root)/vt/cmake-output.log" \ - "$(Build.BuildNumber)" \ - "$(System.PullRequest.PullRequestNumber)" \ - "$(Build.Repository.Name)" \ - "$GITHUB_PAT" \ - "$(Build.BuildId)" \ - "$(System.JobId)" \ - "$(Agent.JobStatus)" - env: - GITHUB_PAT: $(github_pat) - - task: DockerCompose@0 - displayName: Push container to registry - continueOnError: true - condition: and(succeeded(), eq(variables['Build.SourceBranch'], 'refs/heads/develop')) - inputs: - containerregistrytype: 'Container Registry' - dockerRegistryEndpoint: 'dockerRegistryConnection1' - dockerComposeFile: '**/docker-compose.yml' - action: 'Run a Docker Compose command' - dockerComposeCommand: 'push ubuntu-cpp-clean' - - task: Bash@3 - displayName: Create artifacts - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetType: 'inline' - script: | - zip -j $(Agent.TempDirectory)/LastTest.log.gz $(build_root)/vt/Testing/Temporary/LastTest.log - zip -j $(Agent.TempDirectory)/cmake-output.log.gz $(build_root)/vt/cmake-output.log - - task: PublishPipelineArtifact@1 - displayName: Upload CMake test output artifact - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetPath: '$(Agent.TempDirectory)/LastTest.log.gz' - artifact: 'CMakeLastTestLog' - publishLocation: 'pipeline' - - task: PublishPipelineArtifact@1 - displayName: Upload CMake full output artifact - continueOnError: true - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetPath: '$(Agent.TempDirectory)/cmake-output.log.gz' - artifact: 'CMakeOutputLog' - publishLocation: 'pipeline' - - task: Bash@3 - displayName: Finish pipeline - condition: in(variables['Agent.JobStatus'], 'Succeeded', 'SucceededWithIssues') - inputs: - targetType: 'inline' - script: | - echo Done diff --git a/docker-compose.yml b/docker-compose.yml index 7401ae4ae8..08a5d240dc 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -10,8 +10,8 @@ # Variables: # ARCH={amd64, arm64v8, ...} # COMPILER_TYPE={gnu, clang, intel, nvidia} -# COMPILER={gcc-5, gcc-6, gcc-7, gcc-8, gcc-9, gcc-10, -# clang-3.9, clang-4.0, clang-5.0, clang-6.0, clang-7, clang-8, +# COMPILER={gcc-7, gcc-8, gcc-9, gcc-10, +# clang-4.0, clang-5.0, clang-6.0, clang-7, clang-8, # clang-9, clang-10, # icpx, # nvcc-10, nvcc-10.2, nvcc-11} @@ -72,7 +72,6 @@ version: '3.5' # add it to this list. For example, for ARM64v8 on Ubuntu 20.04 with clang-9, # add `arm64v8-ubuntu-20.04-clang-9-cache`. volumes: - amd64-ubuntu-18.04-clang-3.9-cache: amd64-ubuntu-18.04-clang-4.0-cache: amd64-ubuntu-18.04-clang-5.0-cache: amd64-ubuntu-18.04-clang-6.0-cache: @@ -81,8 +80,6 @@ volumes: amd64-ubuntu-18.04-clang-9-cache: amd64-ubuntu-20.04-clang-10-cache: amd64-ubuntu-22.04-clang-11-cache: - amd64-ubuntu-18.04-gcc-5-cache: - amd64-ubuntu-18.04-gcc-6-cache: amd64-ubuntu-18.04-gcc-7-cache: amd64-ubuntu-18.04-gcc-8-cache: amd64-ubuntu-20.04-gcc-9-cache: @@ -92,7 +89,6 @@ volumes: amd64-ubuntu-18.04-nvcc-10-cache: amd64-ubuntu-18.04-nvcc-10.2-cache: amd64-ubuntu-18.04-nvcc-11-cache: - amd64-alpine-clang-3.9-cache: amd64-alpine-clang-4.0-cache: amd64-alpine-clang-5.0-cache: amd64-alpine-clang-6.0-cache: @@ -101,8 +97,6 @@ volumes: amd64-alpine-clang-9-cache: amd64-alpine-clang-10-cache: amd64-alpine-clang-11-cache: - amd64-alpine-gcc-5-cache: - amd64-alpine-gcc-6-cache: amd64-alpine-gcc-7-cache: amd64-alpine-gcc-8-cache: amd64-alpine-gcc-9-cache: diff --git a/docs/md/building.md b/docs/md/building.md index 9df24ac154..60728d090f 100644 --- a/docs/md/building.md +++ b/docs/md/building.md @@ -150,8 +150,8 @@ which `docker-compose` will read. # Variables: # ARCH={amd64, arm64v8, ...} # COMPILER_TYPE={gnu, clang, intel, nvidia} -# COMPILER={gcc-5, gcc-6, gcc-7, gcc-8, gcc-9, gcc-10, -# clang-3.9, clang-4.0, clang-5.0, clang-6.0, clang-7, clang-8, +# COMPILER={gcc-7, gcc-8, gcc-9, gcc-10, +# clang-4.0, clang-5.0, clang-6.0, clang-7, clang-8, # clang-9, clang-10, # icc-18, icc-19, # nvcc-10, nvcc-11}