Skip to content

Address, Undefined Behavior, and Leak sanitizers #6719

Address, Undefined Behavior, and Leak sanitizers

Address, Undefined Behavior, and Leak sanitizers #6719

Workflow file for this run

name: ci-tests
on: [push]
permissions: {}
jobs:
ci_tests_ubuntu-22:
runs-on: ubuntu-22.04
name: Ubuntu-22.04 CI Tests
env:
TZ: America/Los_Angeles
steps:
- name: Checkout
uses: actions/checkout@v3
- run: sudo apt-get update
- name: Install additional dependencies
run: sudo apt-get install -y gettext cmake libxslt-dev xsltproc ninja-build libboost-all-dev libgtk-3-dev guile-2.2-dev libgwengui-gtk3-dev libaqbanking-dev libofx-dev libdbi-dev libdbd-sqlite3 libwebkit2gtk-4.0-dev googletest
- name: Install language packs.
run: sudo apt-get --reinstall install -y language-pack-en language-pack-fr
- run: |
echo "ROOT_DIR=$GITHUB_WORKSPACE/.." >> $GITHUB_ENV
- name: Create Directories
run: |
pwd
mkdir $ROOT_DIR/inst
mkdir build
- name: Configure GnuCash
run: |
cd build
cmake -G Ninja -DWITH_PYTHON=ON -DCMAKE_INSTALL_PREFIX=$ROOT_DIR/inst $GITHUB_WORKSPACE
- name: Build and Test GnuCash
run: |
cd build
ninja
ninja distcheck
env:
CTEST_OUTPUT_ON_FAILURE: On
- uses: actions/upload-artifact@v3
if: failure()
with:
name: TestLog
path: ${{ github.workspace }}/build/Testing/Temporary/LastTest.log
ci_tests_ASAN:
runs-on: ubuntu-latest
name: Address Sanitizer CI Tests
continue-on-error: true
env:
TZ: America/Los_Angeles
steps:
- name: Checkout
uses: actions/checkout@v3
- run: sudo apt-get update
- name: Install additional dependencies
run: sudo apt-get install -y gettext cmake libxslt-dev xsltproc ninja-build libboost-all-dev libgtk-3-dev guile-2.2-dev libgwengui-gtk3-dev libaqbanking-dev libofx-dev libdbi-dev libdbd-sqlite3 libwebkit2gtk-4.0-dev googletest
- name: Install language packs.
run: sudo apt-get --reinstall install -y language-pack-en language-pack-fr
- run: |
echo "ROOT_DIR=$GITHUB_WORKSPACE/.." >> $GITHUB_ENV
- name: Create Directories
run: |
pwd
mkdir $ROOT_DIR/inst
mkdir build
- name: Configure GnuCash
run: |
cd build
cmake -G Ninja -DWITH_PYTHON=ON -DCMAKE_INSTALL_PREFIX=$ROOT_DIR/inst $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=Asan
- name: Build and Test GnuCash
run: |
cd build
ninja
ninja check
env:
CTEST_OUTPUT_ON_FAILURE: On
- uses: actions/upload-artifact@v3
if: failure()
with:
name: TestLog
path: ${{ github.workspace }}/build/Testing/Temporary/LastTest.log
ci_tests_Coverage:
runs-on: ubuntu-latest
name: Address Sanitizer CI Tests
continue-on-error: true
env:
TZ: America/Los_Angeles
steps:

Check failure on line 84 in .github/workflows/ci-tests.yml

View workflow run for this annotation

GitHub Actions / .github/workflows/ci-tests.yml

Invalid workflow file

You have an error in your yaml syntax on line 84
- name: Checkout
uses: actions/checkout@v3
- run: sudo apt-get update
- name: Install additional dependencies
run: sudo apt-get install -y gettext cmake libxslt-dev xsltproc ninja-build libboost-all-dev libgtk-3-dev guile-2.2-dev libgwengui-gtk3-dev libaqbanking-dev libofx-dev libdbi-dev libdbd-sqlite3 libwebkit2gtk-4.0-dev googletest
- name: Install language packs.
run: sudo apt-get --reinstall install -y language-pack-en language-pack-fr
- run: |
echo "ROOT_DIR=$GITHUB_WORKSPACE/.." >> $GITHUB_ENV
- name: Create Directories
run: |
pwd
mkdir $ROOT_DIR/inst
mkdir build
- name: Configure GnuCash
run: |
cd build
cmake -G Ninja -DWITH_PYTHON=ON -DCMAKE_INSTALL_PREFIX=$ROOT_DIR/inst $GITHUB_WORKSPACE -DCMAKE_BUILD_TYPE=Debug -DCOVERAGE=ON
- name: Build and Test GnuCash
run: |
cd build
ninja
ninja lcov-initialize
ninja check
ninja lcov-collect
ninja lcov-generate-html
env:
CTEST_OUTPUT_ON_FAILURE: On
- uses: actions/upload-pages-artifact@v3
if: success()
run: |
mkdir build/github-pages
mv build/Coverage-HTML build/github-pages/
chmod -v -R +rX "build/github-pages" | while read line; do
echo "::warning title=Invalid file permissions automatically fixed::$line"
done
- name: Upload pages
uses: actions/upload-pages-artifact@v2
if: success()
with:
path: ${{ github.workspace }}/build/github-pages
deploy-coverage:
needs: ci_tests_Coverage
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
runs-on: ubuntu-latest
steps:
- name: Publish
id: deployment
uses: actions/deploy-pages@v2