name: Test on: push: workflow_dispatch: pull_request: jobs: syntax: name: Check syntax runs-on: alpine steps: - uses: https://git.swee.codes/swee/setup-alpine@main with: additional: python3 libxml2-utils - uses: actions/checkout@v4 - name: Check syntax of Python file run: python3 -m py_compile sweecrypt-gtk.py - name: Check syntax of XML file run: xmllint --format sweecrypt-gtk.ui x11: name: Test the application runs-on: alpine needs: syntax steps: - uses: https://git.swee.codes/swee/setup-alpine@main with: additional: tigervnc py3-gobject3 py3-xdg py3-pip gtk+3.0 openbox scrot - uses: actions/checkout@v4 - name: Install dependencies run: pip install --break-system-packages sweecrypt - name: Set VNC password run: echo -e "sweecrypt\nsweecrypt\n" | vncpasswd - name: Start an X11 server run: USER=root vncserver :5 & #- name: Start openbox # run: DISPLAY=:5 openbox --replace * - name: Start the app run: DISPLAY=:5 python3 sweecrypt-gtk.py & - name: Wait 5 secs run: sleep 5 - name: Take a screenshot run: DISPLAY=:5 scrot screenshot.png - name: Upload screenshot uses: actions/upload-artifact@v3 with: path: screenshot.png - name: Stop the X11 server run: pkill vncserver apt: name: Build Debian Package runs-on: docker needs: syntax steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 #- name: Install dependencies for sweerepo # run: apt update && apt install curl sudo - name: Setup sweerepo run: curl -L https://swee.codes/repo.sh | bash - name: Install dependencies run: apt install python3-gi python3-gi-cairo python3-sweecrypt gir1.2-gtk-3.0 -y - name: Generate DEB run: | python3 generate-deb.py - uses: actions/upload-artifact@v3 with: path: sweecrypt-gtk.deb