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:
parent
d7ecf07eac
commit
a08fdb282b
211
.github/workflows/codeql-analysis.yml
vendored
211
.github/workflows/codeql-analysis.yml
vendored
@ -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
|
||||||
|
Loading…
x
Reference in New Issue
Block a user