Skip to content

Commit

Permalink
flatpak: use a VM to build the package bundle
Browse files Browse the repository at this point in the history
In order to be able to test the package, we need to build the image
outside of a Docker container. Both snap and flatpak cannot run
correctly inside a Docker container.

So, stop using Gitlab to build the flatpak bundle.

Signed-off-by: Claudio André <[email protected]>
  • Loading branch information
claudioandre-br committed Apr 8, 2024
1 parent c9c5561 commit 4eeaaca
Show file tree
Hide file tree
Showing 2 changed files with 99 additions and 0 deletions.
2 changes: 2 additions & 0 deletions .github/actions/spelling/expect.txt
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,11 @@ awor
aws
bestpractices
bugtracker
builddir
BUILDID
buildlog
buildsystem
ccache
CCO
CFLAGS
cflite
Expand Down
97 changes: 97 additions & 0 deletions .github/workflows/flatpak-bundle.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
###############################################################################
# _ _ _ _ _____ _
# | | | | | | | | | __ \(_)
# | | ___ | |__ _ __ | |_| |__ ___ | |__) |_ _ __ _ __ ___ _ __
# _ | |/ _ \| '_ \| '_ \ | __| '_ \ / _ \ | _ /| | '_ \| '_ \ / _ \ '__|
# | |__| | (_) | | | | | | | | |_| | | | __/ | | \ \| | |_) | |_) | __/ |
# \____/ \___/|_| |_|_| |_| \__|_| |_|\___| |_| \_\_| .__/| .__/ \___|_|
# | | | |
# |_| |_|
#
# Copyright (c) 2024 Claudio André <[email protected]>
#
# This program comes with ABSOLUTELY NO WARRANTY; express or implied.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, as expressed in version 2, seen at
# http://www.gnu.org/licenses/gpl-2.0.html
###############################################################################
# GitHub Action to build John the Ripper's flatpak bundle
# More info at https://github.com/openwall/john-packages

---
name: Flatpak Bundle

on:
workflow_dispatch:

push:
branches:
- "flatpak"

env:
DISPLAY: ":0.0"

permissions:
contents: read

jobs:
build:
name: Build bundle
runs-on: ubuntu-latest

steps:
- name: Harden Runner
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
with:
disable-sudo: false
egress-policy: audit

- name: Check out the repo
uses: actions/checkout@9bb56186c3b09b4f86b1c65136769dd318469633 # v4.1.2

- name: Get data
id: data
run: |
{
echo "now=$(date -u)"
echo "revision=$(git rev-parse --short=7 HEAD 2>/dev/null)"
echo "version=1.9.$(date +%Y%m%d)"
} >> "$GITHUB_OUTPUT"
- name: Dependencies
run: |
sudo apt-get update -yq
sudo apt-get install -y flatpak dbus-x11
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
sudo flatpak install -y flathub org.flatpak.Builder
- name: Build
run: |
wget https://github.com/openwall/john-packages/archive/refs/heads/release.zip -O main.zip #TODO undo Me
unzip main.zip
cp -r tests/ john-packages-release/deploy/ #TODO undo Me
# To build the package, go to the place the recipe lives
cd john-packages-release/deploy/flatpak
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
dbus-launch flatpak run org.flatpak.Builder --force-clean --user --install --install-deps-from=flathub --ccache --mirror-screenshots-url=https://dl.flathub.org/media/ --repo=repo builddir com.openwall.John.json
flatpak run com.openwall.John
flatpak build-bundle repo john.flatpak com.openwall.John
env
ls ../.. -lR
sha256sum john.flatpak || true
flatpak run --command=flatpak-builder-lint org.flatpak.Builder manifest com.openwall.John.json
flatpak run --command=flatpak-builder-lint org.flatpak.Builder repo repo
shell: bash

- name: 'Upload Artifact'
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4.3.1
with:
name: bundle
path: john.flatpak
retention-days: 15

0 comments on commit 4eeaaca

Please sign in to comment.