Skip to content

Commit 82d9cfa

Browse files
committed
Merge branch 'hotfix/0.9.2'
2 parents 483d4a3 + b09ef5b commit 82d9cfa

16 files changed

+400
-228
lines changed

.github/workflows/ci-build.yml

Lines changed: 81 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ on:
88
branches:
99
- master
1010
- develop
11+
- 'feature/**'
1112

1213
jobs:
1314
build:
@@ -19,21 +20,25 @@ jobs:
1920
- fedora-31
2021
- fedora-32
2122
- fedora-33
23+
- fedora-34
2224
- debian-stretch
2325
- debian-buster
26+
- debian-bullseye
2427
- ubuntu-18.04
2528
- ubuntu-20.04
2629
- ubuntu-20.10
30+
- ubuntu-21.04
2731
- opensuse-15.0
2832
- opensuse-15.1
2933
- opensuse-15.2
34+
- opensuse-15.3
3035
- centos-8
3136
os:
3237
- ubuntu-latest
3338

3439
runs-on: ${{ matrix.os }}
3540
env:
36-
DOCKER_IMG: docker.pkg.github.com/jahnf/projecteur/projecteur
41+
DOCKER_IMG: ghcr.io/jahnf/projecteur/projecteur
3742
DOCKER_TAG: ${{ matrix.docker_tag }}
3843
MAKEFLAGS: -j2
3944
CLOUDSMITH_USER: jahnf
@@ -55,15 +60,9 @@ jobs:
5560
echo Detected branch: ${BRANCH}
5661
echo "BRANCH=${BRANCH}" >> $GITHUB_ENV
5762
58-
- name: Login to github docker registry
59-
run: echo ${DOCKER_TOKEN} | docker login docker.pkg.github.com -u ${{ secrets.DOCKER_USER }} --password-stdin
60-
env:
61-
DOCKER_TOKEN: ${{ secrets.GITHUB_TOKEN }}
62-
6363
- name: Pull ${{ matrix.docker_tag }} docker image
6464
run: |
6565
docker pull ${DOCKER_IMG}:${{ matrix.docker_tag }}
66-
docker logout docker.pkg.github.com
6766
- name: docker create build container
6867
run: |
6968
docker run --name build --env MAKEFLAGS=${MAKEFLAGS} \
@@ -106,15 +105,27 @@ jobs:
106105
dist_pkg_artifact=`ls -1 dist-pkg/* | head -n 1`
107106
echo "dist_pkg_artifact=${dist_pkg_artifact}" >> $GITHUB_ENV
108107
108+
- if: startsWith(matrix.docker_tag, 'archlinux')
109+
run: echo "${{ env.BRANCH }}" >> version-branch
110+
109111
# ===================================================================================
110112
# ---------- Upload artifacts to github ----------
111113
- name: Upload source-pkg artifact to github
112114
if: startsWith(matrix.docker_tag, 'archlinux')
113-
uses: actions/upload-artifact@v1
115+
uses: actions/upload-artifact@v2
114116
with:
115117
name: source-package
116118
path: ${{ env.src_pkg_artifact }}
117119

120+
- name: Upload version-info to github
121+
if: startsWith(matrix.docker_tag, 'archlinux')
122+
uses: actions/upload-artifact@v2
123+
with:
124+
name: version-info
125+
path: |
126+
./version-string
127+
./version-branch
128+
118129
- name: Upload binary package artifact to github
119130
uses: actions/upload-artifact@v2
120131
with:
@@ -128,25 +139,23 @@ jobs:
128139
echo "upload_bin_pkg=${{ false }}" >> $GITHUB_ENV
129140
echo "upload_src_pkg=${{ false }}" >> $GITHUB_ENV
130141
echo "cloudsmith_upload_repo=projecteur-develop" >> $GITHUB_ENV
131-
echo "bintray_upload_repo=projecteur-develop" >> $GITHUB_ENV
132142
echo "REPO_UPLOAD=${{ false }}" >> $GITHUB_ENV
133143
134144
- name: Check for binary-pkg upload conditions
135-
if: env.BRANCH == 'develop' || env.BRANCH == 'master'
145+
if: ${{ (env.BRANCH == 'develop' || env.BRANCH == 'master') && github.repository == 'jahnf/Projecteur' }}
136146
run: |
137147
echo "upload_bin_pkg=${{ true }}" >> $GITHUB_ENV
138148
pip install --upgrade wheel
139149
pip install --upgrade cloudsmith-cli
140150
141151
- name: Check for source-pkg upload conditions
142-
if: env.upload_bin_pkg == 'true' && startsWith(matrix.docker_tag, 'archlinux')
152+
if: ${{ env.upload_bin_pkg == 'true' && startsWith(matrix.docker_tag, 'archlinux') && github.repository == 'jahnf/Projecteur' }}
143153
run: |
144154
echo "upload_src_pkg=${{ true }}" >> $GITHUB_ENV
145155
146156
- if: env.BRANCH == 'master'
147157
run: |
148158
echo "cloudsmith_upload_repo=projecteur-stable" >> $GITHUB_ENV
149-
echo "bintray_upload_repo=projecteur-master" >> $GITHUB_ENV
150159
151160
# ===================================================================================
152161
# ---------- Upload artifacts to cloudsmith ----------
@@ -161,7 +170,7 @@ jobs:
161170
--summary "${CLOUDSMITH_SUMMARY}" --description "${CLOUDSMITH_DESC}" ${{ env.dist_pkg_artifact }}
162171
163172
- name: Upload raw source-pkg to cloudsmith
164-
if: env.upload_src_pkg == 'true'
173+
if: ${{ env.upload_src_pkg == 'true' && github.repository == 'jahnf/Projecteur' }}
165174
env:
166175
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
167176
CLOUDSMITH_REPO: ${{ env.cloudsmith_upload_repo }}
@@ -177,10 +186,12 @@ jobs:
177186
export PKG_TYPE="${filename##*.}"
178187
declare -A distromap=( ["debian-stretch"]="debian/stretch" ["debian-buster"]="debian/buster" \
179188
["debian-bullseye"]="debian/bullseye" ["ubuntu-18.04"]="ubuntu/bionic" \
180-
["ubuntu-20.04"]="ubuntu/focal" ["opensuse-15.1"]="opensuse/15.1" \
181-
["opensuse-15.2"]="opensuse/15.2" ["centos-8"]="el/8" \
189+
["ubuntu-20.04"]="ubuntu/focal" ["ubuntu-21.04"]="ubuntu/hirsute" \
190+
["opensuse-15.1"]="opensuse/15.1" ["opensuse-15.2"]="opensuse/15.2" \
191+
["opensuse-15.3"]="opensuse/15.3" ["centos-8"]="el/8" \
182192
["fedora-30"]="fedora/30" ["fedora-31"]="fedora/31" \
183-
["fedora-32"]="fedora/32" ["fedora-33"]="fedora/33" )
193+
["fedora-32"]="fedora/32" ["fedora-33"]="fedora/33" \
194+
["fedora-34"]="fedora/34" )
184195
export DISTRO=${distromap[${{ matrix.docker_tag }}]}
185196
echo PKGTYPE=$PKG_TYPE
186197
echo DISTRO=$DISTRO
@@ -200,35 +211,60 @@ jobs:
200211
cloudsmith push ${PKG_TYPE} -W -k ${CLOUDSMITH_API_KEY} --republish \
201212
${CLOUDSMITH_USER}/${CLOUDSMITH_REPO}/${DISTRO} ${{ env.dist_pkg_artifact }}
202213
203-
# ===================================================================================
204-
# ---------- Upload artifacts to bintray ----------
205-
- name: Upload source-pkg to Bintray
206-
if: env.upload_src_pkg == 'true'
207-
uses: bpicode/github-action-upload-bintray@master
214+
# =====================================================================================
215+
# ---------- Upload artifacts to projecteur server ------------
216+
projecteur-bin-upload:
217+
if: ${{ github.repository == 'jahnf/Projecteur' }}
218+
needs: build
219+
runs-on: ubuntu-latest
220+
221+
steps:
222+
- name: Get version-info
223+
uses: actions/download-artifact@v2
208224
with:
209-
file: ${{ env.src_pkg_artifact }}
210-
api_user: jahnf
211-
api_key: ${{ secrets.BINTRAY_API_KEY }}
212-
repository_user: jahnf
213-
repository: Projecteur
214-
package: ${{ env.bintray_upload_repo }}
215-
version: ${{ env.projecteur_version }}
216-
upload_path: packages/branches/${{ env.BRANCH }}/${{ env.projecteur_version }}
217-
calculate_metadata: false
218-
publish: 1
219-
220-
- name: Upload binary package to Bintray
221-
if: env.upload_bin_pkg == 'true'
222-
uses: bpicode/github-action-upload-bintray@master
225+
name: version-info
226+
227+
- name: Extract version info
228+
run: |
229+
BRANCH=`cat version-branch`
230+
echo "BRANCH=${BRANCH}" >> $GITHUB_ENV
231+
VERSION=`cat version-string`
232+
echo "VERSION=${VERSION}" >> $GITHUB_ENV
233+
DO_UPLOAD=$(( [ "master" = "$BRANCH" ] || [ "develop" = "$BRANCH" ] ) && echo true || echo false)
234+
echo "DO_UPLOAD=${DO_UPLOAD}" >> $GITHUB_ENV
235+
236+
- uses: actions/download-artifact@v2
237+
if: env.DO_UPLOAD == 'true'
223238
with:
224-
file: ${{ env.dist_pkg_artifact }}
225-
api_user: jahnf
226-
api_key: ${{ secrets.BINTRAY_API_KEY }}
227-
repository_user: jahnf
228-
repository: Projecteur
229-
package: ${{ env.bintray_upload_repo }}
230-
version: ${{ env.projecteur_version }}
231-
upload_path: packages/branches/${{ env.BRANCH }}/${{ env.projecteur_version }}
232-
calculate_metadata: false
233-
publish: 1
239+
path: artifacts
234240

241+
- name: Create upload directory
242+
if: env.DO_UPLOAD == 'true'
243+
run: |
244+
BRANCHDIR=${{ env.BRANCH }}
245+
[ "master" = "$BRANCHDIR" ] && BRANCHDIR=stable
246+
VERSION=${{ env.VERSION }}
247+
mkdir -p upload/$BRANCHDIR/$VERSION
248+
find ./artifacts -iname "projecteur*" -exec mv -t upload/$BRANCHDIR/$VERSION {} +
249+
BRANCHNAME=${BRANCHDIR/\//_}
250+
BRANCH_FILENAME=${BRANCHNAME}-latest.json
251+
echo '{ "version": "${{ env.VERSION}}" }' >> upload/$BRANCH_FILENAME
252+
echo "BRANCHNAME=${BRANCHNAME}" >> $GITHUB_ENV
253+
find . -iname "projecteur*"
254+
cd upload/$BRANCHDIR/$VERSION
255+
sha1sum * > sha1sums.txt
256+
257+
- name: 📂 Upload files
258+
if: env.DO_UPLOAD == 'true'
259+
run: |
260+
cd upload && sudo apt-get install lftp --no-install-recommends
261+
lftp ${{ secrets.PROJECTEUR_UPLOAD_HOSTNAME }} \
262+
-u "${{ secrets.PROJECTEUR_UPLOAD_USER }},${{ secrets.PROJECTEUR_UPLOAD_TOKEN }}" \
263+
-e "set ftp:ssl-force true; set ssl:verify-certificate true; mirror \
264+
--reverse --upload-older --dereference -x ^\.git/$ ./ ./; quit"
265+
266+
- name: Update latest symlink
267+
if: env.DO_UPLOAD == 'true'
268+
run: |
269+
curl --fail -i -X POST -F "token=${{ secrets.PROJECTEUR_UPDATE_TOKEN }}" \
270+
${{ secrets.PROJECTEUR_UPDATE_URL }}?branch=${{ env.BRANCHNAME }}

.github/workflows/codeql-analysis.yml

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,16 +9,18 @@ on:
99

1010
jobs:
1111
analyse:
12+
if: ${{ github.repository == 'jahnf/Projecteur' }}
1213
name: Analyse
1314
runs-on: ubuntu-20.04
1415

1516
steps:
1617
- name: Install dependencies
17-
run: |
18+
run: |
19+
sudo apt-get update && \
1820
sudo apt-get --no-install-recommends install pkg-config qtdeclarative5-dev \
1921
qttools5-dev-tools qttools5-dev \
2022
qt5-default libqt5x11extras5-dev
21-
23+
2224
- name: Checkout repository
2325
uses: actions/checkout@v2
2426
with:
@@ -41,7 +43,7 @@ jobs:
4143
# Initializes the CodeQL tools for scanning.
4244
- name: Initialize CodeQL
4345
uses: github/codeql-action/init@v1
44-
with:
46+
with:
4547
queries: +security-and-quality
4648

4749
- name: Build project

README.md

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -101,16 +101,24 @@ The latest binary packages for some Linux distributions are available for downlo
101101
Currently binary packages for _Ubuntu_, _Debian_, _Fedora_, _OpenSuse_, _CentOS_ and
102102
_Arch_ Linux are automatically built.
103103

104-
* Latest develop: [ ![Download][bintray-dev-img] ][dl-dev-bintray]
105-
* Latest release: [ ![Download][bintray-rel-img] ][dl-rel-bintray]
104+
* **Latest release:**
105+
* on cloudsmith: [![cloudsmith-rel-badge]][cloudsmith-rel-latest]
106+
* on secondery server: [![projecteur-rel-badge]][projecteur-rel-dl]
107+
* Latest development version:
108+
* on cloudsmith: [![cloudsmith-dev-badge]][cloudsmith-dev-latest]
109+
* on secondary server: [![projecteur-dev-badge]][projecteur-dev-dl]
106110

107111
See also the [list of Linux repositories](./doc/LinuxRepositories.md) where _Projecteur_
108112
is available.
109113

110-
[dl-dev-bintray]: https://bintray.com/jahnf/Projecteur/projecteur-develop/_latestVersion#files
111-
[dl-rel-bintray]: https://bintray.com/jahnf/Projecteur/projecteur-master/_latestVersion#files
112-
[bintray-dev-img]: https://api.bintray.com/packages/jahnf/Projecteur/projecteur-develop/images/download.svg
113-
[bintray-rel-img]: https://api.bintray.com/packages/jahnf/Projecteur/projecteur-master/images/download.svg
114+
[cloudsmith-rel-badge]: https://api-prd.cloudsmith.io/v1/badges/version/jahnf/projecteur-stable/raw/sources/latest/x/?render=true&badge_token=gAAAAABgPebvngKb3w0EsZUr_IHIIzlfYCipDOGxcJdzMRGI3BLdVsLf62Na7Cg6q11ps7yNgv3kR9KXyxJyjFFbPs2eTAGzvL-UXTonyqSY5D1fwva_o_g%3D
115+
[cloudsmith-rel-latest]: https://cloudsmith.io/~jahnf/repos/projecteur-stable/packages/?q=format%3Araw+tag%3Alatest
116+
[cloudsmith-dev-badge]: https://api-prd.cloudsmith.io/v1/badges/version/jahnf/projecteur-develop/raw/sources/latest/x/?render=true&badge_token=gAAAAABgPd_g3txb3xWrIHsaUrhBB7hOamTwfPVpR7xGUELEaQ0pGnxFnXO1cqTPAMDcTjRsHM2zAjx00OXU_5ARSQDofAUe6lIqKrKNykiMhVT_jlZAy-4%3D
117+
[cloudsmith-dev-latest]: https://cloudsmith.io/~jahnf/repos/projecteur-develop/packages/?q=format%3Araw+tag%3Alatest
118+
[projecteur-rel-badge]: https://img.shields.io/badge/dynamic/json?color=blue&label=Projecteur&prefix=v&query=%24.version&url=https%3A%2F%2Fprojecteur.de%2Fdownloads%2Fstable-latest.json
119+
[projecteur-dev-badge]: https://img.shields.io/badge/dynamic/json?color=blue&label=Projecteur&prefix=v&query=%24.version&url=https%3A%2F%2Fprojecteur.de%2Fdownloads%2Fdevelop-latest.json
120+
[projecteur-dev-dl]: https://projecteur.de/downloads/develop/latest
121+
[projecteur-rel-dl]: https://projecteur.de/downloads/stable/latest
114122

115123
## Building
116124

doc/CHANGELOG.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,22 @@
11
# Changelog
22

3+
## v0.9.2
4+
5+
### Fixes:
6+
7+
- Bug fix for high CPU load in certain situations ([#133][i133])
8+
- Bug fix for wrong button mapping for inputs with same length ([#144][i144])
9+
10+
[i133]: https://github.com/jahnf/Projecteur/issues/133
11+
[i144]: https://github.com/jahnf/Projecteur/issues/144
12+
13+
## v0.9.1
14+
15+
### Fixes:
16+
17+
- Fixes for automatically generated RPM Packages (especially Fedora)
18+
- Fixes for version numbers in generated packages (DEB and RPM)
19+
320
## v0.9
421

522
### Changes/Updates:

docker/Dockerfile.debian-bullseye

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Container for building the Projecteur package
2+
# Images available at: https://hub.docker.com/r/jahnf/projecteur/tags
3+
4+
FROM debian:bullseye
5+
6+
RUN apt-get update
7+
RUN DEBIAN_FRONTEND="noninteractive" \
8+
apt-get install -y --no-install-recommends \
9+
ca-certificates \
10+
g++ \
11+
make \
12+
cmake \
13+
udev \
14+
git \
15+
pkg-config \
16+
qtdeclarative5-dev \
17+
qttools5-dev-tools \
18+
libqt5x11extras5-dev \
19+
libusb-1.0-0-dev \
20+
&& rm -rf /var/lib/apt/lists/*

docker/Dockerfile.fedora-34

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Container for building the Projecteur package
2+
# Images available at: https://hub.docker.com/r/jahnf/projecteur/tags
3+
4+
FROM fedora:34
5+
6+
RUN mkdir /build
7+
RUN dnf -y install --setopt=install_weak_deps=False --best \
8+
cmake \
9+
udev \
10+
gcc-c++ \
11+
tar \
12+
make \
13+
git \
14+
qt5-qtdeclarative-devel \
15+
pkg-config \
16+
rpm-build \
17+
qt5-linguist \
18+
qt5-qtx11extras-devel \
19+
libusbx-devel
20+

docker/Dockerfile.opensuse-15.3

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Container for building the Projecteur package
2+
# Images available at: https://hub.docker.com/r/jahnf/projecteur/tags
3+
4+
FROM opensuse/leap:15.3
5+
6+
RUN zypper --non-interactive in --no-recommends \
7+
pkg-config \
8+
udev \
9+
gcc-c++ \
10+
tar \
11+
make \
12+
cmake \
13+
git \
14+
wget \
15+
libqt5-qtdeclarative-devel \
16+
rpmbuild \
17+
libqt5-linguist \
18+
libqt5-qtx11extras-devel \
19+
libusb-1_0-devel \
20+
libQt5DBus-devel

docker/Dockerfile.ubuntu-19.04

Lines changed: 0 additions & 26 deletions
This file was deleted.

0 commit comments

Comments
 (0)