Skip to content

Commit ab8890c

Browse files
ci: add build-bin.yml
1 parent cbae4e1 commit ab8890c

File tree

1 file changed

+77
-0
lines changed

1 file changed

+77
-0
lines changed

.github/workflows/build-bin.yml

Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
name: Build Bin
2+
3+
on:
4+
push:
5+
branches: [ "main" ]
6+
paths-ignore:
7+
- '**/*.md'
8+
pull_request:
9+
paths-ignore:
10+
- '**/*.md'
11+
workflow_dispatch:
12+
13+
14+
jobs:
15+
build:
16+
runs-on: ubuntu-latest
17+
steps:
18+
- name: Checkout
19+
uses: actions/checkout@v6
20+
with:
21+
submodules: recursive
22+
23+
- name: Cache APT packages
24+
uses: actions/cache@v5
25+
with:
26+
path: /var/cache/apt/archives
27+
key: ${{ runner.os }}-apt-${{ hashFiles('.github/workflows/build-bin.yml') }}
28+
29+
- name: Install system dependencies
30+
run: |
31+
sudo apt update
32+
sudo apt install -y \
33+
python3 python3-lxml python3-venv python3-pip python3-dev \
34+
python3-gi python-gi-dev libgirepository-2.0-dev gir1.2-gtk-4.0 gir1.2-adw-1 \
35+
libadwaita-1-dev \
36+
libsoup-3.0-dev \
37+
blueprint-compiler \
38+
meson ninja-build build-essential pkg-config \
39+
gettext desktop-file-utils
40+
41+
- name: Setup Python virtual environment
42+
run: |
43+
python3 -m venv venv
44+
source venv/bin/activate
45+
python -m pip install --upgrade pip
46+
47+
- name: Cache pip
48+
uses: actions/cache@v5
49+
with:
50+
path: ~/.cache/pip
51+
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements.txt') }}
52+
restore-keys: |
53+
${{ runner.os }}-pip-
54+
55+
- name: Install Python dependencies
56+
run: |
57+
source venv/bin/activate
58+
pip3 install -r requirements.txt
59+
60+
- name: Setup project
61+
run: |
62+
git submodule update --init --recursive
63+
meson setup build --prefix "$GITHUB_WORKSPACE/dist"
64+
65+
- name: Build project
66+
run: |
67+
ninja -C build
68+
69+
- name: Install project
70+
run: |
71+
ninja -C build install
72+
73+
- name: Upload build artifacts
74+
uses: actions/upload-artifact@v5
75+
with:
76+
name: gradience
77+
path: dist/**/*

0 commit comments

Comments
 (0)