-
Notifications
You must be signed in to change notification settings - Fork 52
71 lines (69 loc) · 2.4 KB
/
deb-sanity-builds.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
name: Sanity Debian package build
on:
schedule:
- cron: '00 14 * * *'
workflow_dispatch:
jobs:
ppa_update:
name: Sync PPA history with monorepo
runs-on: [self-hosted, linux, jammy, large]
timeout-minutes: 1200 #20h, this will timeout sooner due to inner timeouts
steps:
- name: Install dependencies
run: |
sudo apt update -qq
sudo apt install -qq -y python3-launchpadlib
- name: Checkout checkbox monorepo
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: Wandalen/wretry.action/main@v3.4.0_js_action
name: Make LP pull the monorepo
env:
LP_CREDENTIALS: ${{ secrets.LP_CREDS }}
PYTHONUNBUFFERED: 1
with:
attempt_delay: 6000 # 1 min
attempt_limit: 60 # max 1 hour of retries
command: |
tools/release/lp_request_import.py "~checkbox-dev/checkbox/+git/checkbox"
ppa_build:
name: Trigger and monitor PPA builds
runs-on: [self-hosted, linux, jammy, large]
needs: ppa_update
timeout-minutes: 1200 #20h, this will timeout sooner due to inner timeouts
strategy:
fail-fast: false
matrix:
recipe:
- checkbox-contrib-pc-sanity-edge
steps:
- name: Install dependencies
run: |
sudo apt update -qq
sudo apt install -qq -y python3-launchpadlib
- name: Checkout checkbox monorepo
uses: actions/checkout@v4
with:
fetch-depth: 0
- uses: Wandalen/wretry.action/main@v3.4.0_js_action
name: Update the recipe in the checkbox PPA
env:
LP_CREDENTIALS: ${{ secrets.LP_CREDS }}
PYTHONUNBUFFERED: 1
with:
attempt_delay: 6000 # 1 min
attempt_limit: 60 # max 1 hour of retries
command: |
tools/release/lp_update_recipe.py checkbox --recipe ${{ matrix.recipe }} --new-version $(tools/release/get_version.py --dev-suffix --output-format deb) --revision $GITHUB_SHA
- uses: Wandalen/wretry.action/main@v3.4.0_js_action
name: Build and wait result
timeout-minutes: 780 # 13hours
env:
LP_CREDENTIALS: ${{ secrets.LP_CREDS }}
PYTHONUNBUFFERED: 1
with:
attempt_delay: 60000 # 10min
attempt_limit: 3
command: |
tools/release/lp_build_monitor_recipe.py checkbox ${{ matrix.recipe }}