Selaa lähdekoodia

ci: Add experimental Flatpak bundle

This is a simple, isolated workflow that generates Flatpak
bundles when running on the master branch, or when a pull
request has the "Seeking Testers" label.

Based on https://github.com/marketplace/actions/flatpak-builder
Georges Basile Stavracas Neto 5 vuotta sitten
vanhempi
sitoutus
44ca426483
1 muutettua tiedostoa jossa 42 lisäystä ja 0 poistoa
  1. 42 0
      .github/workflows/flatpak.yml

+ 42 - 0
.github/workflows/flatpak.yml

@@ -0,0 +1,42 @@
+name: Flatpak (Experimental)
+
+on:
+  push:
+    paths-ignore: ['**.md']
+    branches: [master]
+  pull_request:
+    paths-ignore: ['**.md']
+    branches: [master]
+
+jobs:
+  flatpak_builder:
+    name: Bundle
+    runs-on: [ubuntu-latest]
+    container:
+      image: docker.io/bilelmoussaoui/flatpak-github-actions
+      options: --privileged
+    steps:
+    - name: 'Check for Github Labels'
+      if: github.event_name == 'pull_request'
+      shell: bash
+      run: |
+        LABELS_URL="$(echo ${{ github.event.pull_request.url }} | sed s'/pulls/issues/')"
+        LABEL_FOUND="$(curl -H "Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}" "${LABELS_URL}/labels" | sed -n 's/.*"name": "\(.*\)",/\1/p' | grep 'Seeking Testers' || true)"
+        if [ "${LABEL_FOUND}" = "Seeking Testers" ]; then
+          echo "SEEKING_TESTERS=1" >> $GITHUB_ENV
+        else
+          echo "SEEKING_TESTERS=0" >> $GITHUB_ENV
+        fi
+
+    - name: Checkout
+      uses: actions/[email protected]
+      if: success() && (github.event_name != 'pull_request' || env.SEEKING_TESTERS == '1')
+      with:
+        submodules: 'recursive'
+
+    - name: Build Flatpak Manifest
+      uses: bilelmoussaoui/flatpak-github-actions@v2
+      if: success() && (github.event_name != 'pull_request' || env.SEEKING_TESTERS == '1')
+      with:
+        bundle: obs-studio-${{ github.sha }}.flatpak
+        manifest-path: CI/flatpak/com.obsproject.Studio.json