mirror of
https://github.com/freedomofpress/dangerzone.git
synced 2025-05-06 05:31:48 +02:00
Compare commits
5 commits
6c386b3e4f
...
9a674522b1
Author | SHA1 | Date | |
---|---|---|---|
9a674522b1 | |||
![]() |
32deea10c4 | ||
![]() |
f540a67d06 | ||
![]() |
b893c84147 | ||
![]() |
aa145b4d7c |
9 changed files with 56 additions and 13 deletions
35
.github/workflows/ci.yml
vendored
35
.github/workflows/ci.yml
vendored
|
@ -66,6 +66,12 @@ jobs:
|
||||||
sudo apt-get install -y python3-poetry
|
sudo apt-get install -y python3-poetry
|
||||||
python3 ./install/common/build-image.py
|
python3 ./install/common/build-image.py
|
||||||
|
|
||||||
|
- name: Upload container image
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: container.tar.gz
|
||||||
|
path: share/container.tar.gz
|
||||||
|
|
||||||
download-tessdata:
|
download-tessdata:
|
||||||
name: Download and cache Tesseract data
|
name: Download and cache Tesseract data
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -117,6 +123,13 @@ jobs:
|
||||||
- name: Build the MSI installer
|
- name: Build the MSI installer
|
||||||
# NOTE: This also builds the .exe internally.
|
# NOTE: This also builds the .exe internally.
|
||||||
run: poetry run .\install\windows\build-app.bat
|
run: poetry run .\install\windows\build-app.bat
|
||||||
|
- name: Upload MSI installer
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: Dangerzone.msi
|
||||||
|
path: "dist/Dangerzone.msi"
|
||||||
|
if-no-files-found: error
|
||||||
|
compression-level: 0
|
||||||
|
|
||||||
macOS:
|
macOS:
|
||||||
name: "macOS (${{ matrix.arch }})"
|
name: "macOS (${{ matrix.arch }})"
|
||||||
|
@ -147,7 +160,15 @@ jobs:
|
||||||
- run: poetry install
|
- run: poetry install
|
||||||
- name: Run CLI tests
|
- name: Run CLI tests
|
||||||
run: poetry run make test
|
run: poetry run make test
|
||||||
|
- name: Build macOS app
|
||||||
|
run: poetry run python ./install/macos/build-app.py
|
||||||
|
- name: Upload macOS app
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: Dangerzone.${{ matrix.arch }}.app
|
||||||
|
path: "dist/Dangerzone.app"
|
||||||
|
if-no-files-found: error
|
||||||
|
compression-level: 0
|
||||||
build-deb:
|
build-deb:
|
||||||
name: "build-deb (${{ matrix.distro }} ${{ matrix.version }})"
|
name: "build-deb (${{ matrix.distro }} ${{ matrix.version }})"
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
@ -211,7 +232,7 @@ jobs:
|
||||||
if: matrix.distro == 'debian' && matrix.version == 'bookworm'
|
if: matrix.distro == 'debian' && matrix.version == 'bookworm'
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: dangerzone-${{ matrix.distro }}-${{ matrix.version }}.deb
|
name: dangerzone-${{ matrix.distro }}-all.deb
|
||||||
path: "deb_dist/dangerzone_*_*.deb"
|
path: "deb_dist/dangerzone_*_*.deb"
|
||||||
if-no-files-found: error
|
if-no-files-found: error
|
||||||
compression-level: 0
|
compression-level: 0
|
||||||
|
@ -249,7 +270,7 @@ jobs:
|
||||||
- name: Download Dangerzone .deb
|
- name: Download Dangerzone .deb
|
||||||
uses: actions/download-artifact@v4
|
uses: actions/download-artifact@v4
|
||||||
with:
|
with:
|
||||||
name: dangerzone-debian-bookworm.deb
|
name: dangerzone-debian-all.deb
|
||||||
path: "deb_dist/"
|
path: "deb_dist/"
|
||||||
|
|
||||||
- name: Build end-user environment
|
- name: Build end-user environment
|
||||||
|
@ -311,6 +332,14 @@ jobs:
|
||||||
./dev_scripts/env.py --distro ${{ matrix.distro }} --version ${{ matrix.version }} \
|
./dev_scripts/env.py --distro ${{ matrix.distro }} --version ${{ matrix.version }} \
|
||||||
run --dev --no-gui ./dangerzone/install/linux/build-rpm.py
|
run --dev --no-gui ./dangerzone/install/linux/build-rpm.py
|
||||||
|
|
||||||
|
- name: Upload Dangerzone .rpm
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: dangerzone-${{ matrix.distro }}-${{ matrix.version }}.rpm
|
||||||
|
path: "dist/dangerzone-*.x86_64.rpm"
|
||||||
|
if-no-files-found: error
|
||||||
|
compression-level: 0
|
||||||
|
|
||||||
# Reclaim some space in this step, now that the dev environment is no
|
# Reclaim some space in this step, now that the dev environment is no
|
||||||
# longer necessary. Previously, we encountered out-of-space issues while
|
# longer necessary. Previously, we encountered out-of-space issues while
|
||||||
# running this CI job.
|
# running this CI job.
|
||||||
|
|
2
.github/workflows/scan_released.yml
vendored
2
.github/workflows/scan_released.yml
vendored
|
@ -13,7 +13,7 @@ jobs:
|
||||||
- name: Download container image for the latest release
|
- name: Download container image for the latest release
|
||||||
run: |
|
run: |
|
||||||
VERSION=$(curl https://api.github.com/repos/freedomofpress/dangerzone/releases/latest | jq -r '.tag_name')
|
VERSION=$(curl https://api.github.com/repos/freedomofpress/dangerzone/releases/latest | jq -r '.tag_name')
|
||||||
wget https://github.com/freedomofpress/dangerzone/releases/download/${VERSION}/container.tar.gz
|
wget https://github.com/freedomofpress/dangerzone/releases/download/${VERSION}/container-${VERSION}-i686.tar.gz -O container.tar.gz
|
||||||
- name: Load container image
|
- name: Load container image
|
||||||
run: docker load -i container.tar.gz
|
run: docker load -i container.tar.gz
|
||||||
# NOTE: Scan first without failing, else we won't be able to read the scan
|
# NOTE: Scan first without failing, else we won't be able to read the scan
|
||||||
|
|
|
@ -289,7 +289,7 @@ Our [GitHub Releases page](https://github.com/freedomofpress/dangerzone/releases
|
||||||
hosts the following files:
|
hosts the following files:
|
||||||
* Windows installer (`Dangerzone-<version>.msi`)
|
* Windows installer (`Dangerzone-<version>.msi`)
|
||||||
* macOS archives (`Dangerzone-<version>-<arch>.dmg`)
|
* macOS archives (`Dangerzone-<version>-<arch>.dmg`)
|
||||||
* Container image (`container.tar.gz`)
|
* Container images (`container-<version>-<arch>.tar.gz`)
|
||||||
* Source package (`dangerzone-<version>.tar.gz`)
|
* Source package (`dangerzone-<version>.tar.gz`)
|
||||||
|
|
||||||
All these files are accompanied by signatures (as `.asc` files). We'll explain
|
All these files are accompanied by signatures (as `.asc` files). We'll explain
|
||||||
|
@ -314,10 +314,10 @@ gpg --verify Dangerzone-0.6.1-arm64.dmg.asc Dangerzone-0.6.1-arm64.dmg
|
||||||
gpg --verify Dangerzone-0.6.1-i686.dmg.asc Dangerzone-0.6.1-i686.dmg
|
gpg --verify Dangerzone-0.6.1-i686.dmg.asc Dangerzone-0.6.1-i686.dmg
|
||||||
```
|
```
|
||||||
|
|
||||||
For the container image:
|
For the container images:
|
||||||
|
|
||||||
```
|
```
|
||||||
gpg --verify container.tar.gz.asc container.tar.gz
|
gpg --verify container-0.6.1-i686.tar.gz.asc container-0.6.1-i686.tar.gz
|
||||||
```
|
```
|
||||||
|
|
||||||
For the source package:
|
For the source package:
|
||||||
|
|
11
RELEASE.md
11
RELEASE.md
|
@ -285,6 +285,11 @@ Once we are confident that the release will be out shortly, and doesn't need any
|
||||||
* You can verify the correct Python version is used with `poetry debug info`
|
* You can verify the correct Python version is used with `poetry debug info`
|
||||||
- [ ] Verify and checkout the git tag for this release
|
- [ ] Verify and checkout the git tag for this release
|
||||||
- [ ] Run `poetry install --sync`
|
- [ ] Run `poetry install --sync`
|
||||||
|
- [ ] On the silicon mac, build the container image:
|
||||||
|
```
|
||||||
|
python3 ./install/common/build-image.py
|
||||||
|
```
|
||||||
|
Then copy the `share/container.tar.gz` to the assets folder on `dangerzone-$VERSION-arm64.tar.gz`, along with the `share/image-id.txt` file.
|
||||||
- [ ] Run `poetry run ./install/macos/build-app.py`; this will make `dist/Dangerzone.app`
|
- [ ] Run `poetry run ./install/macos/build-app.py`; this will make `dist/Dangerzone.app`
|
||||||
- [ ] Make sure that the build application works with the containerd graph
|
- [ ] Make sure that the build application works with the containerd graph
|
||||||
driver (see [#933](https://github.com/freedomofpress/dangerzone/issues/933))
|
driver (see [#933](https://github.com/freedomofpress/dangerzone/issues/933))
|
||||||
|
@ -403,6 +408,8 @@ Build the latest container:
|
||||||
python3 ./install/common/build-image.py
|
python3 ./install/common/build-image.py
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Copy the container image to the assets folder on `dangerzone-$VERSION-i686.tar.gz`.
|
||||||
|
|
||||||
Create a .rpm:
|
Create a .rpm:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -449,9 +456,9 @@ To publish the release:
|
||||||
* Copy the release notes text from the template at [`docs/templates/release-notes`](https://github.com/freedomofpress/dangerzone/tree/main/docs/templates/)
|
* Copy the release notes text from the template at [`docs/templates/release-notes`](https://github.com/freedomofpress/dangerzone/tree/main/docs/templates/)
|
||||||
* You can use `./dev_scripts/upload-asset.py`, if you want to upload an asset
|
* You can use `./dev_scripts/upload-asset.py`, if you want to upload an asset
|
||||||
using an access token.
|
using an access token.
|
||||||
- [ ] Upload the `container.tar.gz` i686 image that was created in the previous step
|
- [ ] Upload the `container-$VERSION-i686.tar.gz` and `container-$VERSION-arm64.tar.gz` images that were created in the previous step
|
||||||
|
|
||||||
**Important:** Make sure that it's the same container image as the ones that
|
**Important:** Make sure that it's the same container images as the ones that
|
||||||
are shipped in other platforms (see our [Pre-release](#Pre-release) section)
|
are shipped in other platforms (see our [Pre-release](#Pre-release) section)
|
||||||
|
|
||||||
- [ ] Upload the detached signatures (.asc) and checksum file.
|
- [ ] Upload the detached signatures (.asc) and checksum file.
|
||||||
|
|
6
debian/changelog
vendored
6
debian/changelog
vendored
|
@ -1,3 +1,9 @@
|
||||||
|
dangerzone (0.8.0) unstable; urgency=low
|
||||||
|
|
||||||
|
* Released Dangerzone 0.8.0
|
||||||
|
|
||||||
|
-- Freedom of the Press Foundation <info@freedom.press> Tue, 30 Oct 2024 01:56:28 +0300
|
||||||
|
|
||||||
dangerzone (0.7.1) unstable; urgency=low
|
dangerzone (0.7.1) unstable; urgency=low
|
||||||
|
|
||||||
* Released Dangerzone 0.7.1
|
* Released Dangerzone 0.7.1
|
||||||
|
|
|
@ -11,7 +11,8 @@ log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
DZ_ASSETS = [
|
DZ_ASSETS = [
|
||||||
"container.tar.gz",
|
"container-{version}-i686.tar.gz",
|
||||||
|
"container-{version}-arm64.tar.gz",
|
||||||
"Dangerzone-{version}.msi",
|
"Dangerzone-{version}.msi",
|
||||||
"Dangerzone-{version}-arm64.dmg",
|
"Dangerzone-{version}-arm64.dmg",
|
||||||
"Dangerzone-{version}-i686.dmg",
|
"Dangerzone-{version}-i686.dmg",
|
||||||
|
|
|
@ -32,7 +32,7 @@ Name: dangerzone-qubes
|
||||||
Name: dangerzone
|
Name: dangerzone
|
||||||
%endif
|
%endif
|
||||||
|
|
||||||
Version: 0.7.1
|
Version: 0.8.0
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
Summary: Take potentially dangerous PDFs, office documents, or images and convert them to safe PDFs
|
Summary: Take potentially dangerous PDFs, office documents, or images and convert them to safe PDFs
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "dangerzone"
|
name = "dangerzone"
|
||||||
version = "0.7.1"
|
version = "0.8.0"
|
||||||
description = "Take potentially dangerous PDFs, office documents, or images and convert them to safe PDFs"
|
description = "Take potentially dangerous PDFs, office documents, or images and convert them to safe PDFs"
|
||||||
authors = ["Freedom of the Press Foundation <info@freedom.press>", "Micah Lee <micah.lee@theintercept.com>"]
|
authors = ["Freedom of the Press Foundation <info@freedom.press>", "Micah Lee <micah.lee@theintercept.com>"]
|
||||||
license = "AGPL-3.0"
|
license = "AGPL-3.0"
|
||||||
|
|
|
@ -1 +1 @@
|
||||||
0.7.1
|
0.8.0
|
||||||
|
|
Loading…
Reference in a new issue