Skip to content

Commit

Permalink
Merge branch 'hotfix/0.9.2'
Browse files Browse the repository at this point in the history
  • Loading branch information
jahnf committed Sep 30, 2021
2 parents 483d4a3 + b09ef5b commit 82d9cfa
Show file tree
Hide file tree
Showing 16 changed files with 400 additions and 228 deletions.
126 changes: 81 additions & 45 deletions .github/workflows/ci-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
branches:
- master
- develop
- 'feature/**'

jobs:
build:
Expand All @@ -19,21 +20,25 @@ jobs:
- fedora-31
- fedora-32
- fedora-33
- fedora-34
- debian-stretch
- debian-buster
- debian-bullseye
- ubuntu-18.04
- ubuntu-20.04
- ubuntu-20.10
- ubuntu-21.04
- opensuse-15.0
- opensuse-15.1
- opensuse-15.2
- opensuse-15.3
- centos-8
os:
- ubuntu-latest

runs-on: ${{ matrix.os }}
env:
DOCKER_IMG: docker.pkg.github.com/jahnf/projecteur/projecteur
DOCKER_IMG: ghcr.io/jahnf/projecteur/projecteur
DOCKER_TAG: ${{ matrix.docker_tag }}
MAKEFLAGS: -j2
CLOUDSMITH_USER: jahnf
Expand All @@ -55,15 +60,9 @@ jobs:
echo Detected branch: ${BRANCH}
echo "BRANCH=${BRANCH}" >> $GITHUB_ENV
- name: Login to github docker registry
run: echo ${DOCKER_TOKEN} | docker login docker.pkg.github.com -u ${{ secrets.DOCKER_USER }} --password-stdin
env:
DOCKER_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Pull ${{ matrix.docker_tag }} docker image
run: |
docker pull ${DOCKER_IMG}:${{ matrix.docker_tag }}
docker logout docker.pkg.github.com
- name: docker create build container
run: |
docker run --name build --env MAKEFLAGS=${MAKEFLAGS} \
Expand Down Expand Up @@ -106,15 +105,27 @@ jobs:
dist_pkg_artifact=`ls -1 dist-pkg/* | head -n 1`
echo "dist_pkg_artifact=${dist_pkg_artifact}" >> $GITHUB_ENV
- if: startsWith(matrix.docker_tag, 'archlinux')
run: echo "${{ env.BRANCH }}" >> version-branch

# ===================================================================================
# ---------- Upload artifacts to github ----------
- name: Upload source-pkg artifact to github
if: startsWith(matrix.docker_tag, 'archlinux')
uses: actions/upload-artifact@v1
uses: actions/upload-artifact@v2
with:
name: source-package
path: ${{ env.src_pkg_artifact }}

- name: Upload version-info to github
if: startsWith(matrix.docker_tag, 'archlinux')
uses: actions/upload-artifact@v2
with:
name: version-info
path: |
./version-string
./version-branch
- name: Upload binary package artifact to github
uses: actions/upload-artifact@v2
with:
Expand All @@ -128,25 +139,23 @@ jobs:
echo "upload_bin_pkg=${{ false }}" >> $GITHUB_ENV
echo "upload_src_pkg=${{ false }}" >> $GITHUB_ENV
echo "cloudsmith_upload_repo=projecteur-develop" >> $GITHUB_ENV
echo "bintray_upload_repo=projecteur-develop" >> $GITHUB_ENV
echo "REPO_UPLOAD=${{ false }}" >> $GITHUB_ENV
- name: Check for binary-pkg upload conditions
if: env.BRANCH == 'develop' || env.BRANCH == 'master'
if: ${{ (env.BRANCH == 'develop' || env.BRANCH == 'master') && github.repository == 'jahnf/Projecteur' }}
run: |
echo "upload_bin_pkg=${{ true }}" >> $GITHUB_ENV
pip install --upgrade wheel
pip install --upgrade cloudsmith-cli
- name: Check for source-pkg upload conditions
if: env.upload_bin_pkg == 'true' && startsWith(matrix.docker_tag, 'archlinux')
if: ${{ env.upload_bin_pkg == 'true' && startsWith(matrix.docker_tag, 'archlinux') && github.repository == 'jahnf/Projecteur' }}
run: |
echo "upload_src_pkg=${{ true }}" >> $GITHUB_ENV
- if: env.BRANCH == 'master'
run: |
echo "cloudsmith_upload_repo=projecteur-stable" >> $GITHUB_ENV
echo "bintray_upload_repo=projecteur-master" >> $GITHUB_ENV
# ===================================================================================
# ---------- Upload artifacts to cloudsmith ----------
Expand All @@ -161,7 +170,7 @@ jobs:
--summary "${CLOUDSMITH_SUMMARY}" --description "${CLOUDSMITH_DESC}" ${{ env.dist_pkg_artifact }}
- name: Upload raw source-pkg to cloudsmith
if: env.upload_src_pkg == 'true'
if: ${{ env.upload_src_pkg == 'true' && github.repository == 'jahnf/Projecteur' }}
env:
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }}
CLOUDSMITH_REPO: ${{ env.cloudsmith_upload_repo }}
Expand All @@ -177,10 +186,12 @@ jobs:
export PKG_TYPE="${filename##*.}"
declare -A distromap=( ["debian-stretch"]="debian/stretch" ["debian-buster"]="debian/buster" \
["debian-bullseye"]="debian/bullseye" ["ubuntu-18.04"]="ubuntu/bionic" \
["ubuntu-20.04"]="ubuntu/focal" ["opensuse-15.1"]="opensuse/15.1" \
["opensuse-15.2"]="opensuse/15.2" ["centos-8"]="el/8" \
["ubuntu-20.04"]="ubuntu/focal" ["ubuntu-21.04"]="ubuntu/hirsute" \
["opensuse-15.1"]="opensuse/15.1" ["opensuse-15.2"]="opensuse/15.2" \
["opensuse-15.3"]="opensuse/15.3" ["centos-8"]="el/8" \
["fedora-30"]="fedora/30" ["fedora-31"]="fedora/31" \
["fedora-32"]="fedora/32" ["fedora-33"]="fedora/33" )
["fedora-32"]="fedora/32" ["fedora-33"]="fedora/33" \
["fedora-34"]="fedora/34" )
export DISTRO=${distromap[${{ matrix.docker_tag }}]}
echo PKGTYPE=$PKG_TYPE
echo DISTRO=$DISTRO
Expand All @@ -200,35 +211,60 @@ jobs:
cloudsmith push ${PKG_TYPE} -W -k ${CLOUDSMITH_API_KEY} --republish \
${CLOUDSMITH_USER}/${CLOUDSMITH_REPO}/${DISTRO} ${{ env.dist_pkg_artifact }}
# ===================================================================================
# ---------- Upload artifacts to bintray ----------
- name: Upload source-pkg to Bintray
if: env.upload_src_pkg == 'true'
uses: bpicode/github-action-upload-bintray@master
# =====================================================================================
# ---------- Upload artifacts to projecteur server ------------
projecteur-bin-upload:
if: ${{ github.repository == 'jahnf/Projecteur' }}
needs: build
runs-on: ubuntu-latest

steps:
- name: Get version-info
uses: actions/download-artifact@v2
with:
file: ${{ env.src_pkg_artifact }}
api_user: jahnf
api_key: ${{ secrets.BINTRAY_API_KEY }}
repository_user: jahnf
repository: Projecteur
package: ${{ env.bintray_upload_repo }}
version: ${{ env.projecteur_version }}
upload_path: packages/branches/${{ env.BRANCH }}/${{ env.projecteur_version }}
calculate_metadata: false
publish: 1

- name: Upload binary package to Bintray
if: env.upload_bin_pkg == 'true'
uses: bpicode/github-action-upload-bintray@master
name: version-info

- name: Extract version info
run: |
BRANCH=`cat version-branch`
echo "BRANCH=${BRANCH}" >> $GITHUB_ENV
VERSION=`cat version-string`
echo "VERSION=${VERSION}" >> $GITHUB_ENV
DO_UPLOAD=$(( [ "master" = "$BRANCH" ] || [ "develop" = "$BRANCH" ] ) && echo true || echo false)
echo "DO_UPLOAD=${DO_UPLOAD}" >> $GITHUB_ENV
- uses: actions/download-artifact@v2
if: env.DO_UPLOAD == 'true'
with:
file: ${{ env.dist_pkg_artifact }}
api_user: jahnf
api_key: ${{ secrets.BINTRAY_API_KEY }}
repository_user: jahnf
repository: Projecteur
package: ${{ env.bintray_upload_repo }}
version: ${{ env.projecteur_version }}
upload_path: packages/branches/${{ env.BRANCH }}/${{ env.projecteur_version }}
calculate_metadata: false
publish: 1
path: artifacts

- name: Create upload directory
if: env.DO_UPLOAD == 'true'
run: |
BRANCHDIR=${{ env.BRANCH }}
[ "master" = "$BRANCHDIR" ] && BRANCHDIR=stable
VERSION=${{ env.VERSION }}
mkdir -p upload/$BRANCHDIR/$VERSION
find ./artifacts -iname "projecteur*" -exec mv -t upload/$BRANCHDIR/$VERSION {} +
BRANCHNAME=${BRANCHDIR/\//_}
BRANCH_FILENAME=${BRANCHNAME}-latest.json
echo '{ "version": "${{ env.VERSION}}" }' >> upload/$BRANCH_FILENAME
echo "BRANCHNAME=${BRANCHNAME}" >> $GITHUB_ENV
find . -iname "projecteur*"
cd upload/$BRANCHDIR/$VERSION
sha1sum * > sha1sums.txt
- name: 📂 Upload files
if: env.DO_UPLOAD == 'true'
run: |
cd upload && sudo apt-get install lftp --no-install-recommends
lftp ${{ secrets.PROJECTEUR_UPLOAD_HOSTNAME }} \
-u "${{ secrets.PROJECTEUR_UPLOAD_USER }},${{ secrets.PROJECTEUR_UPLOAD_TOKEN }}" \
-e "set ftp:ssl-force true; set ssl:verify-certificate true; mirror \
--reverse --upload-older --dereference -x ^\.git/$ ./ ./; quit"
- name: Update latest symlink
if: env.DO_UPLOAD == 'true'
run: |
curl --fail -i -X POST -F "token=${{ secrets.PROJECTEUR_UPDATE_TOKEN }}" \
${{ secrets.PROJECTEUR_UPDATE_URL }}?branch=${{ env.BRANCHNAME }}
8 changes: 5 additions & 3 deletions .github/workflows/codeql-analysis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,16 +9,18 @@ on:

jobs:
analyse:
if: ${{ github.repository == 'jahnf/Projecteur' }}
name: Analyse
runs-on: ubuntu-20.04

steps:
- name: Install dependencies
run: |
run: |
sudo apt-get update && \
sudo apt-get --no-install-recommends install pkg-config qtdeclarative5-dev \
qttools5-dev-tools qttools5-dev \
qt5-default libqt5x11extras5-dev
- name: Checkout repository
uses: actions/checkout@v2
with:
Expand All @@ -41,7 +43,7 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@v1
with:
with:
queries: +security-and-quality

- name: Build project
Expand Down
20 changes: 14 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,16 +101,24 @@ The latest binary packages for some Linux distributions are available for downlo
Currently binary packages for _Ubuntu_, _Debian_, _Fedora_, _OpenSuse_, _CentOS_ and
_Arch_ Linux are automatically built.

* Latest develop: [ ![Download][bintray-dev-img] ][dl-dev-bintray]
* Latest release: [ ![Download][bintray-rel-img] ][dl-rel-bintray]
* **Latest release:**
* on cloudsmith: [![cloudsmith-rel-badge]][cloudsmith-rel-latest]
* on secondery server: [![projecteur-rel-badge]][projecteur-rel-dl]
* Latest development version:
* on cloudsmith: [![cloudsmith-dev-badge]][cloudsmith-dev-latest]
* on secondary server: [![projecteur-dev-badge]][projecteur-dev-dl]

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

[dl-dev-bintray]: https://bintray.com/jahnf/Projecteur/projecteur-develop/_latestVersion#files
[dl-rel-bintray]: https://bintray.com/jahnf/Projecteur/projecteur-master/_latestVersion#files
[bintray-dev-img]: https://api.bintray.com/packages/jahnf/Projecteur/projecteur-develop/images/download.svg
[bintray-rel-img]: https://api.bintray.com/packages/jahnf/Projecteur/projecteur-master/images/download.svg
[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
[cloudsmith-rel-latest]: https://cloudsmith.io/~jahnf/repos/projecteur-stable/packages/?q=format%3Araw+tag%3Alatest
[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
[cloudsmith-dev-latest]: https://cloudsmith.io/~jahnf/repos/projecteur-develop/packages/?q=format%3Araw+tag%3Alatest
[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
[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
[projecteur-dev-dl]: https://projecteur.de/downloads/develop/latest
[projecteur-rel-dl]: https://projecteur.de/downloads/stable/latest

## Building

Expand Down
17 changes: 17 additions & 0 deletions doc/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,22 @@
# Changelog

## v0.9.2

### Fixes:

- Bug fix for high CPU load in certain situations ([#133][i133])
- Bug fix for wrong button mapping for inputs with same length ([#144][i144])

[i133]: https://github.com/jahnf/Projecteur/issues/133
[i144]: https://github.com/jahnf/Projecteur/issues/144

## v0.9.1

### Fixes:

- Fixes for automatically generated RPM Packages (especially Fedora)
- Fixes for version numbers in generated packages (DEB and RPM)

## v0.9

### Changes/Updates:
Expand Down
20 changes: 20 additions & 0 deletions docker/Dockerfile.debian-bullseye
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Container for building the Projecteur package
# Images available at: https://hub.docker.com/r/jahnf/projecteur/tags

FROM debian:bullseye

RUN apt-get update
RUN DEBIAN_FRONTEND="noninteractive" \
apt-get install -y --no-install-recommends \
ca-certificates \
g++ \
make \
cmake \
udev \
git \
pkg-config \
qtdeclarative5-dev \
qttools5-dev-tools \
libqt5x11extras5-dev \
libusb-1.0-0-dev \
&& rm -rf /var/lib/apt/lists/*
20 changes: 20 additions & 0 deletions docker/Dockerfile.fedora-34
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Container for building the Projecteur package
# Images available at: https://hub.docker.com/r/jahnf/projecteur/tags

FROM fedora:34

RUN mkdir /build
RUN dnf -y install --setopt=install_weak_deps=False --best \
cmake \
udev \
gcc-c++ \
tar \
make \
git \
qt5-qtdeclarative-devel \
pkg-config \
rpm-build \
qt5-linguist \
qt5-qtx11extras-devel \
libusbx-devel

20 changes: 20 additions & 0 deletions docker/Dockerfile.opensuse-15.3
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Container for building the Projecteur package
# Images available at: https://hub.docker.com/r/jahnf/projecteur/tags

FROM opensuse/leap:15.3

RUN zypper --non-interactive in --no-recommends \
pkg-config \
udev \
gcc-c++ \
tar \
make \
cmake \
git \
wget \
libqt5-qtdeclarative-devel \
rpmbuild \
libqt5-linguist \
libqt5-qtx11extras-devel \
libusb-1_0-devel \
libQt5DBus-devel
26 changes: 0 additions & 26 deletions docker/Dockerfile.ubuntu-19.04

This file was deleted.

Loading

0 comments on commit 82d9cfa

Please sign in to comment.