mirror of
https://github.com/Cockatrice/Cockatrice.git
synced 2026-11-08 11:03:25 -08:00
* pin used actions plus some reordering and harmonization across files * [CI] Link the version string and RNG stub into the test targets The distribution libgtest.a now used by the Linux images makes the linker pull more translation units out of libcockatrice_network than the fetched googletest did. Those units reference VERSION_STRING and the global rng, which several test targets never defined, so the instrumented Ubuntu 26.04 legs failed at link: undefined reference to `VERSION_STRING' undefined reference to `rng' Add the generated version string source wherever a test links the network umbrella, and define the rng stub in the tests that pull the server game classes without declaring it. This matches what the neighbouring server tests already do. A full Debug build and ctest suite in the ci-ubuntu2604 image (system libgtest.a) is green: 841 tests pass. Fixes the nightly failures introduced by #6894. --------- Co-authored-by: Lukas Brübach <44814898+BruebachL@users.noreply.github.com>
97 lines
3.1 KiB
YAML
97 lines
3.1 KiB
YAML
# GitHub Docs on Code Scanning:
|
|
# https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning
|
|
# https://docs.github.com/en/code-security/how-tos/find-and-fix-code-vulnerabilities/manage-your-configuration
|
|
# https://docs.github.com/en/code-security/reference/code-scanning/workflow-configuration-options
|
|
#
|
|
# CodeQL Docs:
|
|
# https://codeql.github.com/docs/
|
|
|
|
name: CodeQL
|
|
|
|
permissions:
|
|
contents: read
|
|
security-events: write # needed to post results
|
|
|
|
on:
|
|
push:
|
|
branches:
|
|
- master
|
|
pull_request:
|
|
|
|
# Cancel earlier, unfinished runs of this workflow on the same branch
|
|
concurrency:
|
|
group: "${{ github.workflow }} @ ${{ github.ref_name }}"
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
analyze:
|
|
name: Analyze (${{ matrix.language }})
|
|
runs-on: ubuntu-latest
|
|
|
|
strategy:
|
|
fail-fast: false
|
|
matrix:
|
|
include:
|
|
# https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/
|
|
- language: cpp
|
|
build-mode: manual
|
|
- language: actions
|
|
build-mode: none
|
|
|
|
steps:
|
|
- name: "Checkout repository"
|
|
uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
|
|
|
|
- name: "Initialize CodeQL"
|
|
uses: github/codeql-action/init@33d7b85da1a04171e211befe2c739303b9a4c066 # v4.39.3
|
|
with:
|
|
languages: ${{ matrix.language }}
|
|
build-mode: ${{ matrix.build-mode }}
|
|
# https://docs.github.com/en/code-security/reference/code-scanning/codeql/codeql-queries/c-cpp-built-in-queries
|
|
# https://docs.github.com/en/code-security/reference/code-scanning/codeql/codeql-queries/actions-built-in-queries
|
|
queries: security-extended
|
|
dependency-caching: true
|
|
|
|
- name: "[C++] Install dependencies"
|
|
if: matrix.language == 'cpp' && matrix.build-mode == 'manual'
|
|
shell: bash
|
|
env:
|
|
DEBIAN_FRONTEND: noninteractive
|
|
run: |
|
|
sudo apt-get update
|
|
sudo apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
cmake \
|
|
g++ \
|
|
libcurl4-openssl-dev \
|
|
libgl-dev \
|
|
liblzma-dev \
|
|
libmariadb-dev-compat \
|
|
libprotobuf-dev \
|
|
ninja-build \
|
|
protobuf-compiler \
|
|
qt6-declarative-dev \
|
|
qt6-multimedia-dev \
|
|
qt6-shadertools-dev \
|
|
qt6-svg-dev \
|
|
qt6-tools-dev \
|
|
qt6-tools-dev-tools \
|
|
qt6-websockets-dev
|
|
|
|
# Minimize dependency install
|
|
# Add ccache usage for faster compilation, (install ccache dep, actions/cache step + append DUSE_CCACHE=1 in cmake config, CCACHE env values)
|
|
|
|
- name: "[C++] Configure CMake"
|
|
if: matrix.language == 'cpp' && matrix.build-mode == 'manual'
|
|
shell: bash
|
|
run: cmake -S . -B build -G Ninja -DWITH_SERVER=1 -DCMAKE_BUILD_TYPE=Release
|
|
|
|
- name: "[C++] Build application"
|
|
if: matrix.language == 'cpp' && matrix.build-mode == 'manual'
|
|
shell: bash
|
|
run: cmake --build build
|
|
|
|
- name: "Perform CodeQL Analysis"
|
|
uses: github/codeql-action/analyze@33d7b85da1a04171e211befe2c739303b9a4c066 # v4.39.3
|
|
with:
|
|
category: "/language:${{ matrix.language }}"
|