sweeCrypt-GTK/.forgejo/workflows/build.yml

69 lines
2 KiB
YAML
Raw Normal View History

2025-01-19 13:20:27 -08:00
name: Test
on:
push:
workflow_dispatch:
2025-01-20 11:28:55 -08:00
pull_request:
jobs:
2025-01-20 18:12:08 -08:00
syntax:
name: Check syntax
runs-on: docker
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Install dependencies
uses: apt update && apt install xmllib2
- 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
2025-01-19 13:20:27 -08:00
x11:
name: Test the application
runs-on: docker
2025-01-20 18:12:08 -08:00
needs: syntax
2025-01-19 13:20:27 -08:00
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
- name: Setup sweerepo
run: curl -L https://swee.codes/repo.sh | bash
- name: Install dependencies
2025-01-19 14:06:26 -08:00
run: apt install python3-gi python3-gi-cairo python3-sweecrypt gir1.2-gtk-3.0 openbox tightvncserver scrot -y
2025-01-19 13:39:54 -08:00
- name: Set VNC password
2025-01-19 13:54:04 -08:00
run: echo -e "sweecrypt\nsweecrypt\n" | vncpasswd
2025-01-19 13:20:27 -08:00
- name: Start an X11 server
2025-01-19 13:39:54 -08:00
run: USER=root vncserver :5 &
2025-01-19 14:06:26 -08:00
#- name: Start openbox
# run: DISPLAY=:5 openbox --replace *
2025-01-19 13:20:27 -08:00
- name: Start the app
run: DISPLAY=:5 python3 sweecrypt-gtk.py &
- name: Wait 5 secs
run: sleep 5
- name: Take a screenshot
2025-01-19 14:06:26 -08:00
run: DISPLAY=:5 scrot screenshot.png
2025-01-19 13:20:27 -08:00
- name: Upload screenshot
uses: actions/upload-artifact@v3
with:
2025-01-19 14:06:26 -08:00
path: screenshot.png
2025-01-19 13:31:32 -08:00
- name: Stop the X11 server
2025-01-19 13:34:48 -08:00
run: pkill vncserver
2024-12-26 20:58:23 -08:00
apt:
name: Build Debian Package
2025-01-18 18:21:06 -08:00
runs-on: docker
2025-01-20 18:12:08 -08:00
needs: syntax
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
2025-01-19 13:03:25 -08:00
#- name: Install dependencies for sweerepo
# run: apt update && apt install curl sudo
2025-01-18 18:21:06 -08:00
- name: Setup sweerepo
2025-01-19 12:58:35 -08:00
run: curl -L https://swee.codes/repo.sh | bash
- name: Install dependencies
2025-01-18 18:21:55 -08:00
run: apt install python3-gi python3-gi-cairo python3-sweecrypt gir1.2-gtk-3.0 -y
- name: Generate DEB
run: |
2025-01-18 18:21:06 -08:00
python3 generate-deb.py
2024-12-18 15:44:30 -08:00
- uses: actions/upload-artifact@v3
2024-10-12 22:58:09 -07:00
with:
2025-01-19 12:55:58 -08:00
path: sweecrypt-gtk.deb