-
-
Notifications
You must be signed in to change notification settings - Fork 15
135 lines (105 loc) · 3.03 KB
/
CI-master.yml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
name: CI master
on:
workflow_dispatch:
push:
branches:
- 'master'
jobs:
lint-vala:
name: Lint vala files
runs-on: ubuntu-latest
container:
image: valalang/lint
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Lint Vala
run: io.elementary.vala-lint -d . -c vala-lint.conf
lint-blp:
name: Lint blueprint ui files
runs-on: ubuntu-latest
needs: lint-vala
container:
image: ubuntu:latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
- name: Update apt cache
run: apt-get update
- name: Install blueprint-compiler Blueptint
run: apt-get install -y blueprint-compiler
- name: Lint Blueprint
run: blueprint-compiler format -s 2 data/ui/*.blp
checkers:
name: Run checkers
runs-on: ubuntu-latest
needs: lint-blp
container:
image: ubuntu:latest
steps:
- name: Checkout repository
uses: actions/checkout@v4
# - name: Run indentation checker
# run: python3 .checkers/indentation_checker.py
# - name: Run empty lines checker
# run: python3 .checkers/empty_lines_checker.py
flatter:
name: Build Repo
runs-on: ubuntu-latest
needs: checkers
container:
image: ghcr.io/andyholmes/flatter/gnome:master
options: --privileged
strategy:
matrix:
arch: [aarch64, x86_64]
fail-fast: false
max-parallel: 1
steps:
- name: Checkout
uses: actions/checkout@v4
# - name: Set up Flatpak
# run: |
# dnf update -y
# dnf install -y flatpak
# flatpak remote-add --if-not-exists gnome-nightly https://nightly.gnome.org/gnome-nightly.flatpakrepo
# flatpak update -y
# - name: Install org.freedesktop.Sdk.Extension.vala-nightly
# run: |
# flatpak install -y org.freedesktop.Sdk.Extension.vala-nightly//23.08
- name: Setup QEMU
if: ${{ matrix.arch == 'aarch64' }}
id: qemu
uses: docker/setup-qemu-action@v3
with:
platforms: arm64
- name: Setup GPG
id: gpg
uses: crazy-max/ghaction-import-gpg@v6
with:
gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }}
passphrase: ${{ secrets.GPG_PASSPHRASE }}
- name: Build
uses: andyholmes/flatter@main
with:
files: |
build-aux/flatpak/nightly/io.github.Rirusha.Cassette-Devel.json
arch: ${{ matrix.arch }}
gpg-sign: ${{ steps.gpg.outputs.fingerprint }}
upload-bundles: true
run-tests: true
upload-pages-artifact: ${{ matrix.arch == 'x86_64' }}
deploy:
name: Deploy
runs-on: ubuntu-latest
needs: flatter
permissions:
pages: write
id-token: write
environment:
name: github-pages
url: ${{ steps.deployment.outputs.page_url }}
steps:
- name: GitHub Pages
id: deployment
uses: actions/deploy-pages@v4