Skip to content

[refactor] move fix_metadata and fetch_missing_metadata inside load_i… #224

[refactor] move fix_metadata and fetch_missing_metadata inside load_i…

[refactor] move fix_metadata and fetch_missing_metadata inside load_i… #224

Workflow file for this run

# SPDX-License-Identifier: Apache-2.0
# Copyright Contributors to the rawtoaces project.
name: Analysis
permissions:
contents: read
on:
schedule:
# Run nightly
# - cron: "0 8 * * *"
# Run weekly
- cron: "0 0 * * 0"
push:
# Run on pushes only to main or if the branch name contains "analysis"
branches:
- main
- '*analysis*'
paths:
- '**'
- '!**.md'
- '!**.rst'
- '!**/ci.yml'
- '!**/docs.yml'
- '!**/scorecard.yml'
- '!**/wheel.yml'
- '!**.properties'
- '!docs/**'
pull_request:
branches:
- '*analysis*'
# Allow manual trigger
workflow_dispatch:
# Allow subsequent pushes to the same PR or REF to cancel any previous jobs.
concurrency:
group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }}
cancel-in-progress: true
jobs:
static_analysis:
name: "Static analysis"
if: (github.event_name == 'workflow_dispatch') || (github.repository == 'AcademySoftwareFoundation/rawtoaces')
runs-on: ubuntu-latest
strategy:
fail-fast: false
env:
CC: clang
CXX: clang++
steps:
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
- name: Dependencies
shell: bash
env:
RTA_ENABLE_LENSFUN: 'ON'
RTA_ENABLE_EIGEN: 'ON'
RTA_ENABLE_CERES: 'ON'
run: |
bash build_scripts/install_deps_ubuntu.bash
- name: Install cppcheck
shell: bash
run: |
sudo apt-get -q -f install -y cppcheck
- name: Configure CMake
run: >
cmake
-B build
-S .
-D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/install
-D CMAKE_CXX_STANDARD=17
-D CMAKE_BUILD_TYPE=Debug
-D ENABLE_COVERAGE=ON
-D CMAKE_CXX_FLAGS="-g -O0"
-D CMAKE_EXPORT_COMPILE_COMMANDS=ON
- uses: whisperity/codechecker-analysis-action@c1fbda08799d91447c007e18db31e423ee37fccd # v1
id: codechecker
with:
logfile: ${{ github.workspace }}/build/compile_commands.json
config: '/home/runner/work/rawtoaces/rawtoaces/tests/static_analysis/codechecker.json'
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
if: ${{ steps.codechecker.outputs.warnings == 'true' }}
with:
name: "CodeChecker Bug Reports"
path: ${{ steps.codechecker.outputs.result-html-dir }}
- name: "Break build if CodeChecker reported any findings"
if: ${{ steps.codechecker.outputs.warnings == 'true' }}
run: exit 1
dynamic_analysis:
name: "Dynamic analysis - ${{ matrix.mode }}"
if: (github.event_name == 'workflow_dispatch') || (github.repository == 'AcademySoftwareFoundation/rawtoaces')
permissions: read-all
uses: ./.github/workflows/build-steps.yml
with:
cc_compiler: clang
cxx_compiler: clang++
build_type: Debug
runner: macos-latest
install_deps: install_deps_macos
sanitiser_mode: "${{ matrix.mode }}"
strategy:
# Set fail-fast to false to ensure that feedback is delivered for all matrix combinations. Consider changing this to true when your workflow is stable.
fail-fast: false
matrix:
mode: ["address", "thread"] # memory analyser is not ready yet.