ImHex/.github/workflows/analysis.yml

62 lines
1.3 KiB
YAML

name: "CodeQL and Unit Tests"
on:
push:
branches: [ master ]
pull_request:
branches: [ master ]
schedule:
- cron: '21 0 * * 2'
jobs:
analyze:
name: 🐛 Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
steps:
- name: 🧰 Checkout
uses: actions/checkout@v2
with:
fetch-depth: 0
submodules: recursive
- name: ✋ Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: 'cpp'
- name: 📜 Restore cache
uses: actions/cache@v2
with:
path: |
~/.ccache
.flatpak-builder
key: ${{ runner.os }}-build
- name: ⬇️ Install dependencies
run: |
sudo apt update
sudo bash dist/get_deps_debian.sh
- name: 🛠️ Build
run: |
mkdir build
cd build
CC=gcc-10 CXX=g++-10 cmake \
-DCMAKE_BUILD_TYPE=$BUILD_TYPE \
-DCMAKE_INSTALL_PREFIX="$PWD/install" \
-D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache \
..
make -j 4 install
- name: 🧪 Perform Unit Tests
run: |
cd build
ctest
- name: 🗯️ Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1