mirror of
https://github.com/overcuriousity/autopsy-flatpak.git
synced 2025-07-06 21:00:22 +00:00
142 lines
4.1 KiB
YAML
142 lines
4.1 KiB
YAML
name: Build Autopsy Flatpak
|
|
|
|
on:
|
|
# Manual trigger
|
|
workflow_dispatch:
|
|
inputs:
|
|
autopsy_version:
|
|
description: 'Autopsy version to build (e.g., autopsy-4.22.1)'
|
|
required: false
|
|
type: string
|
|
default: 'autopsy-4.22.1'
|
|
sleuthkit_version:
|
|
description: 'Sleuth Kit version (e.g., sleuthkit-4.14.0)'
|
|
required: false
|
|
type: string
|
|
default: 'sleuthkit-4.14.0'
|
|
|
|
# Test builds on PRs
|
|
pull_request:
|
|
paths:
|
|
- 'flatpak/**'
|
|
- '.github/workflows/**'
|
|
|
|
env:
|
|
FLATPAK_BUILDER_CACHE: .flatpak-builder
|
|
MANIFEST_PATH: flatpak/org.sleuthkit.Autopsy.yml
|
|
|
|
jobs:
|
|
build-flatpak:
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
|
|
- name: Install Flatpak and dependencies
|
|
run: |
|
|
sudo apt update
|
|
sudo apt install -y flatpak flatpak-builder
|
|
|
|
# Add Flathub repository
|
|
sudo flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
|
|
|
|
# Install required runtimes
|
|
sudo flatpak install -y flathub org.gnome.Platform//47
|
|
sudo flatpak install -y flathub org.gnome.Sdk//47
|
|
sudo flatpak install -y flathub org.freedesktop.Sdk.Extension.openjdk17//24.08
|
|
|
|
- name: Setup Flatpak builder cache
|
|
uses: actions/cache@v4
|
|
with:
|
|
path: |
|
|
.flatpak-builder
|
|
build-dir
|
|
key: flatpak-builder-${{ runner.os }}-${{ hashFiles('flatpak/org.sleuthkit.Autopsy.yml') }}
|
|
restore-keys: |
|
|
flatpak-builder-${{ runner.os }}-
|
|
|
|
- name: Build Flatpak
|
|
run: |
|
|
mkdir -p build-dir repo
|
|
|
|
# Build with network access for downloading sources
|
|
flatpak-builder \
|
|
--repo=repo \
|
|
--force-clean \
|
|
--ccache \
|
|
--install-deps-from=flathub \
|
|
--default-branch=stable \
|
|
--subject="Build of Autopsy ${{ github.event.inputs.autopsy_version || 'autopsy-4.22.1' }}" \
|
|
build-dir \
|
|
${{ env.MANIFEST_PATH }}
|
|
|
|
- name: Export bundle
|
|
run: |
|
|
VERSION="${{ github.event.inputs.autopsy_version || 'autopsy-4.22.1' }}"
|
|
flatpak build-bundle repo autopsy-${VERSION}.flatpak org.sleuthkit.Autopsy stable
|
|
|
|
#- name: Test installation
|
|
# run: |
|
|
# export DC_DIR="/tmp/dconf"
|
|
# mkdir -p "$DC_DIR"
|
|
# export DCONF_USER_CONFIG="$DC_DIR/user"
|
|
# export XDG_RUNTIME_DIR="$DC_DIR"
|
|
# # Install the bundle
|
|
# sudo flatpak install -y --noninteractive autopsy-*.flatpak
|
|
#
|
|
# # Basic smoke test
|
|
# flatpak info org.sleuthkit.Autopsy
|
|
#
|
|
# # Check that binary exists
|
|
# flatpak run --command=sh org.sleuthkit.Autopsy -c "test -x /app/bin/autopsy && echo 'Binary check passed'"
|
|
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@v4
|
|
with:
|
|
name: autopsy-flatpak
|
|
path: |
|
|
autopsy-*.flatpak
|
|
retention-days: 30
|
|
|
|
create-release:
|
|
needs: build-flatpak
|
|
if: github.event_name == 'workflow_dispatch' && github.ref == 'refs/heads/main'
|
|
runs-on: ubuntu-latest
|
|
|
|
steps:
|
|
- name: Download artifacts
|
|
uses: actions/download-artifact@v4
|
|
with:
|
|
name: autopsy-flatpak
|
|
|
|
- name: Create Release
|
|
uses: softprops/action-gh-release@v1
|
|
with:
|
|
tag_name: flatpak-${{ github.event.inputs.autopsy_version || 'autopsy-4.22.1' }}
|
|
name: Autopsy Flatpak ${{ github.event.inputs.autopsy_version || 'autopsy-4.22.1' }}
|
|
body: |
|
|
# Autopsy Flatpak Release
|
|
|
|
## Installation
|
|
|
|
```bash
|
|
# Install from bundle
|
|
flatpak install autopsy-${{ github.event.inputs.autopsy_version || 'autopsy-4.22.1' }}.flatpak
|
|
|
|
# Run Autopsy
|
|
flatpak run org.sleuthkit.Autopsy
|
|
```
|
|
|
|
## Requirements
|
|
- Flatpak runtime installed
|
|
- GNOME Platform 47
|
|
|
|
Built from upstream sources.
|
|
files: |
|
|
autopsy-*.flatpak
|
|
draft: false
|
|
prerelease: false
|
|
env:
|
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|