Skip to content

Commit 1a900d0

Browse files
committed
CI cleanup/updates
- Create versioned snapshots - include MacOS build -- still needs test and deploy steps - include barcode and libqrencode in Linux build - include libqrencode in Windows build Updated README and TODO files.
1 parent 34efe8d commit 1a900d0

File tree

4 files changed

+187
-92
lines changed

4 files changed

+187
-92
lines changed

.appveyor.yml

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
# Build glabels windows installer.
22
#
3-
# Currently, only builds snapshots and is truggered by the travis CI AppImage build, which
4-
# moves the "continuous" release/tag to head. This script deploys into this moved release.
3+
# Currently, only builds snapshots and is triggered by the travis CI build.
54

65

76
version: 3.99.0.{build}
@@ -23,25 +22,32 @@ init:
2322
- git config --global core.autocrlf true
2423

2524
install:
25+
# Locate Qt installation
2626
- set QTDIR=c:\Qt\5.11\msvc2017_64
27-
- set PATH=%PATH%;%QTDIR%/bin
27+
- set PATH=%PATH%;%QTDIR%\bin
28+
# Zlib and QREncode
29+
- vcpkg install zlib:x64-windows
30+
- vcpkg install libqrencode:x64-windows
31+
- vcpkg integrate install
2832

2933
build_script:
3034
- git checkout master # re-attach to master to satisfy auto version tooling
3135
- mkdir build
3236
- cd build
33-
- cmake -G "Visual Studio 15 2017 Win64" -DCMAKE_PREFIX_PATH=%QTDIR% ..
37+
- cmake -G "Visual Studio 15 2017 Win64" .. -DCMAKE_PREFIX_PATH=%QTDIR% -DCMAKE_TOOLCHAIN_FILE=C:/Tools/vcpkg/scripts/buildsystems/vcpkg.cmake
3438
- cmake --build . --config Release
3539
- ctest -C Release
3640
- cpack -C Release -G NSIS64
41+
- set /P VERSION=<VERSION
42+
- move glabels-3.99.0-win64.exe glabels-%VERSION%-win64.exe
3743

3844
artifacts:
39-
- path: build\glabels-3.99.0-win64.exe
45+
- path: build\glabels-%VERSION%-win64.exe
4046
name: windows-installer
4147

4248
deploy:
4349
- provider: GitHub
44-
release: continuous
50+
release: glabels-%VERSION%
4551
artifact: windows-installer
4652
auth_token:
4753
secure: mPNNgwWP58gu4eA2wVwGkGWNTzJigKj1g/XjsZ9vk03rLMmf5fxC/XNr15fPBCi8

.travis.yml

Lines changed: 116 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -1,48 +1,125 @@
11
language: cpp
2-
compiler: gcc
3-
sudo: require
4-
dist: trusty
5-
6-
before_install:
7-
- sudo add-apt-repository ppa:beineri/opt-qt591-trusty -y
8-
- sudo apt-get update -qq
9-
10-
install:
11-
- sudo apt-get -y install qt59base qt59svg qt59tools qt59translations zlib1g-dev xvfb
12-
- sudo apt-get -y install barcode libqrencode-dev
13-
- wget https://downloads.sourceforge.net/project/zint/zint/2.6.3/zint-2.6.3_final.tar.gz && tar xzf zint-2.6.3_final.tar.gz && cd zint-2.6.3.src && mkdir build && cd build && cmake .. && make && sudo make install && cd ../..
14-
- source /opt/qt5*/bin/qt5*-env.sh
15-
16-
script:
17-
- git fetch --unshallow # restore repository depth to properly count commits in auto versioning
18-
- git checkout master # re-attach to master to satisfy auto versioning
19-
- mkdir build
20-
- cd build
21-
- cmake .. -DCMAKE_INSTALL_PREFIX=/usr
22-
- make -j4
23-
- xvfb-run make test
24-
- sudo make DESTDIR=appdir install ; sudo chown -R $USER appdir ; find appdir/
25-
26-
after_success:
27-
- wget -c "https://github.com/jimevins/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
28-
- chmod a+x linuxdeployqt*.AppImage
29-
- unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
30-
- export LD_LIBRARY_PATH=/opt/qt*/lib/:/usr/local/lib:$LD_LIBRARY_PATH
31-
- ./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -bundle-non-qt-libs
32-
- ./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -appimage
33-
- find ./appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
34-
- ls -lh ./gLabels*.AppImage
35-
- mv ./gLabels*.AppImage glabels-continuous-x86_64.AppImage
36-
- wget -c https://github.com/jimevins/uploadtool/raw/master/upload.sh
37-
- bash ./upload.sh glabels-continuous-x86_64.AppImage
382

3+
# blocklist
394
branches:
405
except:
41-
- /.*/
42-
- # Do not build tags that we create when we upload to GitHub Releases
43-
- /^(?i:continuous)$/
6+
- /.*/ # Everything
447

8+
# safelist
459
branches:
4610
only:
4711
- master
12+
13+
matrix:
14+
include:
15+
16+
#####################
17+
#
18+
# Linux build
19+
#
20+
#####################
21+
- name: "Linux"
22+
os: linux
23+
dist: bionic
24+
sudo: require
25+
env:
26+
- QMAKE_PATH=/usr/lib/x86_64-linux-gnu/qt5/bin/qmake
4827

28+
install:
29+
- sudo apt-get -y install qtbase5-dev libqt5svg5-dev qttools5-dev
30+
- sudo apt-get -y install xvfb
31+
- sudo apt-get -y install pkgconf libqrencode-dev
32+
- sudo apt-get -y install barcode
33+
# Install zint from source
34+
- wget https://downloads.sourceforge.net/project/zint/zint/2.6.5/zint-2.6.5.tar.gz && tar xzf zint-2.6.5.tar.gz && ( cd zint-2.6.5 && mkdir build && cd build && cmake .. && make && sudo make install )
35+
- export LD_LIBRARY_PATH=/usr/local/lib:$LD_LIBRARY_PATH
36+
37+
before_script:
38+
- git fetch --unshallow # restore repository depth to properly count commits in auto versioning
39+
- git checkout master # re-attach to master to satisfy auto versioning
40+
41+
script:
42+
- mkdir build
43+
- cd build
44+
- cmake .. -DCMAKE_INSTALL_PREFIX=/usr
45+
- make -j4
46+
- xvfb-run ctest
47+
- VERSION=$(cat VERSION)
48+
49+
after_success:
50+
# Download AppImage QT deployment tool (local snapshot -- original at github/probono)
51+
- wget -c "https://github.com/jimevins/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage"
52+
- chmod a+x linuxdeployqt*.AppImage
53+
#
54+
# Create AppImage
55+
#
56+
- make DESTDIR=appdir install
57+
- unset QTDIR; unset QT_PLUGIN_PATH
58+
- ./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -qmake=${QMAKE_PATH} -bundle-non-qt-libs
59+
- ./linuxdeployqt*.AppImage ./appdir/usr/share/applications/*.desktop -qmake=${QMAKE_PATH} -appimage
60+
- mv ./gLabels*.AppImage glabels-${VERSION}-x86_64.AppImage
61+
62+
before_deploy:
63+
- git config --local user.name "Jim Evins (Travis CI)"
64+
- git config --local user.email [email protected]
65+
- git tag -f -a glabels-${VERSION} -m "glabels-${VERSION} CI"
66+
67+
deploy:
68+
provider: releases
69+
api_key: ${GITHUB_TOKEN}
70+
file:
71+
- glabels-${VERSION}-x86_64.AppImage
72+
draft: false
73+
prerelease: true
74+
skip_cleanup: true
75+
76+
77+
#####################
78+
#
79+
# MacOS build
80+
#
81+
#####################
82+
- name: "MacOS"
83+
os: osx
84+
85+
install:
86+
- brew install qt
87+
88+
before_script:
89+
- git fetch --unshallow # restore repository depth to properly count commits in auto versioning
90+
- git checkout master # re-attach to master to satisfy auto versioning
91+
92+
script:
93+
- mkdir build
94+
- cd build
95+
- cmake .. -DCMAKE_PREFIX_PATH=/usr/local/opt/qt
96+
- make -j4
97+
#- ctest --verbose
98+
- VERSION=$(cat VERSION)
99+
100+
101+
# #####################
102+
# #
103+
# # Windows build
104+
# #
105+
# #####################
106+
# - name: "Windows"
107+
# os: windows
108+
#
109+
# before_script:
110+
# - git fetch --unshallow # restore repository depth to properly count commits in auto versioning
111+
# - git checkout master # re-attach to master to satisfy auto versioning
112+
#
113+
# script:
114+
# - mkdir build
115+
# - cd build
116+
# #- cmake .. -G "Visual Studio 15 2017 Win64"
117+
# #- cmake --build . --config Release
118+
# #- ctest -C Release
119+
# #- VERSION=$(cat VERSION)
120+
#
121+
# after_success:
122+
# #
123+
# # Create Windows Installer
124+
# #
125+
# #- cpack -C Release -G NSIS64

README.md

Lines changed: 23 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,17 @@
99

1010
## What is gLabels-qt?
1111

12-
gLabels-qt is the development version of the next major version of gLabels (4.0).
12+
gLabels-qt is the development version of the next major version of gLabels (a.k.a. glabels-4).
1313

1414

1515
## What's new in gLabels 4?
1616

17-
- Based on the Qt5 framework.
18-
- Updated UI based on typical workflows.
19-
- Intended to be a cross-platform application.
20-
* So far, it has been built and tested under Linux, Windows 7, and Windows 10. (Windows testing is still very intermittent.)
21-
22-
23-
## Status
24-
25-
gLabels-qt has been under off-and-on development for several years.
26-
It is still missing several features to bring it in parity with glabels-3.4. These include
27-
28-
- Optional Evolution and VCard backends.
29-
- An online manual
17+
- A complete rewrite, based on the Qt5 framework.
18+
- A new UI layout based on common activities.
19+
- Cross-platform support
20+
- User-defined variables
21+
- Support for continuous-roll labels
22+
- Many new product templates
3023

3124

3225
## Download
@@ -41,41 +34,29 @@ Continuous integration snapshots are not official releases. These snapshots rep
4134
bleeding-edge development (unstable) code. Please, DO NOT use it in a production environment. Do not
4235
expect compatibility or consistency of features between snapshots.
4336

44-
| Platform | Files | Notes |
45-
|:---------|:------|:------|
46-
| Linux x86_64 [AppImage](http:appimage.org) | [glabels-continuous-x86_64.AppImage](https://github.com/jimevins/glabels-qt/releases/download/continuous/glabels-continuous-x86_64.AppImage) | Download, make it executable, and run! |
47-
| Archlinux | [Archlinux User Repository Page](https://aur.archlinux.org/packages/glabels-qt-git/) | Maintained by [Mario Blättermann](https://github.com/mariobl) |
48-
| Ubuntu | [PPA Page](https://code.launchpad.net/~krisives/+archive/ubuntu/glabels-qt) | Maintained by [Kristopher Ives](https://github.com/krisives).<br>https://github.com/krisives/glabels-qt-packaging |
49-
| Windows x86_64 | [glabels-3.99.0-win64.exe](https://github.com/jimevins/glabels-qt/releases/download/continuous/glabels-3.99.0-win64.exe) | Windows installer |
50-
| Source Code TAR.GZ | [continuous.tar.gz](https://github.com/jimevins/glabels-qt/archive/continuous.tar.gz) | |
51-
| Source Code ZIP | [continuous.zip](https://github.com/jimevins/glabels-qt/archive/continuous.tar.gz) | |
37+
Pre-release Linux [AppImage](http:appimage.org) and Windows installer binaries are available in
38+
**[Releases](https://github.com/jimevins/glabels-qt/releases)**.
5239

40+
Some third-party packages are also available:
5341

54-
## Build Instructions
5542

56-
- [Linux Build Instructions](docs/BUILD-INSTRUCTIONS-LINUX.md)
57-
- [Windows Build Instructions](docs/BUILD-INSTRUCTIONS-WINDOWS.md)
58-
- Mac Build Instructions (TBD)
43+
| Platform | Files | Notes |
44+
|:----------|:-------------------------------------------------------------------------------------|:--------------------------------------------------------------|
45+
| Archlinux | [Archlinux User Repository Page](https://aur.archlinux.org/packages/glabels-qt-git/) | Maintained by [Mario Blättermann](https://github.com/mariobl) |
46+
| Ubuntu | [PPA Page](https://code.launchpad.net/~krisives/+archive/ubuntu/glabels-qt) | Maintained by [Kristopher Ives](https://github.com/krisives) |
5947

6048

61-
## Help Needed
62-
63-
* Help is needed to add support to build and package glabels for various platforms and packaging systems.
64-
These include
6549

66-
- Windows (VisualStudio)
67-
- Windows (MINGW)
68-
- Mac
69-
- Linux (flatpak)
70-
- Linux (snap)
50+
## Build Instructions
7151

72-
* Help is needed writing online documentation.
52+
- [Linux Build Instructions](docs/BUILD-INSTRUCTIONS-LINUX.md)
53+
- [Windows Build Instructions](docs/BUILD-INSTRUCTIONS-WINDOWS.md)
54+
- [Mac Build Instructions](docs/BUILD-INSTRUCTIONS-MACOS.md)
7355

74-
* Help is needed writing translations.
7556

76-
* Suggestions.
57+
## Help Needed
7758

78-
* For code contributions, see [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md).
59+
Please see [docs/CONTRIBUTING.md](docs/CONTRIBUTING.md).
7960

8061

8162
## License
@@ -100,12 +81,11 @@ restrictive licensing:
10081
gLabels-qt currently includes a version of the glbarcode++ library, located in
10182
the "glbarcode/" subdirectory. It is licensed under the GNU LESSER GENERAL
10283
PUBLIC LICENSE (LGPL); either version 3 of the License, or (at your option)
103-
any later version -- see the [glbarcode/LICENSE](glbarcode/LICENSE).
84+
any later version. See [glbarcode/LICENSE](glbarcode/LICENSE).
10485

10586
### Template Database
10687

10788
The XML files in the "templates/" subdirectory constitute the glabels
10889
label database. No copyright is claimed on the facts contained within
109-
the database and can be used for any purpose. However, to clear up any
110-
ambiguity, the DTD file that defines the format of these files is
111-
licensed using the MIT/X license, see [templates/LICENSE](templates/LICENSE).
90+
the database and can be used for any purpose. The files themselves are
91+
licensed using the MIT/X license. See [templates/LICENSE](templates/LICENSE).

docs/TODO.md

Lines changed: 36 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,41 @@
1-
To Do List for gLabels 4.0 -- 2018-04-15
1+
To Do List for gLabels 4.0 -- 2018-10-06
22
========================================
33

4+
Add programmable margin to text objects
5+
---------------------------------------
6+
The current built-in fixed margin seems to confuse people when dealing with
7+
different horizontal and vertical alignments.
8+
9+
Improve print copies UI
10+
-----------------------
11+
As with previous versions of glabels, there should be a way of selecting
12+
the number of sheets to print. Merge printing should be able to be collated
13+
or not, and if printing multiple copies, start on the same first label.
14+
15+
Printer calibration tool
16+
------------------------
17+
There desperately needs to be a printer calibration tool. At a minimum
18+
the tool should allow adjusting horizontal and vertical offsets. The
19+
adjustments should be unique to each printer.
20+
21+
I am thinking of a test page with a cross in the center. It would have a
22+
grid around this cross, indicating how much to adjust x & y. The user
23+
would fold the paper in quaters and use this grid to guestimate the offsets.
24+
25+
There should be warnings about how printers may drift from calibration or
26+
even not have repeatable results.
27+
28+
* A more sophisticated tool, could adjust for scaling and skew, but it would
29+
be very difficult to interact with the user on these.
30+
31+
32+
Write help documentation
33+
------------------------
34+
35+
36+
Completed List for gLabels 4.0 -- 2018-04-15
37+
============================================
38+
439
Add "User Variables" feature
540
----------------------------
641

@@ -27,9 +62,6 @@ Add support for "Continuous Roll" labels
2762
* Add option to Properties page to adjust this value
2863

2964

30-
Write help documentation
31-
------------------------
32-
3365

3466
To Do List for gLabels 4.1 -- 2019-03-17
3567
========================================

0 commit comments

Comments
 (0)