diff --git a/.github/workflows/dockerimage.yml b/.github/workflows/dockerimage.yml new file mode 100644 index 0000000..e5e8cca --- /dev/null +++ b/.github/workflows/dockerimage.yml @@ -0,0 +1,80 @@ +name: Docker Image CI + +on: [push] + +jobs: + build: + runs-on: ubuntu-latest + strategy: + fail-fast: false + matrix: + env: + - VERSION: 5.14.0 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=14 --build-arg QT_VERSION_PATCH=0 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.13.2 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=13 --build-arg QT_VERSION_PATCH=2 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.13.1 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=13 --build-arg QT_VERSION_PATCH=1 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.13.0 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=13 --build-arg QT_VERSION_PATCH=0 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.12.6 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=12 --build-arg QT_VERSION_PATCH=6 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.12.5 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=12 --build-arg QT_VERSION_PATCH=5 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.12.4 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=12 --build-arg QT_VERSION_PATCH=4 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.12.3 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=12 --build-arg QT_VERSION_PATCH=3 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.12.2 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=12 --build-arg QT_VERSION_PATCH=2 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.12.1 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=12 --build-arg QT_VERSION_PATCH=1 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.12.0 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=12 --build-arg QT_VERSION_PATCH=0 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.11.3 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=11 --build-arg QT_VERSION_PATCH=3 --build-arg QT_DOWNLOAD_BRANCH=archive --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.11.2 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=11 --build-arg QT_VERSION_PATCH=2 --build-arg QT_DOWNLOAD_BRANCH=archive --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.11.1 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=11 --build-arg QT_VERSION_PATCH=1 --build-arg QT_DOWNLOAD_BRANCH=archive --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.11.0 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=11 --build-arg QT_VERSION_PATCH=0 --build-arg QT_DOWNLOAD_BRANCH=archive --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.10.1 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=10 --build-arg QT_VERSION_PATCH=1 --build-arg QT_DOWNLOAD_BRANCH=archive --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.10.0 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=10 --build-arg QT_VERSION_PATCH=0 --build-arg QT_DOWNLOAD_BRANCH=archive --build-arg QT_TARBALL_NAMING_SCHEME=everywhere --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.9.9 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=9 --build-arg QT_VERSION_PATCH=9 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere-opensource --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.9.8 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=9 --build-arg QT_VERSION_PATCH=8 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere-opensource --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.9.7 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=9 --build-arg QT_VERSION_PATCH=7 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere-opensource --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.9.6 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=9 --build-arg QT_VERSION_PATCH=6 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere-opensource --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.9.5 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=9 --build-arg QT_VERSION_PATCH=5 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere-opensource --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.9.4 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=9 --build-arg QT_VERSION_PATCH=4 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere-opensource --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.9.3 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=9 --build-arg QT_VERSION_PATCH=3 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere-opensource --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.9.2 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=9 --build-arg QT_VERSION_PATCH=2 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere-opensource --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.9.1 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=9 --build-arg QT_VERSION_PATCH=1 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere-opensource --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.9.0 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=9 --build-arg QT_VERSION_PATCH=0 --build-arg QT_DOWNLOAD_BRANCH=official_releases --build-arg QT_TARBALL_NAMING_SCHEME=everywhere-opensource --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.6.3 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=6 --build-arg QT_VERSION_PATCH=3 --build-arg QT_DOWNLOAD_BRANCH=archive --build-arg QT_TARBALL_NAMING_SCHEME=everywhere-opensource --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.6.2 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=6 --build-arg QT_VERSION_PATCH=2 --build-arg QT_DOWNLOAD_BRANCH=archive --build-arg QT_TARBALL_NAMING_SCHEME=everywhere-opensource --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.6.1-1 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=6 --build-arg QT_VERSION_PATCH=1-1 --build-arg QT_DOWNLOAD_BRANCH=archive --build-arg QT_TARBALL_NAMING_SCHEME=everywhere-opensource --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 + - VERSION: 5.6.0 + ARGS: --build-arg QT_VERSION_MAJOR=5 --build-arg QT_VERSION_MINOR=6 --build-arg QT_VERSION_PATCH=0 --build-arg QT_DOWNLOAD_BRANCH=archive --build-arg QT_TARBALL_NAMING_SCHEME=everywhere-opensource --build-arg CI_BUILD=2 --build-arg CORE_COUNT=1 + + steps: + - uses: actions/checkout@v1 + - run: | + docker build --pull --cache-from darkmattercoder/qt-build:base-$VERSION $ARGS --target=base -t darkmattercoder/qt-build:base-$VERSION . + docker build --pull --cache-from darkmattercoder/qt-build:builder-$VERSION $ARGS --target=builder -t darkmattercoder/qt-build:builder-$VERSION . + env: ${{ matrix.env }} diff --git a/.gitignore b/.gitignore index 85dbcb4..71e9088 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,21 @@ +# Ignore all +* + +# Unignore all with extensions +!*.* + +# Unignore all dirs +!*/ + tests/*/build tests/build tests/tests.pro +Makefile +.qmake.stash +*.qmake.stash +*qmake.stash +/.qmake.stash +*.o +run-tests.sh +tests.pro +/.qmake.stash diff --git a/.travis.yml b/.travis.yml index 9a94378..dbedabc 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,8 +1,9 @@ +dist: bionic language: python python: - 3.6 services: -- docker + - docker branches: only: - deploy @@ -16,29 +17,37 @@ env: - secure: Bz/3Zzw3D7lhK61YiHHsniQAlQgDJ4XtpTg/QBjapM/I0vuBnNMKFW8s7TFyjqBhnKcAq41YHG+KIjnnTS5pD8VgDM5U//PW/rJJp/0Q+bQmL5ZG0HOzERNYUWCUtpBdrgqwmTxKvmsuQzzNruR4ERtraCuKCK0U3bAtpcNPAhwNbdfSd03SZaEc+aqEKfxr+gxZo8m/dH8qJMVSttd9B/PMKupmddcxbUHJa04nN0iqdMPgxi2kx/H7jWcoo2MIrCij1vynx0pO5u/4P3v7wfngz0PZwaqjAvDvshAJULkmY4nHK++RRCJ8Ml4A7pgM3XFCc3FcXEQQdfeZfeo9JnhYDnYn2gfJjLwjX+LtPmlTy2lhF4dYoDWg7YKNUufeA+a+qw09500r00mn8P34GTVhvkrnBlK+adz0r0HZ6qfRmRLNu7JpOGx1Saat+8TeoYJ8O+q7hgYHMVqxgU1XZmUdU6BMg0RVNMU3nTn87o4UmGUn8IX7bdYJ6iFxYIL8xQJQCNXAs66v4i4B6yVfSvOsvArhro6x3+EyPXRLT+p+cnGKiNyMqBmjTlZd2UTujx3ziawE9grxHdoSkin8neyYVrEG1CoIJqC+J6nnIWHk8sm89HHKxhngQqZKiuRYi0TOYdRpKGJH3tJDqpVk66VQr3nO4ciaOCnJlKSk8Gc= - secure: cCBqL4SXhRodrrZydl8KarefizmhJMyWRuywleeIaluiIt1OM1S2JpwAg2tWNN3pjrLhXQIOeSYR4Q6R4eaVp9YcmWB6gkiYRdnjWHsaufnviz0Dz2KJrSMDAcMAOFWIQwEmXxI2znAKitBnpjAZOVgOqFKeLfAFhDPlQbM4S++n0rKUL4sMCrrUv+DskPGlreH0LFzHzL3OnzkKBRg73bQ8sXAnwJZKU1VV+xNetBKB4CQwS2jPcfHUZC7OJJB0795uGCC8DiTA+VY+T8frpeH7NhD6gAyEwq5QG5oO7l+sVBFfWWJWX8Zi8qCBq4KAPxv48UHPqc/DlawDyszSC6PpTZv4slvn55gvh5lIrUJp4/29Zcr+0MFj9J+3/j/d9YldZ0lqjPisAM44h2TXQs7jnu4o1YMlZQQ7q2yxyDGG/SMe4P+wJLQgOdWUmSqdAyl3D1krrfVPV3LiEYgDugsYVZP40Ooh45S8t9pc3AIUP+R1nQT3UZ/2Nkx6WDTMzkXVcRYEA3t50oX+QzOpX6oyuThhS+N1sbPH9sQbrhLGjYAIHmF/Vt9JsYeP84ju7rZg3ml6WT0TBVioAPfDbEDQZoCKBz8P+wMqR13jcrAH837sEHttrP8keaZ1An5pvZOG9THeKiIagH/hwlVkcgg9AzPz2YGq96f2C6rnE70= matrix: - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=6 QT_VERSION_PATCH=0 QT_TARBALL_NAMING_SCHEME=everywhere-opensource - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=6 QT_VERSION_PATCH=1-1 QT_TARBALL_NAMING_SCHEME=everywhere-opensource - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=6 QT_VERSION_PATCH=2 QT_TARBALL_NAMING_SCHEME=everywhere-opensource - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=6 QT_VERSION_PATCH=3 QT_TARBALL_NAMING_SCHEME=everywhere-opensource - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=0 QT_TARBALL_NAMING_SCHEME=everywhere-opensource - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=1 QT_TARBALL_NAMING_SCHEME=everywhere-opensource - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=2 QT_TARBALL_NAMING_SCHEME=everywhere-opensource - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=3 QT_TARBALL_NAMING_SCHEME=everywhere-opensource - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=4 QT_TARBALL_NAMING_SCHEME=everywhere-opensource - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=5 QT_TARBALL_NAMING_SCHEME=everywhere-opensource - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=6 QT_TARBALL_NAMING_SCHEME=everywhere-opensource - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=7 QT_TARBALL_NAMING_SCHEME=everywhere-opensource - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=8 QT_TARBALL_NAMING_SCHEME=everywhere-opensource - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=10 QT_VERSION_PATCH=0 QT_TARBALL_NAMING_SCHEME=everywhere - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=10 QT_VERSION_PATCH=1 QT_TARBALL_NAMING_SCHEME=everywhere - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=11 QT_VERSION_PATCH=0 QT_TARBALL_NAMING_SCHEME=everywhere - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=11 QT_VERSION_PATCH=1 QT_TARBALL_NAMING_SCHEME=everywhere - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=11 QT_VERSION_PATCH=2 QT_TARBALL_NAMING_SCHEME=everywhere - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=11 QT_VERSION_PATCH=3 QT_TARBALL_NAMING_SCHEME=everywhere - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=12 QT_VERSION_PATCH=0 QT_TARBALL_NAMING_SCHEME=everywhere - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=12 QT_VERSION_PATCH=1 QT_TARBALL_NAMING_SCHEME=everywhere - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=12 QT_VERSION_PATCH=2 QT_TARBALL_NAMING_SCHEME=everywhere - - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=12 QT_VERSION_PATCH=3 QT_TARBALL_NAMING_SCHEME=everywhere + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=14 QT_VERSION_PATCH=0 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=13 QT_VERSION_PATCH=2 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=13 QT_VERSION_PATCH=1 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=13 QT_VERSION_PATCH=0 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=12 QT_VERSION_PATCH=6 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=12 QT_VERSION_PATCH=5 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=12 QT_VERSION_PATCH=4 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=12 QT_VERSION_PATCH=3 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=12 QT_VERSION_PATCH=2 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=12 QT_VERSION_PATCH=1 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=12 QT_VERSION_PATCH=0 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=11 QT_VERSION_PATCH=3 QT_DOWNLOAD_BRANCH=archive QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=11 QT_VERSION_PATCH=2 QT_DOWNLOAD_BRANCH=archive QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=11 QT_VERSION_PATCH=1 QT_DOWNLOAD_BRANCH=archive QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=11 QT_VERSION_PATCH=0 QT_DOWNLOAD_BRANCH=archive QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=10 QT_VERSION_PATCH=1 QT_DOWNLOAD_BRANCH=archive QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=10 QT_VERSION_PATCH=0 QT_DOWNLOAD_BRANCH=archive QT_TARBALL_NAMING_SCHEME=everywhere CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=9 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere-opensource CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=8 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere-opensource CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=7 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere-opensource CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=6 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere-opensource CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=5 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere-opensource CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=4 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere-opensource CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=3 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere-opensource CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=2 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere-opensource CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=1 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere-opensource CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=9 QT_VERSION_PATCH=0 QT_DOWNLOAD_BRANCH=official_releases QT_TARBALL_NAMING_SCHEME=everywhere-opensource CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=6 QT_VERSION_PATCH=3 QT_DOWNLOAD_BRANCH=archive QT_TARBALL_NAMING_SCHEME=everywhere-opensource CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=6 QT_VERSION_PATCH=2 QT_DOWNLOAD_BRANCH=archive QT_TARBALL_NAMING_SCHEME=everywhere-opensource CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=6 QT_VERSION_PATCH=1-1 QT_DOWNLOAD_BRANCH=archive QT_TARBALL_NAMING_SCHEME=everywhere-opensource CI_BUILD=2 CORE_COUNT=2 + - QT_VERSION_MAJOR=5 QT_VERSION_MINOR=6 QT_VERSION_PATCH=0 QT_DOWNLOAD_BRANCH=archive QT_TARBALL_NAMING_SCHEME=everywhere-opensource CI_BUILD=2 CORE_COUNT=1 stages: - test - merge @@ -46,10 +55,14 @@ script: - 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then echo $DOCKER_PASSWORD | docker login -u $DOCKER_USERNAME --password-stdin || travis_terminate 1; fi' - docker pull darkmattercoder/qt-build:$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH || true - docker pull darkmattercoder/qt-build:builder-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH || true - - travis_wait 180 docker build --pull --cache-from darkmattercoder/qt-build:builder-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH --build-arg QT_VERSION_MAJOR=$QT_VERSION_MAJOR --build-arg QT_VERSION_MINOR=$QT_VERSION_MINOR --build-arg QT_VERSION_PATCH=$QT_VERSION_PATCH --build-arg QT_TARBALL_NAMING_SCHEME=$QT_TARBALL_NAMING_SCHEME --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 --target=builder -t darkmattercoder/qt-build:builder-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH . || travis_terminate 1; - - travis_wait 180 docker build --pull --cache-from darkmattercoder/qt-build:builder-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH --build-arg QT_VERSION_MAJOR=$QT_VERSION_MAJOR --build-arg QT_VERSION_MINOR=$QT_VERSION_MINOR --build-arg QT_VERSION_PATCH=$QT_VERSION_PATCH --build-arg QT_TARBALL_NAMING_SCHEME=$QT_TARBALL_NAMING_SCHEME --build-arg CI_BUILD=2 --build-arg CORE_COUNT=2 --target=qt -t darkmattercoder/qt-build:$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH . || travis_terminate 1; + - docker pull darkmattercoder/qt-build:base-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH || true + - travis_wait 180 docker build --pull --cache-from darkmattercoder/qt-build:base-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH --build-arg QT_VERSION_MAJOR=$QT_VERSION_MAJOR --build-arg QT_VERSION_MINOR=$QT_VERSION_MINOR --build-arg QT_VERSION_PATCH=$QT_VERSION_PATCH --build-arg QT_DOWNLOAD_BRANCH=$QT_DOWNLOAD_BRANCH --build-arg QT_TARBALL_NAMING_SCHEME=$QT_TARBALL_NAMING_SCHEME --build-arg CI_BUILD=$CI_BUILD --build-arg CORE_COUNT=$CORE_COUNT --target=base -t darkmattercoder/qt-build:base-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH . || travis_terminate 1; + - 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then docker push darkmattercoder/qt-build:base-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH || travis_terminate 1; fi' + - travis_wait 180 docker build --pull --cache-from darkmattercoder/qt-build:builder-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH --build-arg QT_VERSION_MAJOR=$QT_VERSION_MAJOR --build-arg QT_VERSION_MINOR=$QT_VERSION_MINOR --build-arg QT_VERSION_PATCH=$QT_VERSION_PATCH --build-arg QT_DOWNLOAD_BRANCH=$QT_DOWNLOAD_BRANCH --build-arg QT_TARBALL_NAMING_SCHEME=$QT_TARBALL_NAMING_SCHEME --build-arg CI_BUILD=$CI_BUILD --build-arg CORE_COUNT=$CORE_COUNT --target=builder -t darkmattercoder/qt-build:builder-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH . || travis_terminate 1; + - travis_wait 180 docker build --pull --cache-from darkmattercoder/qt-build:builder-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH --build-arg QT_VERSION_MAJOR=$QT_VERSION_MAJOR --build-arg QT_VERSION_MINOR=$QT_VERSION_MINOR --build-arg QT_VERSION_PATCH=$QT_VERSION_PATCH --build-arg QT_DOWNLOAD_BRANCH=$QT_DOWNLOAD_BRANCH --build-arg QT_TARBALL_NAMING_SCHEME=$QT_TARBALL_NAMING_SCHEME --build-arg CI_BUILD=$CI_BUILD --build-arg CORE_COUNT=$CORE_COUNT --target=qt -t darkmattercoder/qt-build:$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH . || travis_terminate 1; - tests/generate_tests.py || travis_terminate 1; - docker run --rm -u $UID -v $PWD/tests:/var/build darkmattercoder/qt-build:$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH build || travis_terminate 1; + - docker run --rm -u $UID -v $PWD/tests:/var/build darkmattercoder/qt-build:$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH /var/build/run-tests.sh /var/build/build || travis_terminate 1; - 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then docker push darkmattercoder/qt-build:$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH || travis_terminate 1; fi' - 'if [ "$TRAVIS_PULL_REQUEST" = "false" ]; then docker push darkmattercoder/qt-build:builder-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH || travis_terminate 1; fi' - python ci/tag_image.py darkmattercoder/qt-build:$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH || travis_terminate 1; diff --git a/Dockerfile b/Dockerfile index 54dd972..aad3d7e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,6 +7,11 @@ LABEL stage=qt-build-base ARG USER_UID= ARG USER_GID= +# In case you have to build behind a proxy +ARG PROXY= +ENV http_proxy=$PROXY +ENV https_proxy=$PROXY + # Name of the regular user. Does not look useful but can save a bit time when changing ENV QT_USERNAME=qt @@ -24,6 +29,15 @@ RUN apt-get update && apt-get -y dist-upgrade && apt-get -y --no-install-recomme build-essential \ pkg-config \ libgl1-mesa-dev \ + libicu-dev \ + firebird-dev \ + libmysqlclient-dev \ + libpq-dev \ + # bc suggested for openssl tests + bc \ + libssl-dev \ + # git is needed to build openssl in older versions + git \ # xcb dependencies libfontconfig1-dev \ libfreetype6-dev \ @@ -37,6 +51,9 @@ RUN apt-get update && apt-get -y dist-upgrade && apt-get -y --no-install-recomme libxcb-glx0-dev \ # bash needed for argument substitution in entrypoint bash \ + # since 5.14.0 we apparently need libdbus-1-dev and libnss3-dev + libnss3-dev \ + libdbus-1-dev \ && apt-get -qq clean \ && rm -rf /var/lib/apt/lists/* \ && printf "#!/bin/sh\nls -lah" > /usr/local/bin/ll && chmod +x /usr/local/bin/ll @@ -51,7 +68,7 @@ RUN if [ ${USER_GID} ]; then \ useradd -u ${USER_UID} -g ${QT_USERNAME} ${QT_USERNAME}; \ else \ useradd -g ${QT_USERNAME} ${QT_USERNAME}; \ - fi + fi && mkdir /home/${QT_USERNAME} # build stage FROM base as builder @@ -67,6 +84,8 @@ ENV QT_BUILD_ROOT=/tmp/qt_build # They switched the tarball naming scheme from 5.9 to 5.10. This ARG shall provide a possibility to reflect that ARG QT_TARBALL_NAMING_SCHEME=everywhere +# Providing flag for archived or stable versions +ARG QT_DOWNLOAD_BRANCH=official_releases ENV QT_BUILD_DIR=${QT_BUILD_ROOT}/qt-${QT_TARBALL_NAMING_SCHEME}-src-${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}/build @@ -74,30 +93,25 @@ ENV QT_BUILD_DIR=${QT_BUILD_ROOT}/qt-${QT_TARBALL_NAMING_SCHEME}-src-${QT_VERSIO WORKDIR ${QT_BUILD_ROOT} # Download sources -RUN curl -sSL https://download.qt.io/official_releases/qt/${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}/${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}/single/qt-${QT_TARBALL_NAMING_SCHEME}-src-${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}.tar.xz | tar xJ +RUN curl -sSL https://download.qt.io/${QT_DOWNLOAD_BRANCH}/qt/${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}/${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}/single/qt-${QT_TARBALL_NAMING_SCHEME}-src-${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}.tar.xz | tar xJ WORKDIR ${QT_BUILD_DIR} -# Configure, make, install -ADD buildconfig/configure-${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}.sh configure.sh - -RUN chmod +x ./configure.sh && ./configure.sh - # Possibility to make outputs less verbose when required for a ci build ARG CI_BUILD= ENV CI_BUILD=${CI_BUILD} # Speeding up make depending of your system ARG CORE_COUNT=1 +ENV CORE_COUNT=${CORE_COUNT} -RUN if [ $CI_BUILD = 2 ]; then \ - echo "Suppressing all make output for CI environments to decrease log size..."; \ - make -j${CORE_COUNT} > /dev/null 2>&1 || make; \ - elif [ $CI_BUILD ]; then \ - echo "Suppressing regular make output for CI environments to decrease log size..."; \ - make -j${CORE_COUNT} > /dev/null || make; \ - else make -j${CORE_COUNT}; \ - fi; +# Configure, make, install +ADD buildconfig/configure-${QT_VERSION_MAJOR}.${QT_VERSION_MINOR}.${QT_VERSION_PATCH}.sh configure.sh +# before running the configuration, adding a directory to copy additional contents to the final image +RUN mkdir /opt/extra-dependencies && chmod +x ./configure.sh && ./configure.sh ${CORE_COUNT} ${CI_BUILD} + +COPY buildconfig/build.sh build.sh +RUN ./build.sh ${CI_BUILD} ${CORE_COUNT} # install it RUN make install @@ -112,6 +126,18 @@ ENV ENTRYPOINT_DIR=/usr/local/bin ENV APP_BUILDDIR=/var/build COPY --from=builder ${QT_PREFIX} ${QT_PREFIX} + +# the next copy statement failed often. My only guess is, that the extra dependencies are not existent and somehow that +# triggers a failure here.... A workaround for similar issues is to put an empty run statement in between: https://github.com/moby/moby/issues/37965 +RUN true +COPY --from=builder /opt/extra-dependencies /opt/extra-dependencies + +#for modifications during configuration +ENV LD_LIBRARY_PATH=/opt/extra-dependencies/lib:${LD_LIBRARY_PATH} + +# the next copy statement failed often. My only guess is, that the extra dependencies are not existent and somehow that +# triggers a failure here.... A workaround for similar issues is to put an empty run statement in between: https://github.com/moby/moby/issues/37965 +RUN true COPY entrypoint.sh ${ENTRYPOINT_DIR} RUN chmod +x ${ENTRYPOINT_DIR}/entrypoint.sh diff --git a/FUNDING.yml b/FUNDING.yml new file mode 100644 index 0000000..a2295b9 --- /dev/null +++ b/FUNDING.yml @@ -0,0 +1 @@ +custom: ["https://www.paypal.me/bjpay", Paypal] diff --git a/README.md b/README.md index 27f149e..061210c 100644 --- a/README.md +++ b/README.md @@ -54,17 +54,29 @@ The build arguments can entirely be omitted, resulting in a build with some defa * `QT_VERSION_MAJOR` * `QT_VERSION_MINOR` * `QT_VERSION_PATCH` +* `QT_DOWNLOAD_BRANCH` -- gives you the possibility to address different versions for download. Should e.g. read `official_releases` or `archive`. * `QT_TARBALL_NAMING_SCHEME` -- gives you the possibility to alter the naming scheme. `Qt` changed that between `5.9`and `5.10` ftom `qt-everywhere-opensource-src` to `qt-everywhere-src`. The `qt-` and `-src` parts are hardcoded, `QT_TARBALL_NAMING_SCHEME` is inserted between * `CI_BUILD` -- will suppress regular `make` output. If set to `2` it will stay silent, if set to `1` (or anything else) only warnings will show up. When the compiling fails, `make` is run again regularly to give you the whole output, skipping everything that has been built before, to give you the possibility to see the actual behaviour. When left undefined, all output is visible and the second run of make is *not* performed * `CORE_COUNT` -- determines the number of parallel make jobs. Adjust it to fit your machine +### Convenience local build script + +In case you want to do a quick, customised build like I do it in the automated build process. Have a look at the self-explanatory script `build-dockerfile-local.sh`. + ## Available tags -All currently supported versions of `Qt` should be available as tags. It was nice to make the archived versions, too, but I did not yet start to adjust the download method as archived versions are taken from a different location. This is no hard work though, so might be a nice ![first contribution](https://img.shields.io/badge/-first_contribution-006b75.svg) +All currently supported versions of `Qt` should be available as tags. I added also versions that have been supported at the time adding them first, but are now archived. I'd like to add other archived versions, too, but I did not yet put any effort into thet. This is no hard work though, so might be a nice ![first contribution](https://img.shields.io/badge/-first_contribution-006b75.svg) | Tags | Size | | ------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------- | -| [![imgVerInfo][ver_img_latest]][lnk_latest] [![imgVerInfo][ver_img_5.12]][lnk_5.12] [![imgVerInfo][ver_img_5.12.3]][lnk_5.12.3] | [![imgSizeInfo][size_img_5.12.3]][lnk_5.12.3] | +| [![imgVerInfo][ver_img_latest]][lnk_latest] [![imgVerInfo][ver_img_5.14]][lnk_5.14] [![imgVerInfo][ver_img_5.14.0][lnk_5.14.0] | [![imgSizeInfo][size_img_5.14.0]][lnk_5.14.0] | +| [![imgVerInfo][ver_img_5.13]][lnk_5.13] [![imgVerInfo][ver_img_5.13.2]][lnk_5.13.2] | [![imgSizeInfo][size_img_5.13.2]][lnk_5.13.2] | +| [![imgVerInfo][ver_img_5.13.1]][lnk_5.13.1] | [![imgSizeInfo][size_img_5.13.1]][lnk_5.13.1] | +| [![imgVerInfo][ver_img_5.13.0]][lnk_5.13.0] | [![imgSizeInfo][size_img_5.13.0]][lnk_5.13.0] | +| [![imgVerInfo][ver_img_5.12]][lnk_5.12] [![imgVerInfo][ver_img_5.12.6]][lnk_5.12.6] | [![imgSizeInfo][size_img_5.12.6]][lnk_5.12.6] | +| [![imgVerInfo][ver_img_5.12.5]][lnk_5.12.5] | [![imgSizeInfo][size_img_5.12.5]][lnk_5.12.5] | +| [![imgVerInfo][ver_img_5.12.4]][lnk_5.12.4] | [![imgSizeInfo][size_img_5.12.4]][lnk_5.12.4] | +| [![imgVerInfo][ver_img_5.12.3]][lnk_5.12.3] | [![imgSizeInfo][size_img_5.12.3]][lnk_5.12.3] | | [![imgVerInfo][ver_img_5.12.2]][lnk_5.12.2] | [![imgSizeInfo][size_img_5.12.2]][lnk_5.12.2] | | [![imgVerInfo][ver_img_5.12.1]][lnk_5.12.1] | [![imgSizeInfo][size_img_5.12.1]][lnk_5.12.1] | | [![imgVerInfo][ver_img_5.12.0]][lnk_5.12.0] | [![imgSizeInfo][size_img_5.12.0]][lnk_5.12.0] | @@ -74,7 +86,8 @@ All currently supported versions of `Qt` should be available as tags. It was nic | [![imgVerInfo][ver_img_5.11.0]][lnk_5.11.0] | [![imgSizeInfo][size_img_5.11.0]][lnk_5.11.0] | | [![imgVerInfo][ver_img_5.10]][lnk_5.10] [![imgVerInfo][ver_img_5.10.1]][lnk_5.10.1] | [![imgSizeInfo][size_img_5.10.1]][lnk_5.10.1] | | [![imgVerInfo][ver_img_5.10.0]][lnk_5.10.0] | [![imgSizeInfo][size_img_5.10.0]][lnk_5.10.0] | -| [![imgVerInfo][ver_img_5.9]][lnk_5.9] [![imgVerInfo][ver_img_5.9.8]][lnk_5.9.8] | [![imgSizeInfo][size_img_5.9.8]][lnk_5.9.8] | +| [![imgVerInfo][ver_img_5.9]][lnk_5.9] [![imgVerInfo][ver_img_5.9.9]][lnk_5.9.9] | [![imgSizeInfo][size_img_5.9.9]][lnk_5.9.9] | +| [![imgVerInfo][ver_img_5.9.8]][lnk_5.9.8] | [![imgSizeInfo][size_img_5.9.8]][lnk_5.9.8] | | [![imgVerInfo][ver_img_5.9.7]][lnk_5.9.7] | [![imgSizeInfo][size_img_5.9.7]][lnk_5.9.7] | | [![imgVerInfo][ver_img_5.9.6]][lnk_5.9.6] | [![imgSizeInfo][size_img_5.9.6]][lnk_5.9.6] | | [![imgVerInfo][ver_img_5.9.5]][lnk_5.9.5] | [![imgSizeInfo][size_img_5.9.5]][lnk_5.9.5] | @@ -92,10 +105,46 @@ All currently supported versions of `Qt` should be available as tags. It was nic [size_img_latest]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:latest.svg [lnk_latest]: https://microbadger.com/images/darkmattercoder/qt-build:latest +[ver_img_5.14]: https://images.microbadger.com/badges/version/darkmattercoder/qt-build:5.14.svg +[size_img_5.14]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:5.14.svg +[lnk_5.14]: https://microbadger.com/images/darkmattercoder/qt-build:5.14 + +[ver_img_5.14.0]: https://images.microbadger.com/badges/version/darkmattercoder/qt-build:5.14.0.svg +[size_img_5.14.0]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:5.14.0.svg +[lnk_5.14.0]: https://microbadger.com/images/darkmattercoder/qt-build:5.14.0 + +[ver_img_5.13]: https://images.microbadger.com/badges/version/darkmattercoder/qt-build:5.13.svg +[size_img_5.13]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:5.13.svg +[lnk_5.13]: https://microbadger.com/images/darkmattercoder/qt-build:5.13 + +[ver_img_5.13.2]: https://images.microbadger.com/badges/version/darkmattercoder/qt-build:5.13.2.svg +[size_img_5.13.2]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:5.13.2.svg +[lnk_5.13.2]: https://microbadger.com/images/darkmattercoder/qt-build:5.13.2 + +[ver_img_5.13.1]: https://images.microbadger.com/badges/version/darkmattercoder/qt-build:5.13.1.svg +[size_img_5.13.1]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:5.13.1.svg +[lnk_5.13.1]: https://microbadger.com/images/darkmattercoder/qt-build:5.13.1 + +[ver_img_5.13.0]: https://images.microbadger.com/badges/version/darkmattercoder/qt-build:5.13.0.svg +[size_img_5.13.0]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:5.13.0.svg +[lnk_5.13.0]: https://microbadger.com/images/darkmattercoder/qt-build:5.13.0 + [ver_img_5.12]: https://images.microbadger.com/badges/version/darkmattercoder/qt-build:5.12.svg [size_img_5.12]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:5.12.svg [lnk_5.12]: https://microbadger.com/images/darkmattercoder/qt-build:5.12 +[ver_img_5.12.6]: https://images.microbadger.com/badges/version/darkmattercoder/qt-build:5.12.6.svg +[size_img_5.12.6]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:5.12.6.svg +[lnk_5.12.6]: https://microbadger.com/images/darkmattercoder/qt-build:5.12.6 + +[ver_img_5.12.5]: https://images.microbadger.com/badges/version/darkmattercoder/qt-build:5.12.5.svg +[size_img_5.12.5]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:5.12.5.svg +[lnk_5.12.5]: https://microbadger.com/images/darkmattercoder/qt-build:5.12.5 + +[ver_img_5.12.4]: https://images.microbadger.com/badges/version/darkmattercoder/qt-build:5.12.4.svg +[size_img_5.12.4]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:5.12.4.svg +[lnk_5.12.4]: https://microbadger.com/images/darkmattercoder/qt-build:5.12.4 + [ver_img_5.12.3]: https://images.microbadger.com/badges/version/darkmattercoder/qt-build:5.12.3.svg [size_img_5.12.3]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:5.12.3.svg [lnk_5.12.3]: https://microbadger.com/images/darkmattercoder/qt-build:5.12.3 @@ -148,6 +197,10 @@ All currently supported versions of `Qt` should be available as tags. It was nic [size_img_5.9]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:5.9.svg [lnk_5.9]: https://microbadger.com/images/darkmattercoder/qt-build:5.9 +[ver_img_5.9.9]: https://images.microbadger.com/badges/version/darkmattercoder/qt-build:5.9.9.svg +[size_img_5.9.9]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:5.9.9.svg +[lnk_5.9.9]: https://microbadger.com/images/darkmattercoder/qt-build:5.9.9 + [ver_img_5.9.8]: https://images.microbadger.com/badges/version/darkmattercoder/qt-build:5.9.8.svg [size_img_5.9.8]: https://images.microbadger.com/badges/image/darkmattercoder/qt-build:5.9.8.svg [lnk_5.9.8]: https://microbadger.com/images/darkmattercoder/qt-build:5.9.8 diff --git a/build-dockerfile-local.sh b/build-dockerfile-local.sh new file mode 100755 index 0000000..53d5a9f --- /dev/null +++ b/build-dockerfile-local.sh @@ -0,0 +1,18 @@ +#!/bin/bash +# Call this script like so: +#./build-dockerfile-local.sh 5 6 0 official_releases everywhere-opensource 2 8 +set -e +QT_VERSION_MAJOR=$1 +QT_VERSION_MINOR=$2 +QT_VERSION_PATCH=$3 +QT_DOWNLOAD_BRANCH=$4 +QT_TARBALL_NAMING_SCHEME=$5 +CI_BUILD=$6 +CORE_COUNT=$7 +PROXY=$8 +# base +docker build --pull --cache-from darkmattercoder/qt-build:base-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH --build-arg QT_VERSION_MAJOR=$QT_VERSION_MAJOR --build-arg QT_VERSION_MINOR=$QT_VERSION_MINOR --build-arg QT_VERSION_PATCH=$QT_VERSION_PATCH --build-arg QT_DOWNLOAD_BRANCH=$QT_DOWNLOAD_BRANCH --build-arg QT_TARBALL_NAMING_SCHEME=$QT_TARBALL_NAMING_SCHEME --build-arg CI_BUILD=$CI_BUILD --build-arg CORE_COUNT=$CORE_COUNT --build-arg PROXY=$PROXY --target=base -t darkmattercoder/qt-build:base-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH . +# builder +docker build --pull --cache-from darkmattercoder/qt-build:builder-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH --build-arg QT_VERSION_MAJOR=$QT_VERSION_MAJOR --build-arg QT_VERSION_MINOR=$QT_VERSION_MINOR --build-arg QT_VERSION_PATCH=$QT_VERSION_PATCH --build-arg QT_DOWNLOAD_BRANCH=$QT_DOWNLOAD_BRANCH --build-arg QT_TARBALL_NAMING_SCHEME=$QT_TARBALL_NAMING_SCHEME --build-arg CI_BUILD=$CI_BUILD --build-arg CORE_COUNT=$CORE_COUNT --build-arg PROXY=$PROXY --target=builder -t darkmattercoder/qt-build:builder-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH . +# qt +docker build --pull --cache-from darkmattercoder/qt-build:builder-$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH --build-arg QT_VERSION_MAJOR=$QT_VERSION_MAJOR --build-arg QT_VERSION_MINOR=$QT_VERSION_MINOR --build-arg QT_VERSION_PATCH=$QT_VERSION_PATCH --build-arg QT_DOWNLOAD_BRANCH=$QT_DOWNLOAD_BRANCH --build-arg QT_TARBALL_NAMING_SCHEME=$QT_TARBALL_NAMING_SCHEME --build-arg CI_BUILD=$CI_BUILD --build-arg CORE_COUNT=$CORE_COUNT --target=qt -t darkmattercoder/qt-build:$QT_VERSION_MAJOR.$QT_VERSION_MINOR.$QT_VERSION_PATCH . \ No newline at end of file diff --git a/buildconfig/build.sh b/buildconfig/build.sh new file mode 100755 index 0000000..fe7040c --- /dev/null +++ b/buildconfig/build.sh @@ -0,0 +1,22 @@ +#!/bin/bash +set -x +CI_BUILD=$1 +CORE_COUNT=$2 +TAIL_LINECOUNT=500 +if [ "$CI_BUILD" = 2 ]; then + echo "Suppressing all make output for CI environments to decrease log size..." + make -j${CORE_COUNT} > /dev/null 2>&1 + RESULT=$? + if [ $RESULT -ne 0 ]; then + echo "Running make again to see errors with less output..." + make > /tmp/makelog 2>&1 + echo "displaying last $TAIL_LINECOUNT lines..." + tail -n $TAIL_LINECOUNT /tmp/makelog + exit $RESULT + fi +elif [ "$CI_BUILD" ]; then + echo "Suppressing regular make output for CI environments to decrease log size..." + make -j${CORE_COUNT} > /dev/null +else + make -j${CORE_COUNT} +fi diff --git a/buildconfig/configure-5.10.0.sh b/buildconfig/configure-5.10.0.sh index 12061d5..fba221a 100644 --- a/buildconfig/configure-5.10.0.sh +++ b/buildconfig/configure-5.10.0.sh @@ -1,2 +1,3 @@ #!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file diff --git a/buildconfig/configure-5.10.1.sh b/buildconfig/configure-5.10.1.sh index 12061d5..fba221a 100644 --- a/buildconfig/configure-5.10.1.sh +++ b/buildconfig/configure-5.10.1.sh @@ -1,2 +1,3 @@ #!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file diff --git a/buildconfig/configure-5.11.0.sh b/buildconfig/configure-5.11.0.sh index 12061d5..fba221a 100644 --- a/buildconfig/configure-5.11.0.sh +++ b/buildconfig/configure-5.11.0.sh @@ -1,2 +1,3 @@ #!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file diff --git a/buildconfig/configure-5.11.1.sh b/buildconfig/configure-5.11.1.sh index 12061d5..fba221a 100644 --- a/buildconfig/configure-5.11.1.sh +++ b/buildconfig/configure-5.11.1.sh @@ -1,2 +1,3 @@ #!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file diff --git a/buildconfig/configure-5.11.2.sh b/buildconfig/configure-5.11.2.sh index 12061d5..fba221a 100644 --- a/buildconfig/configure-5.11.2.sh +++ b/buildconfig/configure-5.11.2.sh @@ -1,2 +1,3 @@ #!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file diff --git a/buildconfig/configure-5.11.3.sh b/buildconfig/configure-5.11.3.sh index 12061d5..fba221a 100644 --- a/buildconfig/configure-5.11.3.sh +++ b/buildconfig/configure-5.11.3.sh @@ -1,2 +1,3 @@ #!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file diff --git a/buildconfig/configure-5.12.0.sh b/buildconfig/configure-5.12.0.sh index 12061d5..fba221a 100644 --- a/buildconfig/configure-5.12.0.sh +++ b/buildconfig/configure-5.12.0.sh @@ -1,2 +1,3 @@ #!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file diff --git a/buildconfig/configure-5.12.1.sh b/buildconfig/configure-5.12.1.sh index f330655..8708c02 100644 --- a/buildconfig/configure-5.12.1.sh +++ b/buildconfig/configure-5.12.1.sh @@ -1,2 +1,3 @@ #!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests \ No newline at end of file diff --git a/buildconfig/configure-5.12.2.sh b/buildconfig/configure-5.12.2.sh index f330655..8708c02 100644 --- a/buildconfig/configure-5.12.2.sh +++ b/buildconfig/configure-5.12.2.sh @@ -1,2 +1,3 @@ #!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests \ No newline at end of file diff --git a/buildconfig/configure-5.12.3.sh b/buildconfig/configure-5.12.3.sh index f330655..8708c02 100644 --- a/buildconfig/configure-5.12.3.sh +++ b/buildconfig/configure-5.12.3.sh @@ -1,2 +1,3 @@ #!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests \ No newline at end of file diff --git a/buildconfig/configure-5.12.4.sh b/buildconfig/configure-5.12.4.sh new file mode 100644 index 0000000..8708c02 --- /dev/null +++ b/buildconfig/configure-5.12.4.sh @@ -0,0 +1,3 @@ +#!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests \ No newline at end of file diff --git a/buildconfig/configure-5.12.5.sh b/buildconfig/configure-5.12.5.sh new file mode 100644 index 0000000..8708c02 --- /dev/null +++ b/buildconfig/configure-5.12.5.sh @@ -0,0 +1,3 @@ +#!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests \ No newline at end of file diff --git a/buildconfig/configure-5.12.6.sh b/buildconfig/configure-5.12.6.sh new file mode 100644 index 0000000..8708c02 --- /dev/null +++ b/buildconfig/configure-5.12.6.sh @@ -0,0 +1,3 @@ +#!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests \ No newline at end of file diff --git a/buildconfig/configure-5.13.0.sh b/buildconfig/configure-5.13.0.sh new file mode 100644 index 0000000..8708c02 --- /dev/null +++ b/buildconfig/configure-5.13.0.sh @@ -0,0 +1,3 @@ +#!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests \ No newline at end of file diff --git a/buildconfig/configure-5.13.1.sh b/buildconfig/configure-5.13.1.sh new file mode 100644 index 0000000..8708c02 --- /dev/null +++ b/buildconfig/configure-5.13.1.sh @@ -0,0 +1,3 @@ +#!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests \ No newline at end of file diff --git a/buildconfig/configure-5.13.2.sh b/buildconfig/configure-5.13.2.sh new file mode 100644 index 0000000..8708c02 --- /dev/null +++ b/buildconfig/configure-5.13.2.sh @@ -0,0 +1,3 @@ +#!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests \ No newline at end of file diff --git a/buildconfig/configure-5.14.0.sh b/buildconfig/configure-5.14.0.sh new file mode 100644 index 0000000..8708c02 --- /dev/null +++ b/buildconfig/configure-5.14.0.sh @@ -0,0 +1,3 @@ +#!/bin/sh +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests \ No newline at end of file diff --git a/buildconfig/configure-5.6.0.sh b/buildconfig/configure-5.6.0.sh index 12061d5..b285caf 100644 --- a/buildconfig/configure-5.6.0.sh +++ b/buildconfig/configure-5.6.0.sh @@ -1,2 +1,19 @@ #!/bin/sh -../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file +set -e +set -x +CORE_COUNT=$1 +# adding compatible ssl version +git clone https://github.com/openssl/openssl.git +cd openssl +git checkout OpenSSL_1_0_2-stable +LATEST_TAG=$(git describe --match "OpenSSL_1_0_2[a-z]*" --abbrev=0) +git checkout $LATEST_TAG +./config --prefix=/opt/openssl_build_stable -shared > /dev/null 2>&1 || ./config --prefix=/opt/openssl_build_stable -shared +make -j$CORE_COUNT > /dev/null 2>&1 || make -j$CORE_COUNT +make test > /dev/null 2>&1 || make test +make install > /dev/null 2>&1 || make install +cd .. +OPENSSL_LIBS='-L/opt/openssl_build_stable/lib -lssl -lcrypto' ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb -openssl-linked -I /opt/openssl_build_stable/include -L /opt/openssl_build_stable/lib +mkdir -p /opt/extra-dependencies/lib +cp -r /opt/openssl_build_stable /opt/extra-dependencies +ln -s /opt/extra-dependencies/openssl_build_stable/lib/* /opt/extra-dependencies/lib \ No newline at end of file diff --git a/buildconfig/configure-5.6.1-1.sh b/buildconfig/configure-5.6.1-1.sh index 691bc96..4b8cf92 100644 --- a/buildconfig/configure-5.6.1-1.sh +++ b/buildconfig/configure-5.6.1-1.sh @@ -1,4 +1,21 @@ #!/bin/sh # this config is so weird looking because there was a bug in the original 5.6.1 that has been hotfixed. # To get the ci scheme work with this, I have to tweak it that way... -../../qt-everywhere-opensource-src-5.6.1/configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file +set -e +set -x +CORE_COUNT=$1 +# adding compatible ssl version +git clone https://github.com/openssl/openssl.git +cd openssl +git checkout OpenSSL_1_0_2-stable +LATEST_TAG=$(git describe --match "OpenSSL_1_0_2[a-z]*" --abbrev=0) +git checkout $LATEST_TAG +./config --prefix=/opt/openssl_build_stable -shared > /dev/null 2>&1 || ./config --prefix=/opt/openssl_build_stable -shared +make -j$CORE_COUNT > /dev/null 2>&1 || make -j$CORE_COUNT +make test > /dev/null 2>&1 || make test +make install > /dev/null 2>&1 || make install +cd .. +OPENSSL_LIBS='-L/opt/openssl_build_stable/lib -lssl -lcrypto' ../../qt-everywhere-opensource-src-5.6.1/configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb -openssl-linked -I /opt/openssl_build_stable/include -L /opt/openssl_build_stable/lib +mkdir -p /opt/extra-dependencies/lib +cp -r /opt/openssl_build_stable /opt/extra-dependencies +ln -s /opt/extra-dependencies/openssl_build_stable/lib/* /opt/extra-dependencies/lib \ No newline at end of file diff --git a/buildconfig/configure-5.6.2.sh b/buildconfig/configure-5.6.2.sh index 12061d5..b285caf 100644 --- a/buildconfig/configure-5.6.2.sh +++ b/buildconfig/configure-5.6.2.sh @@ -1,2 +1,19 @@ #!/bin/sh -../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file +set -e +set -x +CORE_COUNT=$1 +# adding compatible ssl version +git clone https://github.com/openssl/openssl.git +cd openssl +git checkout OpenSSL_1_0_2-stable +LATEST_TAG=$(git describe --match "OpenSSL_1_0_2[a-z]*" --abbrev=0) +git checkout $LATEST_TAG +./config --prefix=/opt/openssl_build_stable -shared > /dev/null 2>&1 || ./config --prefix=/opt/openssl_build_stable -shared +make -j$CORE_COUNT > /dev/null 2>&1 || make -j$CORE_COUNT +make test > /dev/null 2>&1 || make test +make install > /dev/null 2>&1 || make install +cd .. +OPENSSL_LIBS='-L/opt/openssl_build_stable/lib -lssl -lcrypto' ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb -openssl-linked -I /opt/openssl_build_stable/include -L /opt/openssl_build_stable/lib +mkdir -p /opt/extra-dependencies/lib +cp -r /opt/openssl_build_stable /opt/extra-dependencies +ln -s /opt/extra-dependencies/openssl_build_stable/lib/* /opt/extra-dependencies/lib \ No newline at end of file diff --git a/buildconfig/configure-5.6.3.sh b/buildconfig/configure-5.6.3.sh index 12061d5..b285caf 100644 --- a/buildconfig/configure-5.6.3.sh +++ b/buildconfig/configure-5.6.3.sh @@ -1,2 +1,19 @@ #!/bin/sh -../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file +set -e +set -x +CORE_COUNT=$1 +# adding compatible ssl version +git clone https://github.com/openssl/openssl.git +cd openssl +git checkout OpenSSL_1_0_2-stable +LATEST_TAG=$(git describe --match "OpenSSL_1_0_2[a-z]*" --abbrev=0) +git checkout $LATEST_TAG +./config --prefix=/opt/openssl_build_stable -shared > /dev/null 2>&1 || ./config --prefix=/opt/openssl_build_stable -shared +make -j$CORE_COUNT > /dev/null 2>&1 || make -j$CORE_COUNT +make test > /dev/null 2>&1 || make test +make install > /dev/null 2>&1 || make install +cd .. +OPENSSL_LIBS='-L/opt/openssl_build_stable/lib -lssl -lcrypto' ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb -openssl-linked -I /opt/openssl_build_stable/include -L /opt/openssl_build_stable/lib +mkdir -p /opt/extra-dependencies/lib +cp -r /opt/openssl_build_stable /opt/extra-dependencies +ln -s /opt/extra-dependencies/openssl_build_stable/lib/* /opt/extra-dependencies/lib \ No newline at end of file diff --git a/buildconfig/configure-5.9.0.sh b/buildconfig/configure-5.9.0.sh index 12061d5..b285caf 100644 --- a/buildconfig/configure-5.9.0.sh +++ b/buildconfig/configure-5.9.0.sh @@ -1,2 +1,19 @@ #!/bin/sh -../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file +set -e +set -x +CORE_COUNT=$1 +# adding compatible ssl version +git clone https://github.com/openssl/openssl.git +cd openssl +git checkout OpenSSL_1_0_2-stable +LATEST_TAG=$(git describe --match "OpenSSL_1_0_2[a-z]*" --abbrev=0) +git checkout $LATEST_TAG +./config --prefix=/opt/openssl_build_stable -shared > /dev/null 2>&1 || ./config --prefix=/opt/openssl_build_stable -shared +make -j$CORE_COUNT > /dev/null 2>&1 || make -j$CORE_COUNT +make test > /dev/null 2>&1 || make test +make install > /dev/null 2>&1 || make install +cd .. +OPENSSL_LIBS='-L/opt/openssl_build_stable/lib -lssl -lcrypto' ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb -openssl-linked -I /opt/openssl_build_stable/include -L /opt/openssl_build_stable/lib +mkdir -p /opt/extra-dependencies/lib +cp -r /opt/openssl_build_stable /opt/extra-dependencies +ln -s /opt/extra-dependencies/openssl_build_stable/lib/* /opt/extra-dependencies/lib \ No newline at end of file diff --git a/buildconfig/configure-5.9.1.sh b/buildconfig/configure-5.9.1.sh index 12061d5..cfe77d4 100644 --- a/buildconfig/configure-5.9.1.sh +++ b/buildconfig/configure-5.9.1.sh @@ -1,2 +1,20 @@ #!/bin/sh -../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file +set -e +set -x +CORE_COUNT=$1 +# adding compatible ssl version +git clone https://github.com/openssl/openssl.git +cd openssl +git checkout OpenSSL_1_0_2-stable +LATEST_TAG=$(git describe --match "OpenSSL_1_0_2[a-z]*" --abbrev=0) +git checkout $LATEST_TAG +./config --prefix=/opt/openssl_build_stable -shared > /dev/null 2>&1 || ./config --prefix=/opt/openssl_build_stable -shared +make -j$CORE_COUNT > /dev/null 2>&1 || make -j$CORE_COUNT +make test > /dev/null 2>&1 || make test +make install > /dev/null 2>&1 || make install +cd .. +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +OPENSSL_LIBS='-L/opt/openssl_build_stable/lib -lssl -lcrypto' ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb -openssl-linked -I /opt/openssl_build_stable/include -L /opt/openssl_build_stable/lib +mkdir -p /opt/extra-dependencies/lib +cp -r /opt/openssl_build_stable /opt/extra-dependencies +ln -s /opt/extra-dependencies/openssl_build_stable/lib/* /opt/extra-dependencies/lib \ No newline at end of file diff --git a/buildconfig/configure-5.9.2.sh b/buildconfig/configure-5.9.2.sh index 12061d5..cfe77d4 100644 --- a/buildconfig/configure-5.9.2.sh +++ b/buildconfig/configure-5.9.2.sh @@ -1,2 +1,20 @@ #!/bin/sh -../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file +set -e +set -x +CORE_COUNT=$1 +# adding compatible ssl version +git clone https://github.com/openssl/openssl.git +cd openssl +git checkout OpenSSL_1_0_2-stable +LATEST_TAG=$(git describe --match "OpenSSL_1_0_2[a-z]*" --abbrev=0) +git checkout $LATEST_TAG +./config --prefix=/opt/openssl_build_stable -shared > /dev/null 2>&1 || ./config --prefix=/opt/openssl_build_stable -shared +make -j$CORE_COUNT > /dev/null 2>&1 || make -j$CORE_COUNT +make test > /dev/null 2>&1 || make test +make install > /dev/null 2>&1 || make install +cd .. +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +OPENSSL_LIBS='-L/opt/openssl_build_stable/lib -lssl -lcrypto' ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb -openssl-linked -I /opt/openssl_build_stable/include -L /opt/openssl_build_stable/lib +mkdir -p /opt/extra-dependencies/lib +cp -r /opt/openssl_build_stable /opt/extra-dependencies +ln -s /opt/extra-dependencies/openssl_build_stable/lib/* /opt/extra-dependencies/lib \ No newline at end of file diff --git a/buildconfig/configure-5.9.3.sh b/buildconfig/configure-5.9.3.sh index 12061d5..cfe77d4 100644 --- a/buildconfig/configure-5.9.3.sh +++ b/buildconfig/configure-5.9.3.sh @@ -1,2 +1,20 @@ #!/bin/sh -../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file +set -e +set -x +CORE_COUNT=$1 +# adding compatible ssl version +git clone https://github.com/openssl/openssl.git +cd openssl +git checkout OpenSSL_1_0_2-stable +LATEST_TAG=$(git describe --match "OpenSSL_1_0_2[a-z]*" --abbrev=0) +git checkout $LATEST_TAG +./config --prefix=/opt/openssl_build_stable -shared > /dev/null 2>&1 || ./config --prefix=/opt/openssl_build_stable -shared +make -j$CORE_COUNT > /dev/null 2>&1 || make -j$CORE_COUNT +make test > /dev/null 2>&1 || make test +make install > /dev/null 2>&1 || make install +cd .. +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +OPENSSL_LIBS='-L/opt/openssl_build_stable/lib -lssl -lcrypto' ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb -openssl-linked -I /opt/openssl_build_stable/include -L /opt/openssl_build_stable/lib +mkdir -p /opt/extra-dependencies/lib +cp -r /opt/openssl_build_stable /opt/extra-dependencies +ln -s /opt/extra-dependencies/openssl_build_stable/lib/* /opt/extra-dependencies/lib \ No newline at end of file diff --git a/buildconfig/configure-5.9.4.sh b/buildconfig/configure-5.9.4.sh index 12061d5..cfe77d4 100644 --- a/buildconfig/configure-5.9.4.sh +++ b/buildconfig/configure-5.9.4.sh @@ -1,2 +1,20 @@ #!/bin/sh -../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file +set -e +set -x +CORE_COUNT=$1 +# adding compatible ssl version +git clone https://github.com/openssl/openssl.git +cd openssl +git checkout OpenSSL_1_0_2-stable +LATEST_TAG=$(git describe --match "OpenSSL_1_0_2[a-z]*" --abbrev=0) +git checkout $LATEST_TAG +./config --prefix=/opt/openssl_build_stable -shared > /dev/null 2>&1 || ./config --prefix=/opt/openssl_build_stable -shared +make -j$CORE_COUNT > /dev/null 2>&1 || make -j$CORE_COUNT +make test > /dev/null 2>&1 || make test +make install > /dev/null 2>&1 || make install +cd .. +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +OPENSSL_LIBS='-L/opt/openssl_build_stable/lib -lssl -lcrypto' ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb -openssl-linked -I /opt/openssl_build_stable/include -L /opt/openssl_build_stable/lib +mkdir -p /opt/extra-dependencies/lib +cp -r /opt/openssl_build_stable /opt/extra-dependencies +ln -s /opt/extra-dependencies/openssl_build_stable/lib/* /opt/extra-dependencies/lib \ No newline at end of file diff --git a/buildconfig/configure-5.9.5.sh b/buildconfig/configure-5.9.5.sh index 12061d5..cfe77d4 100644 --- a/buildconfig/configure-5.9.5.sh +++ b/buildconfig/configure-5.9.5.sh @@ -1,2 +1,20 @@ #!/bin/sh -../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file +set -e +set -x +CORE_COUNT=$1 +# adding compatible ssl version +git clone https://github.com/openssl/openssl.git +cd openssl +git checkout OpenSSL_1_0_2-stable +LATEST_TAG=$(git describe --match "OpenSSL_1_0_2[a-z]*" --abbrev=0) +git checkout $LATEST_TAG +./config --prefix=/opt/openssl_build_stable -shared > /dev/null 2>&1 || ./config --prefix=/opt/openssl_build_stable -shared +make -j$CORE_COUNT > /dev/null 2>&1 || make -j$CORE_COUNT +make test > /dev/null 2>&1 || make test +make install > /dev/null 2>&1 || make install +cd .. +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +OPENSSL_LIBS='-L/opt/openssl_build_stable/lib -lssl -lcrypto' ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb -openssl-linked -I /opt/openssl_build_stable/include -L /opt/openssl_build_stable/lib +mkdir -p /opt/extra-dependencies/lib +cp -r /opt/openssl_build_stable /opt/extra-dependencies +ln -s /opt/extra-dependencies/openssl_build_stable/lib/* /opt/extra-dependencies/lib \ No newline at end of file diff --git a/buildconfig/configure-5.9.6.sh b/buildconfig/configure-5.9.6.sh index 12061d5..cfe77d4 100644 --- a/buildconfig/configure-5.9.6.sh +++ b/buildconfig/configure-5.9.6.sh @@ -1,2 +1,20 @@ #!/bin/sh -../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file +set -e +set -x +CORE_COUNT=$1 +# adding compatible ssl version +git clone https://github.com/openssl/openssl.git +cd openssl +git checkout OpenSSL_1_0_2-stable +LATEST_TAG=$(git describe --match "OpenSSL_1_0_2[a-z]*" --abbrev=0) +git checkout $LATEST_TAG +./config --prefix=/opt/openssl_build_stable -shared > /dev/null 2>&1 || ./config --prefix=/opt/openssl_build_stable -shared +make -j$CORE_COUNT > /dev/null 2>&1 || make -j$CORE_COUNT +make test > /dev/null 2>&1 || make test +make install > /dev/null 2>&1 || make install +cd .. +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +OPENSSL_LIBS='-L/opt/openssl_build_stable/lib -lssl -lcrypto' ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb -openssl-linked -I /opt/openssl_build_stable/include -L /opt/openssl_build_stable/lib +mkdir -p /opt/extra-dependencies/lib +cp -r /opt/openssl_build_stable /opt/extra-dependencies +ln -s /opt/extra-dependencies/openssl_build_stable/lib/* /opt/extra-dependencies/lib \ No newline at end of file diff --git a/buildconfig/configure-5.9.7.sh b/buildconfig/configure-5.9.7.sh index 12061d5..cfe77d4 100644 --- a/buildconfig/configure-5.9.7.sh +++ b/buildconfig/configure-5.9.7.sh @@ -1,2 +1,20 @@ #!/bin/sh -../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file +set -e +set -x +CORE_COUNT=$1 +# adding compatible ssl version +git clone https://github.com/openssl/openssl.git +cd openssl +git checkout OpenSSL_1_0_2-stable +LATEST_TAG=$(git describe --match "OpenSSL_1_0_2[a-z]*" --abbrev=0) +git checkout $LATEST_TAG +./config --prefix=/opt/openssl_build_stable -shared > /dev/null 2>&1 || ./config --prefix=/opt/openssl_build_stable -shared +make -j$CORE_COUNT > /dev/null 2>&1 || make -j$CORE_COUNT +make test > /dev/null 2>&1 || make test +make install > /dev/null 2>&1 || make install +cd .. +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +OPENSSL_LIBS='-L/opt/openssl_build_stable/lib -lssl -lcrypto' ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb -openssl-linked -I /opt/openssl_build_stable/include -L /opt/openssl_build_stable/lib +mkdir -p /opt/extra-dependencies/lib +cp -r /opt/openssl_build_stable /opt/extra-dependencies +ln -s /opt/extra-dependencies/openssl_build_stable/lib/* /opt/extra-dependencies/lib \ No newline at end of file diff --git a/buildconfig/configure-5.9.8.sh b/buildconfig/configure-5.9.8.sh index 12061d5..cfe77d4 100644 --- a/buildconfig/configure-5.9.8.sh +++ b/buildconfig/configure-5.9.8.sh @@ -1,2 +1,20 @@ #!/bin/sh -../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb \ No newline at end of file +set -e +set -x +CORE_COUNT=$1 +# adding compatible ssl version +git clone https://github.com/openssl/openssl.git +cd openssl +git checkout OpenSSL_1_0_2-stable +LATEST_TAG=$(git describe --match "OpenSSL_1_0_2[a-z]*" --abbrev=0) +git checkout $LATEST_TAG +./config --prefix=/opt/openssl_build_stable -shared > /dev/null 2>&1 || ./config --prefix=/opt/openssl_build_stable -shared +make -j$CORE_COUNT > /dev/null 2>&1 || make -j$CORE_COUNT +make test > /dev/null 2>&1 || make test +make install > /dev/null 2>&1 || make install +cd .. +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +OPENSSL_LIBS='-L/opt/openssl_build_stable/lib -lssl -lcrypto' ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb -openssl-linked -I /opt/openssl_build_stable/include -L /opt/openssl_build_stable/lib +mkdir -p /opt/extra-dependencies/lib +cp -r /opt/openssl_build_stable /opt/extra-dependencies +ln -s /opt/extra-dependencies/openssl_build_stable/lib/* /opt/extra-dependencies/lib \ No newline at end of file diff --git a/buildconfig/configure-5.9.9.sh b/buildconfig/configure-5.9.9.sh new file mode 100644 index 0000000..cfe77d4 --- /dev/null +++ b/buildconfig/configure-5.9.9.sh @@ -0,0 +1,20 @@ +#!/bin/sh +set -e +set -x +CORE_COUNT=$1 +# adding compatible ssl version +git clone https://github.com/openssl/openssl.git +cd openssl +git checkout OpenSSL_1_0_2-stable +LATEST_TAG=$(git describe --match "OpenSSL_1_0_2[a-z]*" --abbrev=0) +git checkout $LATEST_TAG +./config --prefix=/opt/openssl_build_stable -shared > /dev/null 2>&1 || ./config --prefix=/opt/openssl_build_stable -shared +make -j$CORE_COUNT > /dev/null 2>&1 || make -j$CORE_COUNT +make test > /dev/null 2>&1 || make test +make install > /dev/null 2>&1 || make install +cd .. +sed -i -e 's/"-lgds"/"-lfbclient"/' ../qtbase/src/plugins/sqldrivers/configure.json +OPENSSL_LIBS='-L/opt/openssl_build_stable/lib -lssl -lcrypto' ../configure -prefix $QT_PREFIX -opensource -confirm-license -nomake examples -nomake tests -qt-xcb -openssl-linked -I /opt/openssl_build_stable/include -L /opt/openssl_build_stable/lib +mkdir -p /opt/extra-dependencies/lib +cp -r /opt/openssl_build_stable /opt/extra-dependencies +ln -s /opt/extra-dependencies/openssl_build_stable/lib/* /opt/extra-dependencies/lib \ No newline at end of file diff --git a/ci/tags.yml b/ci/tags.yml index 6c99911..7361262 100644 --- a/ci/tags.yml +++ b/ci/tags.yml @@ -12,7 +12,7 @@ 5.9.4: 5.9.5: 5.9.6: -5.9.7: +5.9.7: 5.9.8: - "5.9" 5.10.0: @@ -27,5 +27,10 @@ 5.12.1: 5.12.2: 5.12.3: +5.12.4: +5.12.5: - "5.12" +5.13.0: +5.13.1: + - "5.13" - latest \ No newline at end of file diff --git a/tests/generate_tests.py b/tests/generate_tests.py index da2af1f..c234eeb 100755 --- a/tests/generate_tests.py +++ b/tests/generate_tests.py @@ -1,13 +1,28 @@ #!/usr/bin/env python3 ''' generates a tests.pro file by crawling the directory and generating a subdirs - entry for each subdirectory ''' + entry for each subdirectory. Additionally it generates a run script for the tests to get executed, + assuming the binary produced is named like the directory''' import os with open(os.path.dirname(os.path.realpath(__file__)) + "/tests.pro", "w") as projectfile: - projectfile.write("TEMPLATE=subdirs\nSUBDIRS= \\\n") - PATH = os.path.dirname(os.path.realpath(__file__)) - for item in os.listdir(PATH): - if os.path.isdir(os.path.join(PATH, item)): - projectfile.write(item + " \\\n") + with open(os.path.dirname(os.path.realpath(__file__)) + "/run-tests.sh", "w") as runscript: + projectfile.write("TEMPLATE=subdirs\nSUBDIRS= \\\n") + runscriptContent = "\ + #!/bin/sh\n\ + set -e\n\ + set -x\n\ + if [ ! -z $1 ]; then\n\ + TEST_ROOT=$1\n\ + else\n\ + TEST_ROOT=.\n\ + fi\n" + runscript.write(runscriptContent) + PATH = os.path.dirname(os.path.realpath(__file__)) + for item in os.listdir(PATH): + if os.path.isdir(os.path.join(PATH, item)): + projectfile.write(item + " \\\n") + runscript.write("timeout 10s $TEST_ROOT/" + + item + "/" + item + "\n") +os.chmod(os.path.dirname(os.path.realpath(__file__)) + "/run-tests.sh", 0o744) diff --git a/tests/qt-hello-world/qt-hello-world.pro b/tests/helloworld/helloworld.pro similarity index 100% rename from tests/qt-hello-world/qt-hello-world.pro rename to tests/helloworld/helloworld.pro diff --git a/tests/helloworld/main.cpp b/tests/helloworld/main.cpp new file mode 100644 index 0000000..6d32f90 --- /dev/null +++ b/tests/helloworld/main.cpp @@ -0,0 +1,8 @@ +#include + +int main() +{ + QString hello("Hello World!"); + qDebug() << hello; + return 0; +} diff --git a/tests/qt-hello-world/main.cpp b/tests/qt-hello-world/main.cpp deleted file mode 100644 index 9af104c..0000000 --- a/tests/qt-hello-world/main.cpp +++ /dev/null @@ -1,6 +0,0 @@ -#include - -int main() -{ - std::cout << "\nHello World!\n"; -} diff --git a/tests/sqldrivers/main.cpp b/tests/sqldrivers/main.cpp new file mode 100644 index 0000000..cc4ab4f --- /dev/null +++ b/tests/sqldrivers/main.cpp @@ -0,0 +1,13 @@ +#include +#include + +int main() +{ + auto drivers = QSqlDatabase::drivers(); + qDebug() << "Available drivers:" << drivers; + + if (!drivers.contains("QMYSQL") || !drivers.contains("QPSQL")) + return 1; + + return 0; +} diff --git a/tests/sqldrivers/sqldrivers.pro b/tests/sqldrivers/sqldrivers.pro new file mode 100644 index 0000000..2f997f6 --- /dev/null +++ b/tests/sqldrivers/sqldrivers.pro @@ -0,0 +1,8 @@ +QT += core +QT -= gui +QT += sql +TARGET = sqldrivers +CONFIG += console +CONFIG -= app_bundle +TEMPLATE = app +SOURCES += main.cpp diff --git a/tests/ssltest/main.cpp b/tests/ssltest/main.cpp new file mode 100644 index 0000000..547803b --- /dev/null +++ b/tests/ssltest/main.cpp @@ -0,0 +1,7 @@ +#include + +int main(int argc, char *argv[]) +{ + QSslConfiguration configuration; + return 0; +} \ No newline at end of file diff --git a/tests/ssltest/ssltest.pro b/tests/ssltest/ssltest.pro new file mode 100644 index 0000000..dde61be --- /dev/null +++ b/tests/ssltest/ssltest.pro @@ -0,0 +1,12 @@ +QT += core network +QT -= gui +TARGET = ssltest +CONFIG += console +CONFIG -= app_bundle +TEMPLATE = app +SOURCES += main.cpp + +lessThan(10, QT_MINOR_VERSION){ +INCLUDEPATH += /opt/openssl_build_stable/include +LIBS += -L/opt/openssl_build_stable/lib -lcrypto -lssl +} \ No newline at end of file