-
Notifications
You must be signed in to change notification settings - Fork 119
129 lines (109 loc) · 5.24 KB
/
generate_preview_link.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
name: Generate preview link
on:
pull_request_target:
types: [opened, synchronize]
concurrency:
group: cloudflare-pages-build-${{ github.head_ref }}
cancel-in-progress: true
jobs:
build_and_deploy_preview_link:
runs-on: Ubuntu-latest
permissions:
checks: write
pull-requests: write
steps:
- name: Verify user
uses: 'deriv-com/shared-actions/.github/actions/verify_user_in_organization@v1'
with:
username: ${{github.event.pull_request.user.login}}
token: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
- name: Post preview build comment
id: post_preview_build_comment
uses: 'deriv-com/shared-actions/.github/actions/post_preview_build_comment@v1'
with:
issue_number: ${{github.event.number}}
head_sha: ${{github.event.pull_request.head.sha}}
- name: Checkout SmartCharts
uses: 'binary-com/SmartCharts/.github/actions/checkout@master'
with:
repository: ${{github.event.pull_request.user.login}}/SmartCharts
path: SmartCharts
ref: ${{github.head_ref}}
alternate_repository: 'binary-com/SmartCharts'
alternate_ref: master
- name: Checkout deriv-app
id: deriv_app
uses: 'binary-com/SmartCharts/.github/actions/checkout@master'
with:
repository: ${{github.event.pull_request.user.login}}/deriv-app
path: deriv-app
ref: ${{github.head_ref}}
alternate_repository: 'binary-com/deriv-app'
alternate_ref: master
- name: Custom flutter-chart
id: flutter_chart
uses: 'binary-com/SmartCharts/.github/actions/checkout@master'
with:
repository: ${{github.event.pull_request.user.login}}/flutter-chart
path: flutter-chart
ref: ${{github.head_ref}}
alternate_repository: 'regentmarkets/flutter-chart'
# temporary reference to an old branch
alternate_ref: fe-changes
token: ${{ secrets.REPO_READ_TOKEN }}
- uses: subosito/flutter-action@62f096cacda5168a3bd7b95793373be14fa4fbaf
with:
flutter-version: '3.10.6'
channel: 'stable'
cache: true
- name: Add SSH key
run: |
mkdir -p ~/.ssh
echo "${{ secrets.SSH_KEY }}" > ~/.ssh/github_action_key
chmod 600 ~/.ssh/github_action_key
- name: Build flutter
env:
GIT_SSH_COMMAND: 'ssh -i ~/.ssh/github_action_key'
run: |
cd SmartCharts/chart_app
flutter pub get
flutter build web --web-renderer html --release
- name: Setup Node
uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8
with:
node-version: 18.x
- name: Setup deriv-app
run: cd deriv-app && npm i -g lerna@^5.5.1 && npm run bootstrap
- name: Remove @deriv-charts in deriv-app
run: rm -rf deriv-app/node_modules/@deriv/deriv-charts/dist
- name: Setup SmartCharts
run: cd SmartCharts && npm install
- name: Build SmartCharts
run: cd SmartCharts && npm run build -- --output-path ../deriv-app/node_modules/@deriv/deriv-charts/dist
- name: Run Tests
run: cd SmartCharts && npm run test
- name: Build deriv-app
env:
NODE_ENV: 'production'
run: cd deriv-app && npm run build:all
- name: Setup Node
uses: actions/setup-node@9ced9a43a244f3ac94f13bfd896db8c8f30da67a
with:
node-version: 20
- name: Publish to CF pages branch
id: publish_to_pages_branch
uses: 'deriv-com/shared-actions/.github/actions/publish_to_pages_branch@v1'
with:
CLOUDFLARE_API_TOKEN: ${{ secrets.CLOUDFLARE_TEST_LINKS_API_TOKEN }}
CLOUDFLARE_ACCOUNT_ID: ${{ secrets.CLOUDFLARE_TEST_LINKS_ACCOUNT_ID }}
project_name: 'smartcharts-preview'
branch_name: pr-${{github.event.number}}${{ steps.deriv_app.outputs.ref_exists == 'true' && '-dtra' || ''}}${{ steps.flutter_chart.outputs.ref_exists == 'true' && '-flutt' || ''}}
output_dir: deriv-app/packages/core/dist
- name: 'Generate preview link comment'
if: always() && steps.post_preview_build_comment.outcome == 'success'
uses: 'deriv-com/shared-actions/.github/actions/post_preview_link_comment@v1'
with:
issue_number: ${{github.event.number}}
check_run_id: ${{steps.post_preview_build_comment.outputs.check_run_id}}
preview_url: ${{steps.publish_to_pages_branch.outputs.cf_pages_url}}
status: ${{job.status}}