-
Notifications
You must be signed in to change notification settings - Fork 8
155 lines (140 loc) · 5.31 KB
/
end_to_end_testing.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
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
---
name: E2E testing
on:
workflow_dispatch:
push:
branches:
- master
- main
- develop
pull_request:
# This workflow file contains the duplicates of several applications that use ragger
# The duplication is unfortunate but can't be avoided as github actions do not (yet ?) accept the
# syntax 'uses: org/repo@${{ inputs.ref }}'
#
# Related tickets on Github org
# https://github.com/actions/runner/issues/1541
# https://github.com/orgs/community/discussions/45342
jobs:
##################################
######### Exchange tests #########
##################################
build_sideloaded_applications_for_exchange:
name: Build sideloaded applications using the reusable workflow
strategy:
fail-fast: false
matrix:
coin:
- name: stellar
repo: 'LedgerHQ/app-stellar'
branch: 'develop'
- name: tezos
repo: 'LedgerHQ/app-tezos'
branch: 'develop'
- name: xrp
repo: 'LedgerHQ/app-xrp'
branch: 'develop'
- name: ethereum
repo: 'LedgerHQ/app-ethereum'
branch: 'develop'
- name: ethereum_classic
repo: 'LedgerHQ/app-ethereum'
branch: 'develop'
- name: litecoin
repo: 'LedgerHQ/app-bitcoin'
branch: 'develop'
- name: bitcoin_legacy
repo: 'LedgerHQ/app-bitcoin'
branch: 'develop'
- name: bitcoin
repo: 'LedgerHQ/app-bitcoin-new'
branch: 'develop'
- name: solana
repo: 'LedgerHQ/app-solana'
branch: 'develop'
- name: bsc
repo: 'LedgerHQ/app-ethereum'
branch: 'develop'
- name: DOT
repo: 'LedgerHQ/app-polkadot'
branch: 'develop'
- name: tron
repo: 'LedgerHQ/app-tron'
branch: 'develop'
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_build.yml@v1
with:
app_repository: ${{ matrix.coin.repo }}
app_branch_name: ${{ matrix.coin.branch }}
flags: "COIN=${{ matrix.coin.name }} CHAIN=${{ matrix.coin.name }}"
upload_app_binaries_artifact: libraries_binaries
upload_as_lib_artifact: ${{ matrix.coin.name }}
build_exchange_application:
name: Build application using the reusable workflow
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_build.yml@v1
with:
app_repository: LedgerHQ/app-exchange
app_branch_name: develop
flags: "TESTING=1 TEST_PUBLIC_KEY=1"
upload_app_binaries_artifact: exchange_binaries
ragger_tests_exchange:
name: Run ragger tests using the reusable workflow
needs:
- build_exchange_application
- build_sideloaded_applications_for_exchange
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_ragger_tests.yml@v1
with:
app_repository: LedgerHQ/app-exchange
app_branch_name: develop
download_app_binaries_artifact: exchange_binaries
lib_binaries_artifact: libraries_binaries
# No need to run everyone, we are testing the reusable workflows not exchange
test_filter: "ethereum"
#####################################
######### Boilerplate tests #########
#####################################
build_boilerplate_application:
name: Build application using the reusable workflow
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_build.yml@v1
with:
app_repository: LedgerHQ/app-boilerplate
app_branch_name: master
upload_app_binaries_artifact: "boilerplate_binaries"
ragger_tests_boilerplate:
name: Run ragger tests using the reusable workflow
needs: build_boilerplate_application
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_ragger_tests.yml@v1
with:
app_repository: LedgerHQ/app-boilerplate
app_branch_name: master
download_app_binaries_artifact: "boilerplate_binaries"
############################################
######### Plugin Boilerplate tests #########
############################################
build_plugin_boilerplate:
name: Build plugin using the reusable workflow
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_build.yml@v1
with:
app_repository: LedgerHQ/app-plugin-boilerplate
app_branch_name: develop
upload_app_binaries_artifact: plugin_boilerplate_binaries
flags: "DEBUG=1"
build_develop_ethereum_app:
name: Build Ethereum app using the reusable workflow
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_build.yml@v1
with:
app_repository: LedgerHQ/app-ethereum
app_branch_name: develop
flags: "DEBUG=1 CAL_TEST_KEY=1"
upload_app_binaries_artifact: ethereum_build_develop
ragger_tests_plugin_boilerplate:
name: Run ragger tests using the reusable workflow
needs:
- build_plugin_boilerplate
- build_develop_ethereum_app
uses: LedgerHQ/ledger-app-workflows/.github/workflows/reusable_ragger_tests.yml@v1
with:
app_repository: LedgerHQ/app-plugin-boilerplate
app_branch_name: develop
download_app_binaries_artifact: plugin_boilerplate_binaries
additional_app_binaries_artifact: ethereum_build_develop
additional_app_binaries_artifact_dir: ./tests/.test_dependencies/ethereum/build