Compare commits

...

3 commits

Author SHA1 Message Date
aed4f3bf8c
Merge 9e9b55aa77 into 23f5f96220 2024-12-02 11:56:53 +01:00
Alexis Métaireau
23f5f96220
build: Publish the built artifacts
- Fedora `.rpm` files
- Windows `.msi`
- macOS `.app`

Are now published as part of the CI pipelines.
2024-12-02 11:35:54 +01:00
Alexis Métaireau
9e9b55aa77
CI: check that our Github Actions are able to run on ubuntu-24 2024-11-27 10:48:27 +01:00
7 changed files with 64 additions and 18 deletions

View file

@ -29,7 +29,7 @@ env:
jobs: jobs:
build-dev-environment: build-dev-environment:
name: "Build dev-env (${{ matrix.distro }}-${{ matrix.version }})" name: "Build dev-env (${{ matrix.distro }}-${{ matrix.version }})"
runs-on: ubuntu-latest runs-on: ubuntu-24
strategy: strategy:
matrix: matrix:
include: include:

View file

@ -1,10 +1,14 @@
name: Check branch conformity name: Check branch conformity
on: on:
pull_request: pull_request:
push:
branches:
- main
- "test/**"
jobs: jobs:
prevent-fixup-commits: prevent-fixup-commits:
runs-on: ubuntu-latest runs-on: ubuntu-24
env: env:
target: debian-bookworm target: debian-bookworm
distro: debian distro: debian

View file

@ -10,11 +10,15 @@ on:
schedule: schedule:
- cron: '0 0 * * *' # Run every day at 00:00 UTC. - cron: '0 0 * * *' # Run every day at 00:00 UTC.
workflow_dispatch: workflow_dispatch:
push:
branches:
- main
- "test/**"
jobs: jobs:
install-from-apt-repo: install-from-apt-repo:
name: "Install Dangerzone on ${{ matrix.distro}} ${{ matrix.version }}" name: "Install Dangerzone on ${{ matrix.distro}} ${{ matrix.version }}"
runs-on: ubuntu-latest runs-on: ubuntu-24
container: ${{ matrix.distro }}:${{ matrix.version }} container: ${{ matrix.distro }}:${{ matrix.version }}
strategy: strategy:
matrix: matrix:
@ -70,7 +74,7 @@ jobs:
install-from-yum-repo: install-from-yum-repo:
name: "Install Dangerzone on ${{ matrix.distro}} ${{ matrix.version }}" name: "Install Dangerzone on ${{ matrix.distro}} ${{ matrix.version }}"
runs-on: ubuntu-latest runs-on: ubuntu-24
container: ${{ matrix.distro }}:${{ matrix.version }} container: ${{ matrix.distro }}:${{ matrix.version }}
strategy: strategy:
matrix: matrix:

View file

@ -27,7 +27,7 @@ concurrency:
jobs: jobs:
run-lint: run-lint:
runs-on: ubuntu-latest runs-on: ubuntu-24
container: container:
image: debian:bookworm image: debian:bookworm
steps: steps:
@ -68,9 +68,15 @@ 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-24
steps: steps:
- uses: actions/checkout@v4 - uses: actions/checkout@v4
- name: Cache Tessdata - name: Cache Tessdata
@ -120,6 +126,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 }})"
@ -151,12 +164,20 @@ 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:
needs: needs:
- build-container-image - build-container-image
name: "build-deb (${{ matrix.distro }} ${{ matrix.version }})" name: "build-deb (${{ matrix.distro }} ${{ matrix.version }})"
runs-on: ubuntu-latest runs-on: ubuntu-24
strategy: strategy:
matrix: matrix:
include: include:
@ -216,14 +237,14 @@ 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.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
install-deb: install-deb:
name: "install-deb (${{ matrix.distro }} ${{ matrix.version }})" name: "install-deb (${{ matrix.distro }} ${{ matrix.version }})"
runs-on: ubuntu-latest runs-on: ubuntu-24
needs: needs:
- build-deb - build-deb
strategy: strategy:
@ -255,7 +276,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.deb
path: "deb_dist/" path: "deb_dist/"
- name: Build end-user environment - name: Build end-user environment
@ -278,7 +299,7 @@ jobs:
build-install-rpm: build-install-rpm:
name: "build-install-rpm (${{ matrix.distro }} ${{matrix.version}})" name: "build-install-rpm (${{ matrix.distro }} ${{matrix.version}})"
runs-on: ubuntu-latest runs-on: ubuntu-24
needs: needs:
- build-container-image - build-container-image
strategy: strategy:
@ -318,6 +339,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.
@ -342,7 +371,7 @@ jobs:
run-tests: run-tests:
name: "run tests (${{ matrix.distro }} ${{ matrix.version }})" name: "run tests (${{ matrix.distro }} ${{ matrix.version }})"
runs-on: ubuntu-latest runs-on: ubuntu-24
needs: needs:
- build-container-image - build-container-image
- download-tessdata - download-tessdata

View file

@ -2,10 +2,14 @@ name: Close inactive issues
on: on:
schedule: schedule:
- cron: "30 1 * * *" - cron: "30 1 * * *"
push:
branches:
- main
- "test/**"
jobs: jobs:
close-issues: close-issues:
runs-on: ubuntu-latest runs-on: ubuntu-24
permissions: permissions:
issues: write issues: write
steps: steps:

View file

@ -3,6 +3,7 @@ on:
push: push:
branches: branches:
- main - main
- "test/**"
pull_request: pull_request:
schedule: schedule:
- cron: '0 0 * * *' # Run every day at 00:00 UTC. - cron: '0 0 * * *' # Run every day at 00:00 UTC.
@ -10,7 +11,7 @@ on:
jobs: jobs:
security-scan-container: security-scan-container:
runs-on: ubuntu-latest runs-on: ubuntu-24
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4
@ -44,7 +45,7 @@ jobs:
severity-cutoff: critical severity-cutoff: critical
security-scan-app: security-scan-app:
runs-on: ubuntu-latest runs-on: ubuntu-24
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4

View file

@ -1,5 +1,9 @@
name: Scan released app and container name: Scan released app and container
on: on:
push:
branches:
- main
- "test/**"
schedule: schedule:
- cron: '0 0 * * *' # Run every day at 00:00 UTC. - cron: '0 0 * * *' # Run every day at 00:00 UTC.
workflow_dispatch: workflow_dispatch:
@ -9,7 +13,7 @@ jobs:
strategy: strategy:
matrix: matrix:
include: include:
- runs-on: ubuntu-latest - runs-on: ubuntu-24
arch: i686 arch: i686
# Do not scan Silicon mac for now to avoid masking release scan results for other plaforms. # Do not scan Silicon mac for now to avoid masking release scan results for other plaforms.
# - runs-on: macos-latest # - runs-on: macos-latest
@ -50,7 +54,7 @@ jobs:
severity-cutoff: critical severity-cutoff: critical
security-scan-app: security-scan-app:
runs-on: ubuntu-latest runs-on: ubuntu-24
steps: steps:
- name: Checkout - name: Checkout
uses: actions/checkout@v4 uses: actions/checkout@v4