58 lines
No EOL
1.6 KiB
YAML
58 lines
No EOL
1.6 KiB
YAML
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 apk-gtk3 openbox scrot font-noto-all
|
|
- 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 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
|
|
apt:
|
|
name: Build Debian Package
|
|
runs-on: docker
|
|
needs: syntax
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
- uses: actions/setup-python@v5
|
|
- name: Generate DEB
|
|
run: |
|
|
python3 generate-deb.py
|
|
- uses: actions/upload-artifact@v3
|
|
with:
|
|
path: sweecrypt-gtk.deb |