-
Notifications
You must be signed in to change notification settings - Fork 28
122 lines (117 loc) · 3.92 KB
/
test.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
name: Build and Test
concurrency:
group: ${{ github.workflow }}-${{ github.ref_name }}-${{ github.event_name }}
cancel-in-progress: true
on:
push:
tags:
- "v*.*.*-rc*"
- "v*.*-rc*"
schedule:
- cron: "0 1 * * *" #UTC
pull_request:
workflow_dispatch:
inputs:
arch:
description: "Architecture to build the image for (amd64/arm64)"
type: choice
default: "amd64"
options:
- "amd64"
- "arm64"
build_target:
description: "Mage build target"
type: choice
default: "prod"
options:
- "prod"
- "dev"
build_scope:
description: "Mage build scope"
type: choice
default: "with ML"
options:
- "with ML"
- "without ML"
memgraph_version:
description: "Memgraph version built into this image (format: X.Y.Z). You can leave empty if using custom download link."
type: string
required: false
memgraph_download_link:
description: "Memgraph package download link. Leave empty to use the official download link."
type: string
required: false
memgraph_ref:
type: string
description: "Memgraph submodule branch to build query modules from"
default: 'master'
memgraph_ref_update:
type: boolean
description: "Update Memgraph submodule to the latest commit"
default: true
jobs:
RC_test:
if: github.ref_type == 'tag'
strategy:
fail-fast: false
matrix:
mg_version: ["2.21.0"]
mg_rc_version: ["rc1"]
arch: ["amd64", "arm64"]
build_target: ["prod", "dev"]
build_scope: ["with ML", "without ML"]
uses: ./.github/workflows/reusable_test.yml
with:
arch: "${{ matrix.arch }}"
build_target: "${{ matrix.build_target }}"
build_scope: "${{ matrix.build_scope }}"
memgraph_ref: "v${{ matrix.mg_version }}-${{ matrix.mg_rc_version }}"
memgraph_ref_update: "false"
memgraph_download_link: "s3://deps.memgraph.io/memgraph/v${{ matrix.mg_version }}-${{ matrix.mg_rc_version }}/debian-11${{ matrix.arch == 'arm64' && '-aarch64' || '' }}${{ matrix.build_scope == 'dev' && '-relwithdebinfo' || '' }}/memgraph_${{ matrix.mg_version }}-1_${{ matrix.arch }}.deb"
secrets: inherit
PR_test:
if: github.event_name == 'pull_request'
strategy:
fail-fast: false
matrix:
arch: ["amd64"]
build_target: ["prod"]
build_scope: ["with ML", "without ML"]
uses: ./.github/workflows/reusable_test.yml
with:
arch: "${{ matrix.arch }}"
build_target: "${{ matrix.build_target }}"
build_scope: "${{ matrix.build_scope }}"
memgraph_version: "2.21.0"
memgraph_ref: "master"
memgraph_ref_update: "true"
secrets: inherit
Manual_test:
if: github.event_name == 'workflow_dispatch'
uses: ./.github/workflows/reusable_test.yml
with:
arch: "${{ github.event.inputs.arch }}"
build_target: "${{ github.event.inputs.build_target }}"
build_scope: "${{ github.event.inputs.build_scope }}"
memgraph_version: "${{ github.event.inputs.memgraph_version }}"
memgraph_download_link: "${{ github.event.inputs.memgraph_download_link }}"
memgraph_ref: "${{ github.event.inputs.memgraph_ref }}"
memgraph_ref_update: "${{ github.event.inputs.memgraph_ref_update }}"
secrets: inherit
Nightly_test:
if: github.event_name == 'schedule'
strategy:
fail-fast: false
matrix:
arch: ["amd64", "arm64"]
build_target: ["prod", "dev"]
build_scope: ["with ML", "without ML"]
uses: ./.github/workflows/reusable_test.yml
with:
arch: "${{ matrix.arch }}"
build_target: "${{ matrix.build_target }}"
build_scope: "${{ matrix.build_scope }}"
memgraph_version: "2.21.0"
memgraph_ref: "master"
memgraph_ref_update: "true"
secrets: inherit