Пересобранный и видоизмененный conky для ОСГОС
This commit is contained in:
commit
3a48cf8c86
738 changed files with 217718 additions and 0 deletions
3
.github/FUNDING.yml
vendored
Normal file
3
.github/FUNDING.yml
vendored
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
# These are supported funding model platforms
|
||||
|
||||
github: brndnmtthws
|
||||
90
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
90
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
Normal file
|
|
@ -0,0 +1,90 @@
|
|||
name: 🐞 Bug Report
|
||||
description: 'File a bug report: crashes, unexpected behaviour, and other errors go here.'
|
||||
title: '[Bug]: '
|
||||
labels: ['bug', 'triage']
|
||||
body:
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
If you haven't done so already, please take a moment to search the [existing issues](https://github.com/brndnmtthws/conky/issues) to see if this has been previously reported. If not, carry on.
|
||||
|
||||
Thanks for taking the time to fill out this bug report!
|
||||
- type: textarea
|
||||
id: what-happened
|
||||
attributes:
|
||||
label: What happened?
|
||||
description: >
|
||||
Describe the problem, what you expected to happen, and any other
|
||||
relevant info. You can attach logs, stack traces, and config below. If
|
||||
required, include screenshots here which demonstrate the problem.
|
||||
placeholder: Here's what happened
|
||||
validations:
|
||||
required: true
|
||||
- type: input
|
||||
id: version
|
||||
attributes:
|
||||
label: Version
|
||||
description: What version of Conky are you running?
|
||||
validations:
|
||||
required: true
|
||||
- type: dropdown
|
||||
id: os
|
||||
validations:
|
||||
required: true
|
||||
attributes:
|
||||
label: Which OS/distro are you seeing the problem on?
|
||||
options:
|
||||
- Ubuntu
|
||||
- Fedora
|
||||
- Debian
|
||||
- Arch Linux
|
||||
- Gentoo
|
||||
- Linux (other)
|
||||
- macOS
|
||||
- type: textarea
|
||||
id: config
|
||||
attributes:
|
||||
label: Conky config
|
||||
description: Paste your Conky config here if it's relevant.
|
||||
render: Lua
|
||||
- type: markdown
|
||||
attributes:
|
||||
value: |
|
||||
## Getting a stack trace
|
||||
|
||||
If you are reporting a crash, please attach a stack trace below.
|
||||
|
||||
To create one with `gdb`, try the following steps:
|
||||
|
||||
```shell
|
||||
# Start 'conky'
|
||||
$ gdb conky
|
||||
|
||||
# Run 'conky' with a config.
|
||||
(gdb) run -c ~/.your_conky.conf
|
||||
|
||||
# Wait for a crash to occur, then run this.
|
||||
(gdb) bt full
|
||||
|
||||
# ... stack trace output here ...
|
||||
```
|
||||
|
||||
Here are some additional resources on obtaining stack traces:
|
||||
- [Arch Linux Wiki](https://wiki.archlinux.org/index.php/Debug_-_Getting_Traces)
|
||||
- [Ubuntu Wiki](https://wiki.ubuntu.com/DebuggingProgramCrash)
|
||||
- [AskUbuntu - Where do I find core dump files, and how do I view and analyze the backtrace (stack trace) in one?](https://askubuntu.com/a/1349048)
|
||||
- [Julia Evans - How to get a core dump for a segfault on Linux](https://jvns.ca/blog/2018/04/28/debugging-a-segfault-on-linux/)
|
||||
- [GDB Documentation](https://sourceware.org/gdb/current/onlinedocs/gdb/)
|
||||
- [lldb Documentation](https://lldb.llvm.org/use/tutorial.html)
|
||||
- type: textarea
|
||||
id: stacktrace
|
||||
attributes:
|
||||
label: Stack trace
|
||||
description: Paste your stacktrace here if you have one.
|
||||
render: GDB
|
||||
- type: textarea
|
||||
id: logs
|
||||
attributes:
|
||||
label: Relevant log output
|
||||
description: Please copy and paste any relevant log output. This will be automatically formatted into code, so no need for backticks.
|
||||
render: Shell
|
||||
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
8
.github/ISSUE_TEMPLATE/config.yml
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
blank_issues_enabled: true
|
||||
contact_links:
|
||||
- name: 🙏 General questions & help
|
||||
url: https://github.com/brndnmtthws/conky/discussions/categories/q-a
|
||||
about: Please ask and answer general questions using GitHub Discussions
|
||||
- name: 💡 New ideas and feature requests
|
||||
url: https://github.com/brndnmtthws/conky/discussions/categories/ideas
|
||||
about: Request and discuss enhancements using GitHub Discussions
|
||||
24
.github/dependabot.yml
vendored
Normal file
24
.github/dependabot.yml
vendored
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
# Set update schedule for GitHub Actions
|
||||
|
||||
version: 2
|
||||
updates:
|
||||
# Maintain dependencies for actions
|
||||
- package-ecosystem: 'github-actions'
|
||||
directory: '/'
|
||||
schedule:
|
||||
interval: 'weekly'
|
||||
groups:
|
||||
actions:
|
||||
patterns:
|
||||
- '*'
|
||||
|
||||
# Maintain dependencies for web docs/npm
|
||||
- package-ecosystem: 'npm'
|
||||
directory: '/web'
|
||||
schedule:
|
||||
interval: 'weekly'
|
||||
groups:
|
||||
web-deps:
|
||||
patterns:
|
||||
# Group all the web deps together to keep the PR spam down
|
||||
- '*'
|
||||
216
.github/labeler.yml
vendored
Normal file
216
.github/labeler.yml
vendored
Normal file
|
|
@ -0,0 +1,216 @@
|
|||
documentation:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- doc/*
|
||||
- doc/**/*
|
||||
- data/conky*.conf
|
||||
|
||||
extras:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- extras/*
|
||||
- extras/**/*
|
||||
|
||||
sources:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/*
|
||||
- src/**/*
|
||||
|
||||
tests:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- tests/**/*
|
||||
- tests/*
|
||||
|
||||
web:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- web/*
|
||||
- web/**/*
|
||||
|
||||
appimage:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- appimage/*
|
||||
- appimage/**/*
|
||||
|
||||
3rdparty:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 3rdparty/*
|
||||
- 3rdparty/**/*
|
||||
|
||||
gh-actions:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- .github/workflows/*
|
||||
- .github/workflows/**/*
|
||||
- .github/labeler.yml
|
||||
- .github/pull_request_template.md
|
||||
|
||||
dependencies:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- web/package-lock.json
|
||||
- cmake/ConkyPlatformChecks.cmake
|
||||
|
||||
audio:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/audacious.cc
|
||||
- src/audacious.h
|
||||
- src/cmus.cc
|
||||
- src/cmus.h
|
||||
- src/libmpdclient.cc
|
||||
- src/libmpdclient.h
|
||||
- src/mpd.cc
|
||||
- src/mpd.h
|
||||
- src/moc.cc
|
||||
- src/moc.h
|
||||
- src/mixer.cc
|
||||
- src/mixer.h
|
||||
- src/xmms2.cc
|
||||
- src/xmms2.h
|
||||
- src/pulseaudio.cc
|
||||
- src/pulseaudio.h
|
||||
|
||||
power:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/apcupsd.cc
|
||||
- src/apcupsd.h
|
||||
- src/bsdapm.cc
|
||||
- src/bsdapm.h
|
||||
- src/smapi.cc
|
||||
- src/smapi.h
|
||||
|
||||
'display: console':
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/display-console.cc
|
||||
- src/display-console.hh
|
||||
'display: file':
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/display-file.cc
|
||||
- src/display-file.hh
|
||||
'display: http':
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/display-http.cc
|
||||
- src/display-http.hh
|
||||
'display: ncurses':
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/nc.cc
|
||||
- src/nc.h
|
||||
- src/display-ncurses.cc
|
||||
- src/display-ncurses.hh
|
||||
'display: wayland':
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/wl.cc
|
||||
- src/wl.h
|
||||
- src/wlr-layer-shell-unstable-v1.xml
|
||||
- src/display-wayland.cc
|
||||
- src/display-wayland.hh
|
||||
'display: x11':
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/x11-color.cc
|
||||
- src/x11-color.h
|
||||
- src/x11.cc
|
||||
- src/x11.h
|
||||
- src/display-x11.cc
|
||||
- src/display-x11.hh
|
||||
|
||||
'build system':
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- '**/CMakeLists.txt'
|
||||
- '*.cmake'
|
||||
|
||||
cairo:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- 'lua/*cairo*'
|
||||
|
||||
'disk io':
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/diskio.cc
|
||||
- src/diskio.h
|
||||
|
||||
cpu:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/cpu.cc
|
||||
- src/cpu.h
|
||||
- src/proc.cc
|
||||
- src/proc.h
|
||||
- src/top.cc
|
||||
- src/top.h
|
||||
|
||||
lua:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- lua/*
|
||||
- lua/**/*
|
||||
- src/llua.cc
|
||||
- src/llua.h
|
||||
- src/luamm.cc
|
||||
- src/luamm.h
|
||||
- src/lua-config.cc
|
||||
- src/lua-config.hh
|
||||
|
||||
macos:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/darwin_sip.h
|
||||
- src/darwin.h
|
||||
- src/darwin.mm
|
||||
|
||||
'mouse events':
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/scroll.cc
|
||||
- src/scroll.h
|
||||
- src/mouse-events.cc
|
||||
- src/mouse-events.h
|
||||
|
||||
networking:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/net_stat.cc
|
||||
- src/net_stat.h
|
||||
- src/tcp-portmon.cc
|
||||
- src/tcp-portmon.h
|
||||
- src/read_tcpip.cc
|
||||
- src/read_tcpip.h
|
||||
|
||||
nvidia:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/nvidia.cc
|
||||
- src/nvidia.h
|
||||
|
||||
rendering:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/text_object.cc
|
||||
- src/text_object.h
|
||||
- src/specials.cc
|
||||
- src/specials.h
|
||||
|
||||
text:
|
||||
- changed-files:
|
||||
- any-glob-to-any-file:
|
||||
- src/text_object.cc
|
||||
- src/text_object.h
|
||||
- src/template.cc
|
||||
- src/template.h
|
||||
- src/tailhead.cc
|
||||
- src/tailhead.h
|
||||
- src/specials.cc
|
||||
- src/specials.h
|
||||
12
.github/pull_request_template.md
vendored
Normal file
12
.github/pull_request_template.md
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
# Checklist
|
||||
- [ ] I have described the changes
|
||||
- [ ] I have linked to any relevant GitHub issues, if applicable
|
||||
- [ ] Documentation in `doc/` has been updated
|
||||
- [ ] All new code is licensed under GPLv3
|
||||
|
||||
## Description
|
||||
|
||||
* Describe the changes, why they were necessary, etc
|
||||
* Describe how the changes will affect existing behaviour.
|
||||
* Describe how you tested and validated your changes.
|
||||
* Include any relevant screenshots/evidence demonstrating that the changes work and have been tested.
|
||||
19
.github/release.yml
vendored
Normal file
19
.github/release.yml
vendored
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
changelog:
|
||||
categories:
|
||||
- title: 🏕 Features
|
||||
labels:
|
||||
- feature
|
||||
- title: 🐞 Bug fixes
|
||||
labels:
|
||||
- bug
|
||||
- title: 🎛️ Miscellaneous
|
||||
labels:
|
||||
- '*'
|
||||
exclude:
|
||||
labels:
|
||||
- dependencies
|
||||
- bug
|
||||
- feature
|
||||
- title: 👒 Dependencies
|
||||
labels:
|
||||
- dependencies
|
||||
46
.github/scripts/docker-build.bash
vendored
Executable file
46
.github/scripts/docker-build.bash
vendored
Executable file
|
|
@ -0,0 +1,46 @@
|
|||
#!/usr/bin/env bash
|
||||
set -ex
|
||||
|
||||
DOCKERHUB_USERNAME="${DOCKERHUB_USERNAME:-conky}"
|
||||
DOCKERHUB_IMAGE_ID=$DOCKERHUB_USERNAME/$IMAGE_NAME
|
||||
|
||||
# Change all uppercase to lowercase
|
||||
DOCKERHUB_IMAGE_ID=$(echo $DOCKERHUB_IMAGE_ID | tr '[A-Z]' '[a-z]')
|
||||
|
||||
image_tags=()
|
||||
|
||||
# Strip git ref prefix from version
|
||||
VERSION_TAG=$(echo $GITHUB_REF | sed -e 's,.*/\(.*\),\1,')
|
||||
|
||||
# Strip "v" prefix from tag name
|
||||
if [[ "$GITHUB_REF" == refs/tags/* ]]; then
|
||||
VERSION_TAG=$(echo $VERSION_TAG | sed -e 's/^v//')
|
||||
fi
|
||||
|
||||
image_tags+=("--tag" "$DOCKERHUB_IMAGE_ID:$VERSION_TAG")
|
||||
|
||||
# tag as latest on releases
|
||||
if [[ "$RELEASE" == ON ]]; then
|
||||
image_tags+=("--tag" "$DOCKERHUB_IMAGE_ID:latest")
|
||||
fi
|
||||
|
||||
# Only build amd64 on PRs, build all platforms on main. The arm builds
|
||||
# take far too long.
|
||||
image_platforms="--platform linux/amd64"
|
||||
push_image=""
|
||||
cache_tag="pr-cache"
|
||||
|
||||
# Only push on main
|
||||
if [[ "$GITHUB_REF" == refs/heads/main ]]; then
|
||||
push_image="--push"
|
||||
image_platforms="--platform linux/arm/v7,linux/arm64/v8,linux/amd64"
|
||||
cache_tag="main-cache"
|
||||
fi
|
||||
|
||||
docker buildx build \
|
||||
${push_image} \
|
||||
${image_platforms} \
|
||||
--cache-from=type=registry,ref=$DOCKERHUB_USERNAME/$IMAGE_NAME:$cache_tag \
|
||||
--cache-to=type=registry,ref=$DOCKERHUB_USERNAME/$IMAGE_NAME:$cache_tag,mode=max \
|
||||
"${image_tags[@]}" \
|
||||
.
|
||||
172
.github/workflows/build-and-test-linux.yaml
vendored
Normal file
172
.github/workflows/build-and-test-linux.yaml
vendored
Normal file
|
|
@ -0,0 +1,172 @@
|
|||
name: Build and test on Linux
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths-ignore:
|
||||
- web/**
|
||||
- doc/**
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths-ignore:
|
||||
- web/**
|
||||
- doc/**
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
build:
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-20.04
|
||||
- ubuntu-22.04
|
||||
x11: [ON, OFF]
|
||||
wayland: [ON, OFF]
|
||||
compiler:
|
||||
- clang
|
||||
- gcc
|
||||
compiler_version:
|
||||
- 9
|
||||
- 10
|
||||
- 11
|
||||
- 12
|
||||
- 13
|
||||
- 14
|
||||
- 15
|
||||
exclude:
|
||||
# 9 only exists for gcc
|
||||
- compiler: clang
|
||||
compiler_version: 9
|
||||
|
||||
# 13, 14, 15 only exist for clang
|
||||
- compiler: gcc
|
||||
compiler_version: 13
|
||||
- compiler: gcc
|
||||
compiler_version: 14
|
||||
- compiler: gcc
|
||||
compiler_version: 15
|
||||
|
||||
# ubuntu-20.04
|
||||
- os: ubuntu-20.04
|
||||
compiler: gcc
|
||||
compiler_version: 11
|
||||
- os: ubuntu-20.04
|
||||
compiler: gcc
|
||||
compiler_version: 12
|
||||
- os: ubuntu-20.04
|
||||
compiler: clang
|
||||
compiler_version: 13
|
||||
- os: ubuntu-20.04
|
||||
compiler: clang
|
||||
compiler_version: 14
|
||||
- os: ubuntu-20.04
|
||||
compiler: clang
|
||||
compiler_version: 15
|
||||
|
||||
# ubuntu-22.04
|
||||
- os: ubuntu-22.04
|
||||
compiler: clang
|
||||
compiler_version: 10
|
||||
- os: ubuntu-22.04
|
||||
compiler: clang
|
||||
compiler_version: 11
|
||||
- os: ubuntu-22.04
|
||||
compiler: clang
|
||||
compiler_version: 12
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- run: sudo apt-get -qq update
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get install -yqq --no-install-recommends \
|
||||
audacious-dev \
|
||||
cmake \
|
||||
gawk \
|
||||
gperf \
|
||||
lcov \
|
||||
libaudclient-dev \
|
||||
libcairo2-dev \
|
||||
libpango1.0-dev \
|
||||
libcurl4-gnutls-dev \
|
||||
libdbus-glib-1-dev \
|
||||
libglib2.0-dev \
|
||||
libical-dev \
|
||||
libimlib2-dev \
|
||||
libircclient-dev \
|
||||
libiw-dev \
|
||||
liblua5.3-dev \
|
||||
libmicrohttpd-dev \
|
||||
libmysqlclient-dev \
|
||||
libpulse-dev \
|
||||
librsvg2-dev \
|
||||
libsystemd-dev \
|
||||
libwayland-bin \
|
||||
libwayland-dev \
|
||||
libx11-dev \
|
||||
libxdamage-dev \
|
||||
libxext-dev \
|
||||
libxft-dev \
|
||||
libxinerama-dev \
|
||||
libxml2-dev \
|
||||
libxmmsclient-dev \
|
||||
libxnvctrl-dev \
|
||||
ncurses-dev \
|
||||
ninja-build \
|
||||
wayland-protocols
|
||||
- name: Install libc++
|
||||
if: matrix.compiler == 'clang'
|
||||
run: |
|
||||
sudo apt-get install -yqq --no-install-recommends \
|
||||
libc++-${{ matrix.compiler_version }}-dev \
|
||||
libc++abi-${{ matrix.compiler_version }}-dev
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Configure with CMake
|
||||
run: |
|
||||
set -x # show the commands we're running
|
||||
[[ "${{ matrix.compiler }}" == "clang"* ]] && CC=clang-${{ matrix.compiler_version }}
|
||||
[[ "${{ matrix.compiler }}" == "clang"* ]] && CXX=clang++-${{ matrix.compiler_version }}
|
||||
|
||||
[[ "${{ matrix.compiler }}" == "gcc"* ]] && CC=gcc-${{ matrix.compiler_version }}
|
||||
[[ "${{ matrix.compiler }}" == "gcc"* ]] && CXX=g++-${{ matrix.compiler_version }}
|
||||
|
||||
|
||||
# Enable librsvg by default, disable for older versions of Ubuntu
|
||||
# because we need librsvg>=2.52
|
||||
RSVG_ENABLED=ON
|
||||
[[ "${{ matrix.os }}" == "ubuntu-20.04"* ]] && RSVG_ENABLED=OFF
|
||||
|
||||
mkdir build
|
||||
cd build
|
||||
cmake .. -G Ninja \
|
||||
-DBUILD_AUDACIOUS=ON \
|
||||
-DBUILD_HTTP=ON \
|
||||
-DBUILD_ICAL=ON \
|
||||
-DBUILD_ICONV=ON \
|
||||
-DBUILD_IRC=ON \
|
||||
-DBUILD_IRC=ON \
|
||||
-DBUILD_JOURNAL=ON \
|
||||
-DBUILD_LUA_CAIRO=ON \
|
||||
-DBUILD_LUA_CAIRO_XLIB=ON \
|
||||
-DBUILD_LUA_IMLIB2=ON \
|
||||
-DBUILD_LUA_RSVG=${RSVG_ENABLED} \
|
||||
-DBUILD_MYSQL=ON \
|
||||
-DBUILD_NVIDIA=ON \
|
||||
-DBUILD_PULSEAUDIO=ON \
|
||||
-DBUILD_CURL=ON \
|
||||
-DBUILD_RSS=ON \
|
||||
-DBUILD_TESTS=ON \
|
||||
-DBUILD_WLAN=ON \
|
||||
-DBUILD_WAYLAND=${{ matrix.wayland }}\
|
||||
-DBUILD_X11=${{ matrix.x11 }} \
|
||||
-DBUILD_XMMS2=ON \
|
||||
-DCMAKE_C_COMPILER=$CC \
|
||||
-DCMAKE_CXX_COMPILER=$CXX \
|
||||
-DMAINTAINER_MODE=ON
|
||||
- name: Compile
|
||||
run: cmake --build build
|
||||
- name: Test
|
||||
working-directory: build
|
||||
run: ctest
|
||||
69
.github/workflows/build-and-test-macos.yaml
vendored
Normal file
69
.github/workflows/build-and-test-macos.yaml
vendored
Normal file
|
|
@ -0,0 +1,69 @@
|
|||
name: Build and test on macOS
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths-ignore:
|
||||
- web/**
|
||||
- doc/**
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths-ignore:
|
||||
- web/**
|
||||
- doc/**
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
build:
|
||||
env:
|
||||
HOMEBREW_NO_INSTALL_UPGRADE: 1
|
||||
HOMEBREW_NO_INSTALLED_DEPENDENTS_CHECK: 1
|
||||
strategy:
|
||||
matrix:
|
||||
os:
|
||||
- macos-11
|
||||
- macos-12
|
||||
- macos-13
|
||||
- macos-14
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
brew install --force \
|
||||
cmake \
|
||||
curl \
|
||||
freetype \
|
||||
gettext \
|
||||
gperf \
|
||||
imlib2 \
|
||||
lcov \
|
||||
librsvg \
|
||||
libxfixes \
|
||||
libxft \
|
||||
libxi \
|
||||
libxinerama \
|
||||
libxml2 \
|
||||
lua \
|
||||
ninja \
|
||||
pkg-config \
|
||||
|| true # Ignore errors
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- run: mkdir build
|
||||
- name: Configure with CMake
|
||||
working-directory: build
|
||||
run: |
|
||||
cmake .. -G Ninja \
|
||||
-DMAINTAINER_MODE=ON \
|
||||
-DBUILD_WAYLAND=OFF \
|
||||
-DBUILD_RSS=ON \
|
||||
-DBUILD_CURL=ON \
|
||||
-DBUILD_TESTS=ON
|
||||
- name: Compile
|
||||
run: cmake --build build
|
||||
- name: Test
|
||||
working-directory: build
|
||||
run: ctest
|
||||
88
.github/workflows/codeql.yml
vendored
Normal file
88
.github/workflows/codeql.yml
vendored
Normal file
|
|
@ -0,0 +1,88 @@
|
|||
name: 'CodeQL'
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: '20 2 * * 0'
|
||||
|
||||
jobs:
|
||||
analyze:
|
||||
name: Analyze
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
actions: read
|
||||
contents: read
|
||||
security-events: write
|
||||
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
language: ['cpp', 'javascript', 'python']
|
||||
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
|
||||
# Use only 'java' to analyze code written in Java, Kotlin or both
|
||||
# Use only 'javascript' to analyze code written in JavaScript, TypeScript or both
|
||||
# Learn more about CodeQL language support at https://aka.ms/codeql-docs/language-support
|
||||
|
||||
steps:
|
||||
- run: sudo apt-get -qq update
|
||||
- name: Install dependencies
|
||||
if: matrix.language == 'cpp'
|
||||
run: |
|
||||
sudo apt-get install -yqq --no-install-recommends \
|
||||
audacious-dev \
|
||||
cmake \
|
||||
gawk \
|
||||
gperf \
|
||||
lcov \
|
||||
libaudclient-dev \
|
||||
libc++-14-dev \
|
||||
libc++abi-14-dev \
|
||||
libcairo2-dev \
|
||||
libcurl4-gnutls-dev \
|
||||
libdbus-glib-1-dev \
|
||||
libglib2.0-dev \
|
||||
libical-dev \
|
||||
libimlib2-dev \
|
||||
libircclient-dev \
|
||||
libiw-dev \
|
||||
liblua5.3-dev \
|
||||
libmicrohttpd-dev \
|
||||
libmysqlclient-dev \
|
||||
libpulse-dev \
|
||||
librsvg2-dev \
|
||||
libsystemd-dev \
|
||||
libwayland-bin \
|
||||
libwayland-dev \
|
||||
libx11-dev \
|
||||
libxdamage-dev \
|
||||
libxext-dev \
|
||||
libxft-dev \
|
||||
libxinerama-dev \
|
||||
libxml2-dev \
|
||||
libxmmsclient-dev \
|
||||
libxnvctrl-dev \
|
||||
ncurses-dev \
|
||||
ninja-build \
|
||||
wayland-protocols
|
||||
- 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
|
||||
|
||||
# Autobuild attempts to build any compiled languages (C/C++, C#, Go, or Java).
|
||||
# If this step fails, then you should remove it and run the build manually (see below)
|
||||
- name: Autobuild
|
||||
uses: github/codeql-action/autobuild@v3
|
||||
|
||||
- name: Perform CodeQL Analysis
|
||||
uses: github/codeql-action/analyze@v3
|
||||
with:
|
||||
category: '/language:${{matrix.language}}'
|
||||
51
.github/workflows/docker.yaml
vendored
Normal file
51
.github/workflows/docker.yaml
vendored
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
name: Docker
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths-ignore:
|
||||
- web/**
|
||||
- doc/**
|
||||
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
paths-ignore:
|
||||
- web/**
|
||||
- doc/**
|
||||
|
||||
# Publish `v1.2.3` tags as releases.
|
||||
tags:
|
||||
- v*
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
docker-buildx:
|
||||
env:
|
||||
IMAGE_NAME: conky
|
||||
DOCKER_BUILDKIT: 1
|
||||
DOCKERHUB_USERNAME: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v3
|
||||
- name: Set up Docker Buildx
|
||||
id: buildx
|
||||
uses: docker/setup-buildx-action@v3
|
||||
- name: Login to Docker Hub
|
||||
uses: docker/login-action@v3
|
||||
if: ${{ env.DOCKERHUB_USERNAME != '' }}
|
||||
with:
|
||||
username: ${{ secrets.DOCKERHUB_USERNAME }}
|
||||
password: ${{ secrets.DOCKERHUB_TOKEN }}
|
||||
- name: Build and push Docker image
|
||||
env:
|
||||
RELEASE: "${{ startsWith(github.ref, 'refs/tags/') && 'ON' || 'OFF' }}"
|
||||
GITHUB_REF: ${{ github.ref }}
|
||||
run: ./.github/scripts/docker-build.bash
|
||||
18
.github/workflows/labeler.yml
vendored
Normal file
18
.github/workflows/labeler.yml
vendored
Normal file
|
|
@ -0,0 +1,18 @@
|
|||
name: 'Pull Request Labeler'
|
||||
on:
|
||||
- pull_request_target
|
||||
|
||||
jobs:
|
||||
triage:
|
||||
permissions:
|
||||
contents: read
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
- name: Run labeler
|
||||
uses: actions/labeler@v5
|
||||
with:
|
||||
sync-labels: true
|
||||
repo-token: '${{ secrets.GITHUB_TOKEN }}'
|
||||
28
.github/workflows/nix.yaml
vendored
Normal file
28
.github/workflows/nix.yaml
vendored
Normal file
|
|
@ -0,0 +1,28 @@
|
|||
name: 'Nix build'
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
paths-ignore:
|
||||
- web/**
|
||||
- doc/**
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
jobs:
|
||||
build-and-check:
|
||||
strategy:
|
||||
matrix:
|
||||
os: [ubuntu-latest, macos-latest]
|
||||
runs-on: ${{ matrix.os }}
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Install Nix
|
||||
uses: DeterminateSystems/nix-installer-action@v11
|
||||
- name: Setup Nix Cache
|
||||
uses: DeterminateSystems/magic-nix-cache-action@v6
|
||||
- run: nix build
|
||||
- run: nix flake check
|
||||
150
.github/workflows/publish-appimage.yml
vendored
Normal file
150
.github/workflows/publish-appimage.yml
vendored
Normal file
|
|
@ -0,0 +1,150 @@
|
|||
name: Build AppImage
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
tags:
|
||||
- v*
|
||||
paths-ignore:
|
||||
- web/**
|
||||
- doc/**
|
||||
pull_request:
|
||||
branches:
|
||||
- main
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ${{ matrix.os }}
|
||||
strategy:
|
||||
fail-fast: false
|
||||
matrix:
|
||||
os:
|
||||
- ubuntu-20.04
|
||||
- ubuntu-22.04
|
||||
arch:
|
||||
- x86_64
|
||||
permissions:
|
||||
contents: write
|
||||
discussions: write
|
||||
steps:
|
||||
- run: sudo apt-get -qq update
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
sudo apt-get install -yqq --no-install-recommends \
|
||||
audacious-dev \
|
||||
cmake \
|
||||
gawk \
|
||||
gperf \
|
||||
lcov \
|
||||
libaudclient-dev \
|
||||
libcairo2-dev \
|
||||
libcurl4-gnutls-dev \
|
||||
libdbus-glib-1-dev \
|
||||
libfuse2 \
|
||||
libglib2.0-dev \
|
||||
libical-dev \
|
||||
libimlib2-dev \
|
||||
libircclient-dev \
|
||||
libiw-dev \
|
||||
liblua5.3-dev \
|
||||
libmicrohttpd-dev \
|
||||
libmysqlclient-dev \
|
||||
libpulse-dev \
|
||||
librsvg2-dev \
|
||||
libsystemd-dev \
|
||||
libwayland-bin \
|
||||
libwayland-dev \
|
||||
libx11-dev \
|
||||
libxdamage-dev \
|
||||
libxext-dev \
|
||||
libxft-dev \
|
||||
libxinerama-dev \
|
||||
libxml2-dev \
|
||||
libxmmsclient-dev \
|
||||
libxnvctrl-dev \
|
||||
ncurses-dev \
|
||||
ninja-build \
|
||||
pandoc \
|
||||
python3 \
|
||||
wayland-protocols \
|
||||
&&
|
||||
pip3 install --upgrade pyyaml
|
||||
- name: Checkout
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Import GPG Deploy Key
|
||||
# only run on main branch
|
||||
if: github.ref == 'refs/heads/main'
|
||||
run: |
|
||||
echo "${{ secrets.GPG_DEPLOY_KEY }}" > appimage/secret.gpg
|
||||
gpg --import appimage/secret.gpg
|
||||
- name: Set clang version to 12 for ubuntu-20.04
|
||||
if: matrix.os == 'ubuntu-20.04'
|
||||
run: |
|
||||
echo "CLANG_VERSION=12" | tee -a $GITHUB_ENV
|
||||
- name: Set clang version to 15 for ubuntu-22.04
|
||||
if: matrix.os == 'ubuntu-22.04'
|
||||
run: |
|
||||
echo "CLANG_VERSION=15" | tee -a $GITHUB_ENV
|
||||
- name: Install libc++, set CC and CXX env vars
|
||||
run: |
|
||||
sudo apt-get install -yqq --no-install-recommends \
|
||||
libc++-${CLANG_VERSION}-dev \
|
||||
libc++abi-${CLANG_VERSION}-dev
|
||||
echo "CC=clang-${CLANG_VERSION}" | tee -a $GITHUB_ENV
|
||||
echo "CXX=clang++-${CLANG_VERSION}" | tee -a $GITHUB_ENV
|
||||
- name: Build AppImage
|
||||
run: ./appimage/build.sh
|
||||
env:
|
||||
RELEASE: "${{ startsWith(github.ref, 'refs/tags/') && 'ON' || 'OFF' }}"
|
||||
- run: ./conky-x86_64.AppImage --version # print version
|
||||
- name: Set CONKY_VERSION
|
||||
run: echo "CONKY_VERSION=$(./conky-x86_64.AppImage --short-version)" | tee -a $GITHUB_ENV
|
||||
- run: mv conky-x86_64.AppImage conky-${{ matrix.os }}-${{ matrix.arch }}-v${{ env.CONKY_VERSION }}.AppImage
|
||||
- run: mv conky-x86_64.AppImage.sha256 conky-${{ matrix.os }}-${{ matrix.arch }}-v${{ env.CONKY_VERSION }}.AppImage.sha256
|
||||
- name: Upload AppImage artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
path: 'conky-${{ matrix.os }}-${{ matrix.arch }}-v${{ env.CONKY_VERSION }}.AppImage'
|
||||
name: 'conky-${{ matrix.os }}-${{ matrix.arch }}-v${{ env.CONKY_VERSION }}.AppImage'
|
||||
if-no-files-found: error
|
||||
- name: Upload AppImage checksum artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
path: 'conky-${{ matrix.os }}-${{ matrix.arch }}-v${{ env.CONKY_VERSION }}.AppImage.sha256'
|
||||
name: 'conky-${{ matrix.os }}-${{ matrix.arch }}-v${{ env.CONKY_VERSION }}.AppImage.sha256'
|
||||
if-no-files-found: error
|
||||
- name: Upload man page artifact
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: conky.1.gz
|
||||
path: conky.1.gz
|
||||
# conky.1.gz is created by all jobs!
|
||||
overwrite: true
|
||||
|
||||
release:
|
||||
runs-on: ubuntu-latest
|
||||
needs: build
|
||||
steps:
|
||||
- name: Download all artifacts
|
||||
uses: actions/download-artifact@v4
|
||||
with:
|
||||
path: ${{ github.workspace }}/artifacts
|
||||
|
||||
- name: Create Conky Release
|
||||
id: create_release
|
||||
uses: softprops/action-gh-release@v2
|
||||
if: startsWith(github.ref, 'refs/tags/')
|
||||
with:
|
||||
draft: false
|
||||
prerelease: false
|
||||
discussion_category_name: General
|
||||
generate_release_notes: true
|
||||
fail_on_unmatched_files: true
|
||||
files: |
|
||||
${{ github.workspace }}/artifacts/**/*
|
||||
24
.github/workflows/stale.yml
vendored
Normal file
24
.github/workflows/stale.yml
vendored
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
name: "Close stale issues and PRs"
|
||||
on:
|
||||
schedule:
|
||||
- cron: "30 1 * * *"
|
||||
|
||||
jobs:
|
||||
stale:
|
||||
permissions:
|
||||
contents: write # for delete-branch option
|
||||
issues: write
|
||||
pull-requests: write
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/stale@v9
|
||||
with:
|
||||
stale-issue-message: "This issue is stale because it has been open 365 days with no activity. Remove stale label or comment, or this issue will be closed in 30 days."
|
||||
stale-pr-message: "This PR is stale because it has been open 365 days with no activity. Remove stale label or comment, or this PR will be closed in 30 days."
|
||||
close-issue-message: "This issue was closed because it has been stalled for 30 days with no activity."
|
||||
close-pr-message: "This PR was closed because it has been stalled for 30 days with no activity."
|
||||
days-before-issue-stale: 365
|
||||
days-before-pr-stale: 365
|
||||
days-before-issue-close: 30
|
||||
days-before-pr-close: 30
|
||||
delete-branch: true
|
||||
37
.github/workflows/web.yml
vendored
Normal file
37
.github/workflows/web.yml
vendored
Normal file
|
|
@ -0,0 +1,37 @@
|
|||
name: Web CI
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [main]
|
||||
paths:
|
||||
- web/**
|
||||
- doc/**
|
||||
pull_request:
|
||||
branches: [main]
|
||||
paths:
|
||||
- web/**
|
||||
- doc/**
|
||||
|
||||
concurrency:
|
||||
group: ${{ github.workflow }}-${{ github.ref }}
|
||||
cancel-in-progress: true
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Use Node.js 18
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: 18
|
||||
cache: npm
|
||||
cache-dependency-path: '**/package-lock.json'
|
||||
- run: npm ci
|
||||
working-directory: web
|
||||
- run: npm run lint
|
||||
working-directory: web
|
||||
- run: npm run build --if-present
|
||||
working-directory: web
|
||||
- run: npm run e2e:headless
|
||||
working-directory: web
|
||||
Loading…
Add table
Add a link
Reference in a new issue