constify readonly data #883
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Copyright 2020 Daniel T. Borelli <[email protected]> | |
# Copyright 2020 Jeroen Roovers <[email protected]> | |
# Copyright 2020 Joao Eriberto Mota Filho <[email protected]> | |
# Copyright 2021-2023 Guilherme Janczak <[email protected]> | |
# Copyright 2022 Zev Weiss <[email protected]> | |
# Copyright 2023 NRK <[email protected]> | |
name: full-check | |
on: [push, pull_request] | |
jobs: | |
ubuntu: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/[email protected] | |
- name: install_dependencies | |
run: | | |
sudo apt install tcc libimlib2-dev libxcomposite-dev libxfixes-dev \ | |
autoconf-archive libbsd-dev libxinerama-dev cppcheck | |
- name: distcheck | |
run: | | |
./autogen.sh | |
./configure SCROT_PRIVATE_FLAGS="-Werror -Wno-error=cpp -Wno-error=pedantic" | |
make distcheck | |
- name: run_program | |
run: | | |
make | |
src/scrot -v | |
- name: tcc | |
run: | | |
./configure SCROT_PRIVATE_FLAGS="-Werror -Wno-error=cpp -Wno-error=pedantic" CC=tcc | |
make clean all | |
src/scrot -v | |
- name: bare build | |
run: | | |
make -s distclean | |
c99 -o src/scrot src/*.c $(pkg-config --cflags --libs ./deps.pc) | |
src/scrot -v | |
- name: cppcheck | |
run: | | |
cppcheck --version | |
cppcheck --std=c99 -j$(nproc) --quiet --force --error-exitcode=1 \ | |
--suppress=uninitvar \ | |
--enable=portability,performance src/*.c \ | |
$(pkg-config --cflags ./deps.pc) | |
- name: clang-tidy | |
run: | | |
clang-tidy --version | |
find src -name '*.c' -print | xargs -P$(nproc) -I{} \ | |
clang-tidy --quiet {} -- $(pkg-config --cflags ./deps.pc) | |
cygwin: | |
runs-on: windows-latest | |
env: | |
CYGWIN_NOWINPATH: 1 # Removes non-Cygwin dirs from PATH. | |
CHERE_INVOKING: '' # Makes Cygwin's `bash.exe --login` not cd. | |
defaults: | |
run: | |
shell: C:\cygwin\bin\bash.exe --login -o igncr {0} | |
steps: | |
- run: git config --global core.autocrlf input | |
# This is NOT the Cygwin bash, it's the Git for Windows bash from the | |
# default Github Actions Windows VM. This step tells git to translate Unix | |
# newlines to DOS newlines. | |
shell: bash | |
- uses: actions/[email protected] | |
- uses: cygwin/cygwin-install-action@v1 | |
with: | |
packages: autoconf autoconf-archive automake gcc-core libImlib2-devel \ | |
libXcomposite-devel libXext-devel libXfixes-devel libXinerama-devel \ | |
make | |
- name: distcheck | |
# NOTE: cygwin's imlib2 version is too old, and it's imlib_apply_filter | |
# lacks `const` qualifier. so use `-Wno-error=discarded-qualifiers`. | |
run: | | |
cd ${GITHUB_WORKSPACE} | |
./autogen.sh | |
./configure SCROT_PRIVATE_FLAGS="-Werror -Wno-error=cpp -Wno-error=pedantic -Wno-error=discarded-qualifiers" | |
make distcheck | |
- name: run_program | |
run: | | |
cd ${GITHUB_WORKSPACE} | |
make | |
src/scrot -v |