1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-04-30 15:49:41 +02:00

Fix CodeQL CI build

Signed-off-by: Edgar <Edgar@AnotherFoxGuy.com>
Reference-to: https://github.com/tenacityteam/tenacity/pull/699
This commit is contained in:
Edgar 2022-03-20 01:59:50 +01:00 committed by GitHub
parent d7ecf07eac
commit a08fdb282b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -10,25 +10,11 @@ name: "CodeQL Analysis"
on: on:
push: push:
branches: [ master ] # Triggers on every actual push to master branches: [master] # Triggers on every actual push to master
pull_request: pull_request:
branches: [ master ] branches: [master]
paths: paths:
- ".github/workflows/codeql-analysis.yml" # Only triggers on PRs that modify the configuration - ".github/workflows/codeql-analysis.yml" # Only triggers on PRs that modify the configuration
schedule:
# ┌───────────── minute (0 - 59)
# │ ┌───────────── hour (0 - 23)
# │ │ ┌───────────── day of the month (1 - 31)
# │ │ │ ┌───────────── month (1 - 12 or JAN-DEC)
# │ │ │ │ ┌───────────── day of the week (0 - 6 or SUN-SAT)
# │ │ │ │ │
# │ │ │ │ │
# │ │ │ │ │
# * * * * *
- cron: '00 00 * * *'
- cron: '00 06 * * *'
- cron: '00 12 * * *'
- cron: '00 18 * * *'
jobs: jobs:
analyze: analyze:
@ -36,13 +22,6 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
env: env:
CMAKE_BUILD_TYPE: Release CMAKE_BUILD_TYPE: Release
# Windows codesigning
WINDOWS_CERTIFICATE: ${{ secrets.WINDOWS_CERTIFICATE }}
WINDOWS_CERTIFICATE_PASSWORD: ${{ secrets.WINDOWS_CERTIFICATE_PASSWORD }}
# Apple code signing
APPLE_CODESIGN_IDENTITY: ${{ secrets.APPLE_CODESIGN_IDENTITY }}
APPLE_NOTARIZATION_USER_NAME: ${{ secrets.APPLE_NOTARIZATION_USER_NAME }}
APPLE_NOTARIZATION_PASSWORD: ${{ secrets.APPLE_NOTARIZATION_PASSWORD }}
permissions: permissions:
actions: read actions: read
contents: read contents: read
@ -52,116 +31,96 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
config: config:
- name: Ubuntu_20.04 - name: Ubuntu_20.04
os: ubuntu-latest os: ubuntu-latest
arch: x86_64 # as reported by `arch` or `uname -m` arch: x86_64 # as reported by `arch` or `uname -m`
compiler_cache: ccache compiler_cache: ccache
compiler_cache_path: ~/.ccache compiler_cache_path: ~/.ccache
language: 'cpp' # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ] language: "cpp" # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
vcpkg_binary_cache: ~/.cache/vcpkg vcpkg_binary_cache: ~/.cache/vcpkg
vcpkg_triplet: x64-linux vcpkg_triplet: x64-linux
wxwidgets_git_url: https://github.com/wxWidgets/wxWidgets.git wxwidgets_git_url: https://github.com/wxWidgets/wxWidgets.git
wxwidgets_git_ref: v3.1.5 wxwidgets_git_ref: v3.1.5
WX_CONFIG: /home/runner/work/tenacity/tenacity/wxwidgets-install/bin/wx-config WX_CONFIG: /home/runner/work/tenacity/tenacity/wxwidgets-install/bin/wx-config
steps: steps:
# Setup 64-bit GCC 11 # Setup 64-bit GCC 11
- name: Set up GCC - name: Set up GCC
uses: egor-tensin/setup-gcc@v1 uses: egor-tensin/setup-gcc@v1
with: with:
platform: x64 platform: x64
version: 11 version: 11
- name: Checkout repository - name: Checkout repository
uses: actions/checkout@v2 uses: actions/checkout@v2
- name: "[Linux] Install dependencies" - name: "[Linux] Install dependencies"
if: runner.os == 'Linux' if: runner.os == 'Linux'
run: >- run: >-
sudo apt-get update && sudo apt-get update &&
sudo apt-get install -y --no-install-recommends sudo apt-get install -y --no-install-recommends
file file
g++ g++
ninja-build ninja-build
nasm nasm
git git
wget wget
bash bash
scdoc scdoc
ccache ccache
debhelper-compat debhelper-compat
gettext gettext
libasound2-dev libasound2-dev
libgtk-3-dev libgtk-3-dev
libsuil-dev libsuil-dev
gettext gettext
- name: "[MacOS] Install dependencies" - name: Get Git commit of vcpkg submodule
if: runner.os == 'macOS' run: echo VCPKG_COMMIT=$(git ls-tree HEAD vcpkg | awk '{print $3}') >> ${GITHUB_ENV}
run: >-
brew install
bash
ccache
ninja
nasm
- name: "[Windows] Install dependencies" # FIXME: use wxWidgets from vcpkg for all OSes when bugs are fixed for Linux and macOS
if: runner.os == 'Windows' # https://github.com/microsoft/vcpkg/pull/17111
shell: pwsh - name: Build and install wxWidgets
env: if: steps.wxwidgets-cache.outputs.cache-hit != 'true' && runner.os != 'Windows'
# Install path of scoop run: |
SCOOP: C:\Scoop\ # wxWidgets' build system does not find dependencies from vcpkg, so use its vendored Git submodules
run: | wget https://github.com/wxWidgets/wxWidgets/releases/download/v3.1.5/wxWidgets-3.1.5.tar.bz2
echo "C:\Scoop\shims" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append tar xvf wxWidgets-3.1.5.tar.bz2
iwr -useb get.scoop.sh | iex rm wxWidgets-3.1.5.tar.bz2
scoop install sccache cd wxWidgets-3.1.5
cmake -G Ninja -D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/wxwidgets-install \
-S . -B cmake_build
cmake --build cmake_build
cmake --install cmake_build
- name: Get Git commit of vcpkg submodule - name: Configure
run: echo VCPKG_COMMIT=$(git ls-tree HEAD vcpkg | awk '{print $3}') >> ${GITHUB_ENV} run: >-
cmake
-G Ninja
-D CMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }}
-D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/build/install
-D VCPKG=ON
-S .
-B build
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
# hack to get CMake to find wxWidgets until vcpkg wxWidgets port is fixed
# https://github.com/microsoft/vcpkg/pull/17111
WX_CONFIG: ${{ matrix.config.WX_CONFIG }}
# FIXME: use wxWidgets from vcpkg for all OSes when bugs are fixed for Linux and macOS # Initializes the CodeQL tools for scanning.
# https://github.com/microsoft/vcpkg/pull/17111 - name: Initialize CodeQL
- name: Build and install wxWidgets uses: github/codeql-action/init@v1
if: steps.wxwidgets-cache.outputs.cache-hit != 'true' && runner.os != 'Windows' with:
run: | languages: cpp
# wxWidgets' build system does not find dependencies from vcpkg, so use its vendored Git submodules # If you wish to specify custom queries, you can do so here or in a config file.
git clone --recurse-submodules ${{ matrix.config.wxwidgets_git_url }} # By default, queries listed here will override any specified in a config file.
cd wxWidgets # Prefix the list here with "+" to use these queries and those in the config file.
git checkout ${{ matrix.config.wxwidgets_git_ref }} # queries: ./path/to/local/query, your-org/your-repo/queries@main
cmake -G Ninja -D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/wxwidgets-install \
-S . -B cmake_build
cmake --build cmake_build
cmake --install cmake_build
- name: Configure - name: Build
run: >- run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} --verbose
cmake
-G Ninja
-D CMAKE_BUILD_TYPE=${{ env.CMAKE_BUILD_TYPE }}
-D CMAKE_INSTALL_PREFIX=${{ github.workspace }}/build/install
-D VCPKG=ON
-S .
-B build
env:
CC: ${{ matrix.config.cc }}
CXX: ${{ matrix.config.cxx }}
# hack to get CMake to find wxWidgets until vcpkg wxWidgets port is fixed
# https://github.com/microsoft/vcpkg/pull/17111
WX_CONFIG: ${{ matrix.config.WX_CONFIG }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
languages: cpp
# 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.
# queries: ./path/to/local/query, your-org/your-repo/queries@main
- name: Build
run: cmake --build build --config ${{ env.CMAKE_BUILD_TYPE }} --verbose
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@v1