Sanity Debian package build #234
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | |
persist-credentials: false | |
- uses: Wandalen/wretry.action/[email protected]_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 | |
persist-credentials: false | |
- uses: Wandalen/wretry.action/[email protected]_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/[email protected]_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 }} |