Commit Graph

67 Commits

Author SHA1 Message Date
patrick96
cf739ed295 ci: Use github actions 2020-12-12 01:43:12 +01:00
patrick96
31096de5e5 travis: Update to focal
Bionic still has and old sphinx version which breaks our doc build
2020-10-03 15:37:17 +02:00
patrick96
f02fb67020 travis: Add jsoncpp dependency 2020-02-22 18:02:13 +01:00
patrick96
7f09784548 doc: Add Gitter room
The Gitter room https://gitter.im/polybar/polybar should serve a similar
purpose as the IRC room with the benefit that messages persist and can
be received when offline.

From now on gitter should be the place where the polybar community
lives. Reddit is great for asking longer questions in the style of a
forum but not so great for quick back and forth conversations. IRC is
better in that aspect but has the serious downside that you have to stay
connected to get an answer and messages are not logged (only by your
client).

Both reddit and IRC are here to stay and I will still check them
regularly, but we should encourage people to join gitter.
2019-11-28 11:12:22 +01:00
patrick96
bffec3d8f2 travis: update to bionic
Now we don't have to build xcb-xrm ourselves since it's available in the
repos
2019-10-26 22:28:47 +02:00
x70b1
12a47fe72e travis: create an irc one-liner (#1846) 2019-08-04 17:39:05 +02:00
patrick96
65e72fd71e travis: Build documentation 2019-05-10 08:14:02 +02:00
patrick96
286eac393c tests: Build and run all tests with make check
Simplifies the building and running of tests

Also exports the proper env variables so that the googletest output is
colored

ctest can use env variables for some of its options so we can for
example run
  CTEST_PROGRESS_OUTPUT=1 make check
to run ctest with the --progress flag

This also makes the travis test.sh script obsolete
2019-01-20 15:11:14 +01:00
patrick96
ea5fc22c7d travis: Upgrade to xenial
This travis environment contains more up-to-date versions of clang and
gcc (namely 7.0.0 and 5.4.0). This allows us to remove all the code used
to get those newer versions in trusty.

Ref: https://docs.travis-ci.com/user/reference/xenial/
2019-01-08 17:15:06 +01:00
NBonaparte
35c0c4a343 fix(xcb): check for composite extension (#1430)
* fix(xcb): check for composite extension

* fix(travis): add xcb-composite to deps

* fix(xcb): always include composite when building
2018-12-02 16:39:14 +01:00
sam-lunt
d3e37918e5 CMake refactor (#1510)
* Clean up CMake logic

- removed logic to find CppUnit (no longer used)
- removed "dirs" variable used to pass include directories
- removed add_library function (no longer used)
- removed make_executable function
    * only used in 2 places (polybar and polybar-msg)
    * it was more general than needed, logic is simpler without it
- split polybar into static library and executable
    * this allows linking unit tests to the library

* rename library

* add coverage build

- Added a CMake build type "Coverage" that builds C and C++
  code with the "--coverage" flag (recognized by both GCC and Clang)
- removed "-Wno-missing-field-initializers" from test flags,
  since it didn't seem to be needed any more
- removed logic from tests/CMakeLists to disable "-Werror" and "-pedantic-errors"
  since there didn't seem to be any warnings during the build

* fix whitespace

* update travis

* remove O2 from defalt flags

* allow tests to be built by default make target

* disable Werror for debug builds
2018-11-21 18:46:33 +01:00
patrick96
d43a4a8d9d refactor(travis): Remove Debug build configurations
They're not really any different from the release builds and only
elongate the build process. Also now that we have a minimal build, we
would have more than five build configurations which would make travis
limit itself to five concurrent builds, letting the last build wait on
the others.

Also it's just unnecessary load on the travis servers
2018-06-18 11:49:31 +02:00
patrick96
747cdfe7f5 refactor(travis): Add minimal build configuration
Uses none of the optional dependencies. This ensures that polybar can
build without any of the supposedly optional dependencies. This would
have detected the cause of the xrm build failure before it was merged
2018-06-18 11:49:31 +02:00
patrick96
5d350dead8 refactor(travis): Use anchor for apt packages
This allows use to pick and choose apt packages for each of our build
configurations

This makes the definition of a new build configuration more verbose but
it gives us greater flexibility and it's also a preparation for a new
build configuration with minimal number of packages
2018-06-18 11:49:31 +02:00
NBonaparte
4dfa4079be feat(travis): switch to codecov for code coverage (#1165) 2018-04-16 20:03:34 +02:00
patrick96
6cee262225 travis: Move MAKEFLAGS to .travis.yml 2018-04-11 19:37:50 -07:00
patrick96
c900a9958d travis: Don't fetch as many git commits 2018-04-11 19:37:50 -07:00
patrick96
0394172cc3 travis: Enable ccache and apt caching
Will massively decrease build time
2018-04-11 19:37:50 -07:00
patrick96
a8234ddd4e travis: Don't install specific compilers
clang is already installed in travis' trusty environment

Should decrease build time quite a bit because we don't need to download
and compule libc++
2018-04-11 19:37:50 -07:00
patrick96
7b7498bde1 travis: Remove custom cmake
Travis provides cmake 3.9.2 ([1])

[1]:
https://docs.travis-ci.com/user/build-environment-updates/2017-12-12/
2018-04-11 19:37:50 -07:00
patrick96
3f9ce4bb99 tests: Only configure tests when asked for
This prevents the download of googletest for normal builds. Now when we
want to compile and run tests we need to specify -DBUILD_TESTS=ON
2018-04-10 00:56:51 +02:00
patrick96
0e5584920b tests: Use local gtest headers
This makes sure the headers and the compiled gtest library are
compatible
2018-04-10 00:56:51 +02:00
patrick96
cacd161ed7 travis: Send data to coveralls.io after tests
The PYTHONPATH env variable needed to be removed because it was messing
with pip and cpp-coveralls

Unfortunately adding the '-e build' to coveralls doesn't work to exclude
source files in the build directory, as it won't collect any data then.
If at some point, we have source files that are used by the tests
somewhere inside the build folder that isn't covered by the exclusion
rules, we'll need to add it here
2018-04-10 00:56:51 +02:00
patrick96
d768c49980 travis: Separate compiling and testing 2018-04-10 00:56:51 +02:00
patrick96
eed4d3ffc8 fix(tests): Compile gtest at configure time
Ubuntu (and thus travis CI) doesn't have the gtest library in its repos,
only the header files and according to [1], gtest should be compiled in
every project anyways

[1]: https://github.com/google/googletest/blob/master/googletest/docs/FAQ.md#why-is-it-not-recommended-to-install-a-pre-compiled-copy-of-google-test-for-example-into-usrlocal
2018-04-10 00:56:51 +02:00
patrick96
c865add821 refactor(tests): Migrate to googletest
googletest (gtest) is more feature rich than the current implementation
which only provides expect() which is basically an assertion. It is also
quite intuitive to use, this can be seen in the rewrite of the
command_line test where EXPECT_THROW replaces a whole try-catch block.

I have also moved the source files the test depend on to be linked in
CMakeLists.txt instead of including them directly because include .cpp
files is bad.

The two x11 tests were removed because they were written two years ago
and a lot of the things they depend on, don't actually exist anymore in
polybar (I think we switched to xpp after those tests were written)

Tests are now compiled with the gcov lib which can be used to provide
test coverage in a second step
2018-04-10 00:56:51 +02:00
NBonaparte
83976a6c5b fix(travis): Add libpulse-dev 2018-01-20 12:37:41 -08:00
NBonaparte
014a9f4c31 fix(travis): Install xcb-util-cursor 2017-09-16 15:31:24 -07:00
Michael Carlberg
214b3ddca8 fix(ci): Deps cache 2017-01-25 15:21:58 +01:00
Michael Carlberg
6692b4a8da refactor(x11): Cleanup 2017-01-24 10:49:14 +01:00
Michael Carlberg
f5adb8ace7 fix(ci): Remove xcb-xrm from apt-get packages 2017-01-20 03:33:54 +01:00
Michael Carlberg
f85e7c8f40 fix(ci): Build xcb-xrm 2017-01-20 03:30:03 +01:00
Michael Carlberg
9e83c55a70 fix: Revert removal of xcb-util-image 2017-01-20 02:54:06 +01:00
Michael Carlberg
aea5e3c9ff fix(ci): Install libxcb-xrm-dev 2017-01-20 02:43:12 +01:00
Michael Carlberg
70bb6f61d4 fix(ci): Use default build type 2016-12-23 17:15:13 +01:00
Michael Carlberg
b692fb4a54 fix(ci): Remove debug prints 2016-12-15 21:01:38 +01:00
Michael Carlberg
7a70ab8942 fix(ci): Capture exported environment variables 2016-12-15 20:10:16 +01:00
Michael Carlberg
32fb7ad9bb fix(ci): Installpackages using the apt addon 2016-12-15 19:16:31 +01:00
Michael Carlberg
510fe7261b fix(ci): Parallel build 2016-11-19 22:01:14 +01:00
Michael Carlberg
489d429644 refactor(ci): Split into scripts 2016-11-19 12:23:02 +01:00
Michael Carlberg
7dedcf6526 fix(ci): Disable e-mail notifications 2016-11-19 08:31:06 +01:00
Michael Carlberg
b3df50082a fix(tests): Run unit tests on travis 2016-11-19 08:30:00 +01:00
Michael Carlberg
fd57ab0f3d fix: project rename 2016-11-19 06:26:07 +01:00
Michael Carlberg
ccee2ba025 fix(travis): Install xcb-util-image 2016-11-04 20:57:22 +01:00
Michael Carlberg
072f836a58 fix(ci): Update build script 2016-10-29 06:58:04 +02:00
Michael Carlberg
ee92c30ff4 fix(ci): Update build script 2016-10-25 14:03:21 +02:00
Michael Carlberg
a2af30a494 fix(ci): Disable gcc and install libc++ packages 2016-10-25 13:02:49 +02:00
Michael Carlberg
e42eb87177 fix(ci): Build jsoncpp from source 2016-10-12 11:49:17 +02:00
Michael Carlberg
40a2c18970 fix(ci): Install i3-wm to build with i3 support 2016-10-12 11:36:59 +02:00
Michael Carlberg
a891f3e53b fix(ci): Do not use ccache 2016-10-12 04:30:03 +02:00