1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126
|
name: "CodeQL"
on:
push:
branches: ["master"]
paths:
- "**"
- "!android/**"
- "!docs/**"
- "docs/Makefile.am"
- "!ios/**"
- "!macosx/**"
- "!msvcstuff/**"
- "!win32/**"
- "!AUTHORS"
- "!ChangeLog"
- "!COPYING"
- "!FAQ"
- "!INSTALL"
- "!NEWS"
- "!**README**"
- "!**.ico"
- "!**.md"
- "!**.png"
- "!**.txt"
- "!.clang*"
- "!.gitignore"
- "!.gitattributes"
- "!.github/workflows/*"
- ".github/workflows/codeql.yml"
pull_request:
# The branches below must be a subset of the branches above
branches: ["master"]
paths:
- "**"
- "!android/**"
- "!docs/**"
- "docs/Makefile.am"
- "!ios/**"
- "!macosx/**"
- "!msvcstuff/**"
- "!win32/**"
- "!AUTHORS"
- "!ChangeLog"
- "!COPYING"
- "!FAQ"
- "!INSTALL"
- "!NEWS"
- "!**README**"
- "!**.ico"
- "!**.md"
- "!**.png"
- "!**.txt"
- "!.clang*"
- "!.gitignore"
- "!.gitattributes"
- "!.github/workflows/*"
- ".github/workflows/codeql.yml"
schedule:
- cron: "25 18 * * 4"
jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
actions: read
contents: read
security-events: write
strategy:
fail-fast: false
matrix:
language: ["cpp"]
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
steps:
- name: Checkout repository
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v3
with:
languages: ${{ matrix.language }}
# If you wish to specify custom queries, you can do so here or in a config file.
# By default, queries listed here will override any specified in a config file.
# Prefix the list here with "+" to use these queries and those in the config file.
# Details on CodeQL's query packs refer to : https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/configuring-code-scanning#using-queries-in-ql-packs
queries: security-extended,security-and-quality
# âšī¸ Command-line programs to run using the OS shell.
# đ See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#jobsjob_idstepsrun
# If the Autobuild fails above, remove it and uncomment the following three lines.
# modify them (or add more) to build your code if your project, please refer to the EXAMPLE below for guidance.
- name: Install dependencies
run: |
if ! apt-fast -- help &> /dev/null; then
sudo add-apt-repository -u -y ppa:apt-fast/stable
sudo apt-get update
echo debconf apt-fast/maxdownloads string 16 | sudo debconf-set-selections
echo debconf apt-fast/dlflag boolean true | sudo debconf-set-selections
echo debconf apt-fast/aptmanager string apt-get | sudo debconf-set-selections
DEBIAN_FRONTEND=noninteractive sudo apt install -y apt-fast
else
sudo apt-fast update
fi
sudo apt-fast install -y \
zlib1g-dev libogg-dev libvorbis-dev libasound2-dev libfluidsynth-dev libsdl2-dev libsdl2-image-dev libpng-dev libfreetype6-dev libgtk2.0-dev libgtk-3-dev \
libgdk-pixbuf2.0-dev libxml2-dev bison flex timidity libgimp2.0-dev autoconf-archive
- name: Run autoreconf
run: |
autoreconf -v -i
- name: Configure
run: |
./configure --with-debug=extreme --enable-exult-studio --enable-exult-studio-support --enable-compiler --enable-gimp-plugin \
--enable-zip-support --enable-shared --enable-midi-sfx --enable-shp-thumbnailer --enable-data --enable-mods \
--with-usecode-debugger=yes --enable-usecode-container --enable-nonreadied-objects \
--enable-aseprite-plugin
- name: Build
run: make -j 2
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v3
with:
category: "/language:${{matrix.language}}"
|