🏡 index : quine-global-labs/mirror-cockpit-project-cockpit.git

name: flatpak-test
on:
  pull_request

jobs:
  run:
    runs-on: ubuntu-22.04
    permissions: {}
    timeout-minutes: 20
    steps:
      - name: Install required build and test dependencies
        run: |
          # disable man-db to speed up package install
          echo "set man-db/auto-update false" | sudo debconf-communicate
          sudo dpkg-reconfigure man-db

          sudo apt update
          sudo apt install -y --no-install-recommends autoconf automake elfutils libglib2.0-dev libsystemd-dev gettext flatpak xvfb asciidoctor cockpit-system appstream

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

      - name: Install flatpak-builder
        run: flatpak install --assumeyes --user org.flatpak.Builder

      - name: Clone repository
        uses: actions/checkout@v7
        with:
          # need this to also fetch tags
          fetch-depth: 0

      - name: Build and install flatpak
        run: dbus-run-session sh -x containers/flatpak/install --user --install-deps-from=flathub

      # Recent Ubuntu runners disable it by default in cloud-init config
      - name: Enable SSH password authentication
        run: |
          echo 'PasswordAuthentication yes' | sudo tee /etc/ssh/sshd_config.d/01-enable-password.conf
          sudo systemctl restart ssh

      - name: Smoke-test the installed flatpak
        run: |
          export COCKPIT_TEST_SSH_PASS=foobar
          sudo useradd -c User -s /bin/bash user
          echo user:$COCKPIT_TEST_SSH_PASS | sudo chpasswd
          export COCKPIT_TEST_SSH_HOST=user@127.0.0.1

          . /etc/profile.d/flatpak.sh
          xvfb-run sh -ec '
            dbus-run-session containers/flatpak/test/test-ssh
            dbus-run-session containers/flatpak/test/test-browser
          '