Skip to content

Commit

Permalink
Add flatpak workflow for GitHub Actions (#1772)
Browse files Browse the repository at this point in the history
* Add flatpak workflow for GitHub Actions

* Also run on workflow_dispatch

* Match avogadroapp - use src directory, add tmate debugging, add cleanup step

Signed-off-by: Matthew J. Milner <[email protected]>

---------

Signed-off-by: Matthew J. Milner <[email protected]>
  • Loading branch information
matterhorn103 authored Nov 14, 2024
1 parent e37b03b commit 13450ae
Showing 1 changed file with 101 additions and 0 deletions.
101 changes: 101 additions & 0 deletions .github/workflows/flatpak.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
name: Build Flatpak

on: [push, pull_request, workflow_dispatch]

jobs:
flatpak:
name: "Flatpak"
runs-on: ubuntu-latest

steps:
- name: Install dependencies
run: sudo apt update -qq && sudo apt install -y -qq flatpak flatpak-builder

- name: Configure flatpak
run: flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo

- name: Configure git
run: git config --global protocol.file.allow always
# Have to do this because for a while git's handling of submodules was broken
# See https://github.com/flatpak/flatpak-builder/issues/495

- name: Checkout openchemistry
uses: actions/checkout@v4
with:
repository: openchemistry/openchemistry
submodules: false
path: openchemistry

- name: Checkout avogadroapp
uses: actions/checkout@v4
with:
repository: openchemistry/avogadroapp
path: openchemistry/avogadroapp

- name: Checkout avogadrolibs
uses: actions/checkout@v4
with:
path: openchemistry/avogadrolibs

- name: Checkout i18n
uses: actions/checkout@v4
with:
repository: openchemistry/avogadro-i18n
path: openchemistry/avogadro-i18n

- name: Checkout avogadrogenerators
uses: actions/checkout@v4
with:
repository: openchemistry/avogenerators
path: openchemistry/avogadrogenerators

- name: Checkout crystals
uses: actions/checkout@v4
with:
repository: openchemistry/crystals
path: openchemistry/crystals

- name: Checkout fragments
uses: actions/checkout@v4
with:
repository: openchemistry/fragments
path: openchemistry/fragments

- name: Checkout molecules
uses: actions/checkout@v4
with:
repository: openchemistry/molecules
path: openchemistry/molecules

- name: Checkout Flathub shared-modules
uses: actions/checkout@v4
with:
repository: flathub/shared-modules
path: shared-modules

- name: Set up tmate session
if: failure()
uses: mxschmitt/action-tmate@v3

- name: Move manifest
run: mv openchemistry/avogadroapp/flatpak/org.openchemistry.Avogadro2.yaml ./

- name: Build with flatpak-builder
run: flatpak-builder --force-clean --user --install-deps-from=flathub --arch=x86_64 --default-branch=test --repo=repo builddir org.openchemistry.Avogadro2.yaml

- name: Create bundle
run: flatpak build-bundle repo Avogadro2.flatpak org.openchemistry.Avogadro2 test

- name: Upload bundle
uses: actions/upload-artifact@v4
with:
path: Avogadro2.flatpak

- name: Cleanup
if: ${{ always() }} # To ensure this step runs even when earlier steps fail
shell: bash
run: |
ls -la ./
rm -rf ./* || true
rm -rf ./.??* || true
ls -la ./

0 comments on commit 13450ae

Please sign in to comment.