HACK: Deploy only Fedora 37 packages

When deploying packages, build the RPM package for Fedora 37 and deploy
only that.

Problem
=======

The v0.4.0 release introduced Fedora 37 support. We had tested building
an RPM package for Fedora 37 and installing it successfully, so we
assumed that we had the green light for the release.

Turns out however that our CI runners were not building packages for
each of our supported Fedora release, but solely for Fedora 35. It so
happened that Fedora 35 and Fedora 36 had similar Python versions, but
the same did not apply to Fedora 37.

The end result is that users could not install Dangerzone on Fedora 37
through our official repo.

Remediation
===========

In order to help out Fedora 37 users, we plan to do the following:

1. Bump the Fedora patch level of our package to -2. This will help
   users install the new package, once we release it.
2. Change our CI pipeline to build an RPM package for Fedora 37 instead,
   and deploy that to PackageCloud.
3. Comment out all the other deployments to PackageCloud, since the rest
   of the distros are not affected.

IMPORTANT: This is a hotfix that should never be merged back in the main
branch.

Fixes #156
This commit is contained in:
Alex Pyrgiotis 2023-01-25 10:17:56 +02:00
parent 05d08e084d
commit 02151b5b9f
No known key found for this signature in database
GPG key ID: B6C15EBA0357C9AA

View file

@ -60,11 +60,11 @@ aliases:
echo "pushing: deb_dist/dangerzone_${VERSION}-1.dsc" echo "pushing: deb_dist/dangerzone_${VERSION}-1.dsc"
package_cloud push "firstlookmedia/code/${PACKAGECLOUD_DISTRO}" "deb_dist/dangerzone_${VERSION}-1.dsc" package_cloud push "firstlookmedia/code/${PACKAGECLOUD_DISTRO}" "deb_dist/dangerzone_${VERSION}-1.dsc"
elif [[ "${PACKAGE_TYPE}" == "rpm" ]]; then elif [[ "${PACKAGE_TYPE}" == "rpm" ]]; then
echo "pushing: dist/dangerzone-${VERSION}-1.noarch.rpm" echo "pushing: dist/dangerzone-${VERSION}-2.noarch.rpm"
package_cloud push "firstlookmedia/code/${PACKAGECLOUD_DISTRO}" "dist/dangerzone-${VERSION}-1.noarch.rpm" package_cloud push "firstlookmedia/code/${PACKAGECLOUD_DISTRO}" "dist/dangerzone-${VERSION}-2.noarch.rpm"
echo "" echo ""
echo "pushing: dist/dangerzone-${VERSION}-1.src.rpm" echo "pushing: dist/dangerzone-${VERSION}-2.src.rpm"
package_cloud push "firstlookmedia/code/${PACKAGECLOUD_DISTRO}" "dist/dangerzone-${VERSION}-1.src.rpm" package_cloud push "firstlookmedia/code/${PACKAGECLOUD_DISTRO}" "dist/dangerzone-${VERSION}-2.src.rpm"
fi fi
jobs: jobs:
@ -239,7 +239,7 @@ jobs:
deploy-fedora: deploy-fedora:
docker: docker:
- image: fedora:35 - image: fedora:37
resource_class: medium+ resource_class: medium+
steps: steps:
- run: *install-dependencies-rpm - run: *install-dependencies-rpm
@ -263,82 +263,82 @@ jobs:
PACKAGE_TYPE: "rpm" PACKAGE_TYPE: "rpm"
PACKAGECLOUD_DISTRO: "fedora/37" PACKAGECLOUD_DISTRO: "fedora/37"
<<: *deploy-packagecloud <<: *deploy-packagecloud
- run: #- run:
name: Deploy fedora/36 # name: Deploy fedora/36
environment: # environment:
PACKAGE_TYPE: "rpm" # PACKAGE_TYPE: "rpm"
PACKAGECLOUD_DISTRO: "fedora/36" # PACKAGECLOUD_DISTRO: "fedora/36"
<<: *deploy-packagecloud # <<: *deploy-packagecloud
- run: #- run:
name: Deploy fedora/35 # name: Deploy fedora/35
environment: # environment:
PACKAGE_TYPE: "rpm" # PACKAGE_TYPE: "rpm"
PACKAGECLOUD_DISTRO: "fedora/35" # PACKAGECLOUD_DISTRO: "fedora/35"
<<: *deploy-packagecloud # <<: *deploy-packagecloud
deploy-debian: #deploy-debian:
docker: # docker:
- image: debian:bullseye # - image: debian:bullseye
resource_class: medium+ # resource_class: medium+
steps: # steps:
- run: *install-dependencies-deb # - run: *install-dependencies-deb
- checkout # - checkout
- restore_cache: *restore-cache # - restore_cache: *restore-cache
- run: *copy-image # - run: *copy-image
- run: *build-deb # - run: *build-deb
- run: # - run:
name: Install packagecloud.io # name: Install packagecloud.io
command: | # command: |
apt-get install -y ruby-dev rubygems # apt-get install -y ruby-dev rubygems
gem install -N rake # gem install -N rake
gem install -N package_cloud # gem install -N package_cloud
- run: # - run:
name: Deploy debian/bullseye # name: Deploy debian/bullseye
environment: # environment:
PACKAGE_TYPE: "deb" # PACKAGE_TYPE: "deb"
PACKAGECLOUD_DISTRO: "debian/bullseye" # PACKAGECLOUD_DISTRO: "debian/bullseye"
<<: *deploy-packagecloud # <<: *deploy-packagecloud
- run: # - run:
name: Deploy debian/bookworm # name: Deploy debian/bookworm
environment: # environment:
PACKAGE_TYPE: "deb" # PACKAGE_TYPE: "deb"
PACKAGECLOUD_DISTRO: "debian/bookworm" # PACKAGECLOUD_DISTRO: "debian/bookworm"
<<: *deploy-packagecloud # <<: *deploy-packagecloud
deploy-ubuntu: #deploy-ubuntu:
docker: # docker:
- image: ubuntu:22.04 # - image: ubuntu:22.04
resource_class: medium+ # resource_class: medium+
steps: # steps:
- run: *install-dependencies-deb # - run: *install-dependencies-deb
- checkout # - checkout
- restore_cache: *restore-cache # - restore_cache: *restore-cache
- run: *copy-image # - run: *copy-image
- run: *build-deb # - run: *build-deb
- run: # - run:
name: Install packagecloud.io # name: Install packagecloud.io
command: | # command: |
apt-get install -y ruby-dev rubygems # apt-get install -y ruby-dev rubygems
gem install -N rake # gem install -N rake
gem install -N package_cloud # gem install -N package_cloud
- run: # - run:
name: Deploy ubuntu/kinetic # name: Deploy ubuntu/kinetic
environment: # environment:
PACKAGE_TYPE: "deb" # PACKAGE_TYPE: "deb"
PACKAGECLOUD_DISTRO: "ubuntu/kinetic" # PACKAGECLOUD_DISTRO: "ubuntu/kinetic"
<<: *deploy-packagecloud # <<: *deploy-packagecloud
- run: # - run:
name: Deploy ubuntu/jammy # name: Deploy ubuntu/jammy
environment: # environment:
PACKAGE_TYPE: "deb" # PACKAGE_TYPE: "deb"
PACKAGECLOUD_DISTRO: "ubuntu/jammy" # PACKAGECLOUD_DISTRO: "ubuntu/jammy"
<<: *deploy-packagecloud # <<: *deploy-packagecloud
- run: # - run:
name: Deploy ubuntu/focal # name: Deploy ubuntu/focal
environment: # environment:
PACKAGE_TYPE: "deb" # PACKAGE_TYPE: "deb"
PACKAGECLOUD_DISTRO: "ubuntu/focal" # PACKAGECLOUD_DISTRO: "ubuntu/focal"
<<: *deploy-packagecloud # <<: *deploy-packagecloud
workflows: workflows:
version: 2 version: 2
@ -383,22 +383,22 @@ workflows:
only: /^v.*/ only: /^v.*/
branches: branches:
ignore: /.*/ ignore: /.*/
- deploy-ubuntu: #- deploy-ubuntu:
requires: # requires:
- build-container-image # - build-container-image
filters: # filters:
tags: # tags:
only: /^v.*/ # only: /^v.*/
branches: # branches:
ignore: /.*/ # ignore: /.*/
- deploy-debian: #- deploy-debian:
requires: # requires:
- build-container-image # - build-container-image
filters: # filters:
tags: # tags:
only: /^v.*/ # only: /^v.*/
branches: # branches:
ignore: /.*/ # ignore: /.*/
- deploy-fedora: - deploy-fedora:
requires: requires:
- build-container-image - build-container-image