ci: Use github actions
This commit is contained in:
parent
54e2490aa5
commit
cf739ed295
88
.github/workflows/ci.yml
vendored
Normal file
88
.github/workflows/ci.yml
vendored
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
name: CI
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
docs:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
env:
|
||||||
|
COLOR: "ON"
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: sudo apt-get install -y python3-sphinx
|
||||||
|
- name: Build Documentation
|
||||||
|
run: |
|
||||||
|
mkdir -p doc/build
|
||||||
|
cd doc/build
|
||||||
|
cmake ..
|
||||||
|
make doc
|
||||||
|
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-20.04
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
cxx: [g++, clang++]
|
||||||
|
polybar_build_type: ["full"]
|
||||||
|
build_type: ["Release"]
|
||||||
|
include:
|
||||||
|
- cxx: g++
|
||||||
|
polybar_build_type: "tests"
|
||||||
|
build_type: "Coverage"
|
||||||
|
- cxx: g++
|
||||||
|
polybar_build_type: "minimal"
|
||||||
|
build_type: "Release"
|
||||||
|
env:
|
||||||
|
CXX: ${{ matrix.cxx }}
|
||||||
|
BUILD_TYPE: ${{ matrix.build_type }}
|
||||||
|
POLYBAR_BUILD_TYPE: ${{ matrix.polybar_build_type }}
|
||||||
|
POLYBAR_DIR: ${{ github.workspace }}
|
||||||
|
BUILD_DIR: "${{ github.workspace}}/build"
|
||||||
|
MAKEFLAGS: "-j4"
|
||||||
|
COLOR: "ON"
|
||||||
|
steps:
|
||||||
|
- name: Install Dependencies
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y \
|
||||||
|
libxcb-composite0-dev \
|
||||||
|
libxcb-ewmh-dev \
|
||||||
|
libxcb-icccm4-dev \
|
||||||
|
libxcb-image0-dev \
|
||||||
|
libxcb-randr0-dev \
|
||||||
|
libxcb-util0-dev \
|
||||||
|
libxcb1-dev \
|
||||||
|
libcairo2-dev \
|
||||||
|
python3-xcbgen \
|
||||||
|
xcb-proto
|
||||||
|
|
||||||
|
if [ "$POLYBAR_BUILD_TYPE" != "minimal" ]; then
|
||||||
|
sudo apt-get install -y \
|
||||||
|
libxcb-xkb-dev \
|
||||||
|
libxcb-cursor-dev \
|
||||||
|
libxcb-xrm-dev \
|
||||||
|
i3-wm \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libjsoncpp-dev \
|
||||||
|
libasound2-dev \
|
||||||
|
libpulse-dev \
|
||||||
|
libiw-dev \
|
||||||
|
libmpdclient-dev
|
||||||
|
fi
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
with:
|
||||||
|
submodules: true
|
||||||
|
- name: Summary
|
||||||
|
run: ./common/ci/summary.sh
|
||||||
|
- name: Configure
|
||||||
|
run: ./common/ci/configure.sh
|
||||||
|
- name: Build
|
||||||
|
run: |
|
||||||
|
cd $BUILD_DIR
|
||||||
|
make
|
||||||
|
- name: Tests
|
||||||
|
if: ${{ matrix.polybar_build_type == 'tests' }}
|
||||||
|
run: |
|
||||||
|
cd $BUILD_DIR
|
||||||
|
make check
|
||||||
|
cd $POLYBAR_DIR
|
||||||
|
bash <(curl -s https://codecov.io/bash) -F unittests -a "-ap" -Z
|
@ -37,7 +37,7 @@ addons:
|
|||||||
- libiw-dev
|
- libiw-dev
|
||||||
- libmpdclient-dev
|
- libmpdclient-dev
|
||||||
|
|
||||||
script: source ${TRAVIS_BUILD_DIR}/common/travis/build.sh
|
script: source ${TRAVIS_BUILD_DIR}/common/ci/build.sh
|
||||||
|
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
@ -59,7 +59,7 @@ matrix:
|
|||||||
addons: {apt: {packages: [*base_deps, *optional_deps]}}
|
addons: {apt: {packages: [*base_deps, *optional_deps]}}
|
||||||
|
|
||||||
- compiler: gcc
|
- compiler: gcc
|
||||||
env: BUILD_TYPE=Coverage POLYBAR_BUILD_TYPE=tests BUILD_TESTS=ON
|
env: BUILD_TYPE=Coverage POLYBAR_BUILD_TYPE=tests
|
||||||
addons: {apt: {packages: [*base_deps, *optional_deps]}}
|
addons: {apt: {packages: [*base_deps, *optional_deps]}}
|
||||||
script: make check
|
script: make check
|
||||||
after_success:
|
after_success:
|
||||||
@ -82,8 +82,8 @@ cache:
|
|||||||
apt: true
|
apt: true
|
||||||
|
|
||||||
before_script:
|
before_script:
|
||||||
- source ${TRAVIS_BUILD_DIR}/common/travis/summary.sh
|
- source ${TRAVIS_BUILD_DIR}/common/ci/summary.sh
|
||||||
- source ${TRAVIS_BUILD_DIR}/common/travis/configure.sh
|
- source ${TRAVIS_BUILD_DIR}/common/ci/configure.sh
|
||||||
|
|
||||||
# Only fetch the newest 5 commits instead of 50
|
# Only fetch the newest 5 commits instead of 50
|
||||||
git:
|
git:
|
||||||
|
@ -8,6 +8,7 @@ A fast and easy-to-use tool for creating status bars.
|
|||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<a href="https://github.com/polybar/polybar/releases"><img src="https://img.shields.io/github/release/polybar/polybar.svg"></a>
|
<a href="https://github.com/polybar/polybar/releases"><img src="https://img.shields.io/github/release/polybar/polybar.svg"></a>
|
||||||
|
<a href="https://github.com/polybar/polybar/actions?query=workflow%3ACI"><img src="https://github.com/polybar/polybar/workflows/CI/badge.svg?event=push"></a>
|
||||||
<a href="https://travis-ci.com/polybar/polybar"><img src="https://travis-ci.com/polybar/polybar.svg?branch=master"></a>
|
<a href="https://travis-ci.com/polybar/polybar"><img src="https://travis-ci.com/polybar/polybar.svg?branch=master"></a>
|
||||||
<a href="https://polybar.readthedocs.io"><img src="https://readthedocs.org/projects/polybar/badge/?version=latest"></a>
|
<a href="https://polybar.readthedocs.io"><img src="https://readthedocs.org/projects/polybar/badge/?version=latest"></a>
|
||||||
<a href="https://gitter.im/polybar/polybar"><img src="https://badges.gitter.im/polybar/polybar.svg"></a>
|
<a href="https://gitter.im/polybar/polybar"><img src="https://badges.gitter.im/polybar/polybar.svg"></a>
|
||||||
|
46
common/ci/configure.sh
Executable file
46
common/ci/configure.sh
Executable file
@ -0,0 +1,46 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
if [ -d "$BUILD_DIR" ]; then
|
||||||
|
rm -Rf "$BUILD_DIR"
|
||||||
|
fi
|
||||||
|
|
||||||
|
mkdir -p "${BUILD_DIR}"
|
||||||
|
cd "${BUILD_DIR}"
|
||||||
|
|
||||||
|
if [ "$POLYBAR_BUILD_TYPE" != "minimal" ]; then
|
||||||
|
ENABLE_PULSEAUDIO=ON
|
||||||
|
ENABLE_NETWORK=ON
|
||||||
|
ENABLE_MPD=ON
|
||||||
|
ENABLE_CURL=ON
|
||||||
|
ENABLE_ALSA=ON
|
||||||
|
ENABLE_I3=ON
|
||||||
|
WITH_XRM=ON
|
||||||
|
WITH_XKB=ON
|
||||||
|
WITH_XRANDR_MONITORS=ON
|
||||||
|
WITH_XCURSOR=ON
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$POLYBAR_BUILD_TYPE" = "tests" ]; then
|
||||||
|
BUILD_TESTS=ON
|
||||||
|
fi
|
||||||
|
|
||||||
|
cmake \
|
||||||
|
-DCMAKE_CXX_COMPILER="${CXX}" \
|
||||||
|
-DCMAKE_CXX_FLAGS="${CXXFLAGS} -Werror" \
|
||||||
|
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
|
||||||
|
-DBUILD_TESTS:BOOL="${BUILD_TESTS:-OFF}" \
|
||||||
|
-DBUILD_DOC:BOOL="${BUILD_DOC:-OFF}" \
|
||||||
|
-DWITH_XRANDR=ON \
|
||||||
|
-DENABLE_PULSEAUDIO="${ENABLE_PULSEAUDIO:-OFF}" \
|
||||||
|
-DENABLE_NETWORK="${ENABLE_NETWORK:-OFF}" \
|
||||||
|
-DENABLE_MPD="${ENABLE_MPD:-OFF}" \
|
||||||
|
-DENABLE_CURL="${ENABLE_CURL:-OFF}" \
|
||||||
|
-DENABLE_ALSA="${ENABLE_ALSA:-OFF}" \
|
||||||
|
-DENABLE_I3="${ENABLE_I3:-OFF}" \
|
||||||
|
-DWITH_XRM="${WITH_XRM:-OFF}" \
|
||||||
|
-DWITH_XKB="${WITH_XKB:-OFF}" \
|
||||||
|
-DWITH_XRANDR_MONITORS="${WITH_XRANDR_MONITORS:-OFF}" \
|
||||||
|
-DWITH_XCURSOR="${WITH_XCURSOR:-OFF}" \
|
||||||
|
..
|
19
common/ci/summary.sh
Executable file
19
common/ci/summary.sh
Executable file
@ -0,0 +1,19 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -eo pipefail
|
||||||
|
|
||||||
|
set -x
|
||||||
|
|
||||||
|
"${CXX}" --version
|
||||||
|
cmake --version
|
||||||
|
|
||||||
|
set +x
|
||||||
|
|
||||||
|
echo "PATH=${PATH}"
|
||||||
|
echo "CXX=${CXX}"
|
||||||
|
echo "CXXFLAGS=${CXXFLAGS}"
|
||||||
|
echo "LDFLAGS=${LDFLAGS}"
|
||||||
|
echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"
|
||||||
|
echo "MAKEFLAGS=${MAKEFLAGS}"
|
||||||
|
echo "POLYBAR_BUILD_TYPE=${POLYBAR_BUILD_TYPE}"
|
||||||
|
echo "CMAKE_BUILD_TYPE=${BUILD_TYPE}"
|
@ -1,3 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
cd "${TRAVIS_BUILD_DIR}/build" || false
|
|
||||||
make || exit $?
|
|
@ -1,32 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
mkdir -p "${TRAVIS_BUILD_DIR}/build"
|
|
||||||
cd "${TRAVIS_BUILD_DIR}/build" || false
|
|
||||||
|
|
||||||
FLAGS=""
|
|
||||||
|
|
||||||
# Disable all extra modules and X extensions for minimal builds
|
|
||||||
# Most of these should already be turned off because their libraries are not
|
|
||||||
# installed, but some may not be
|
|
||||||
if [ "$POLYBAR_BUILD_TYPE" == "minimal" ]; then
|
|
||||||
FLAGS=(
|
|
||||||
"-DENABLE_PULSEAUDIO=OFF"
|
|
||||||
"-DENABLE_NETWORK=OFF"
|
|
||||||
"-DENABLE_MPD=OFF"
|
|
||||||
"-DENABLE_CURL=OFF"
|
|
||||||
"-DENABLE_ALSA=OFF"
|
|
||||||
"-DENABLE_I3=OFF"
|
|
||||||
"-DWITH_XRM=OFF"
|
|
||||||
"-DWITH_XKB=OFF"
|
|
||||||
"-DWITH_XRANDR_MONITORS=OFF"
|
|
||||||
"-DWITH_XCURSOR=OFF"
|
|
||||||
"-DWITH_XRANDR=ON"
|
|
||||||
)
|
|
||||||
fi
|
|
||||||
|
|
||||||
cmake \
|
|
||||||
-DCMAKE_CXX_COMPILER="${CXX}" \
|
|
||||||
-DCMAKE_CXX_FLAGS="${CXXFLAGS} -Werror" \
|
|
||||||
-DCMAKE_BUILD_TYPE="${BUILD_TYPE}" \
|
|
||||||
-DBUILD_TESTS:BOOL="${BUILD_TESTS:-OFF}" \
|
|
||||||
-DBUILD_DOC:BOOL="${BUILD_DOC:-OFF}" \
|
|
||||||
"${FLAGS[@]}" ..
|
|
@ -1,13 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
echo "${CXX} --version"
|
|
||||||
eval "${CXX} --version"
|
|
||||||
|
|
||||||
echo "cmake --version"
|
|
||||||
cmake --version
|
|
||||||
|
|
||||||
echo "PATH=${PATH}"
|
|
||||||
echo "CXX=${CXX}"
|
|
||||||
echo "CXXFLAGS=${CXXFLAGS}"
|
|
||||||
echo "LDFLAGS=${LDFLAGS}"
|
|
||||||
echo "LD_LIBRARY_PATH=${LD_LIBRARY_PATH}"
|
|
||||||
echo "JOBS=${JOBS}"
|
|
Loading…
Reference in New Issue
Block a user