-
Notifications
You must be signed in to change notification settings - Fork 173
61 lines (56 loc) · 1.72 KB
/
binary-upgrade-test.yml
File metadata and controls
61 lines (56 loc) · 1.72 KB
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
name: Binary Upgrade Test
on:
workflow_dispatch:
inputs:
base_tag:
description: "Base docker tag to start from (empty = latest YYYYMMDD tag)"
required: false
default: ""
upgrade_tag:
description: "Upgrade docker tag to roll to (must exist in ghcr.io)"
required: false
default: "main"
jobs:
binary-upgrade-test:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
scenario:
- vanilla
- new-from-old-fs
- new-from-old-pg
- old-from-new-fs
- old-from-new-pg
name: binary-upgrade-test (${{ matrix.scenario }})
steps:
- uses: actions/checkout@v6
with:
fetch-tags: true
- uses: taiki-e/install-action@just
- uses: astral-sh/setup-uv@v8.1.0
- name: Pull docker images
env:
BASE_TAG: ${{ inputs.base_tag }}
UPGRADE_TAG: ${{ inputs.upgrade_tag }}
UPGRADE_PULL: "1"
run: |
set -o pipefail
./binary-upgrade-tests/run.py --pull-only | sed -e 's/^/binary-upgrade: /;'
- name: Run binary upgrade test
env:
BASE_TAG: ${{ inputs.base_tag }}
UPGRADE_TAG: ${{ inputs.upgrade_tag }}
UPGRADE_PULL: "1"
run: |
set -o pipefail
timeout -v 2400 ./binary-upgrade-tests/run.py --scenario ${{ matrix.scenario }} \
| sed -e "s/^/binary-upgrade(${{ matrix.scenario }}): /;"
- name: Upload compose logs
if: always()
uses: actions/upload-artifact@v7
with:
name: compose-logs-${{ matrix.scenario }}
path: tmp/compose-logs/
retention-days: 1
if-no-files-found: ignore