Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adm 409 #49

Open
wants to merge 598 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
598 commits
Select commit Hold shift + click to select a range
8c241ed
ADM-360 handle ConversionException
huijunnnn Feb 2, 2023
bf75539
ADM-358 add test cases to config step
fengxinhou Feb 5, 2023
86003ee
ADM-358 add test when the button is not clicked
fengxinhou Feb 5, 2023
eb4b47f
ADM-358 add blank line to test case
fengxinhou Feb 5, 2023
ca68227
ADM-358 add e2e test to config step
fengxinhou Feb 5, 2023
5fafab3
ADM-360 add needed fields jira board config response body
Devonzhang Feb 6, 2023
07a4f87
ADM-360 add needed fields to board config response
Devonzhang Feb 6, 2023
b62ea6d
ADM-360 add service to map column data for jira
Devonzhang Feb 6, 2023
7314fb8
ADM-360 add constructor for jackson
Devonzhang Feb 6, 2023
e5b2863
ADM-360 delete unused jira response field
Devonzhang Feb 6, 2023
2766d49
ADM-360 extract jira board response fixture
Devonzhang Feb 6, 2023
97ce3ca
ADM-358 add project name condition verification
fengxinhou Feb 6, 2023
50f57f3
ADM-358 add project name input test
fengxinhou Feb 6, 2023
6984d79
ADM-360 add message for request body validator
huijunnnn Feb 6, 2023
07b3e37
Merge branch 'ADM-360' of github.com:au-heartbeat/HeartBeat into ADM-360
huijunnnn Feb 6, 2023
bc5b63c
ADM-360 customize MethodArgumentNotValidException handler
Devonzhang Feb 6, 2023
d1cfbd7
ADM-360 handle unsupported board type exception
Devonzhang Feb 6, 2023
038151d
ADM-358 add require data and fix project name type
fengxinhou Feb 6, 2023
0496506
ADM-360 rename typo
Devonzhang Feb 7, 2023
1139d2f
ADM-358 install mui date picker dependency packages
LanxinWang Feb 7, 2023
5c5d1a7
ADM-358 add some Date range picker tests
LanxinWang Feb 7, 2023
a223783
ADM-358 implement Date range picker
LanxinWang Feb 7, 2023
9fb300e
ADM-358 add basic Date range picker css style
LanxinWang Feb 7, 2023
4277f2e
ADM-358 add DateRangePicker component into ConfigStep
LanxinWang Feb 7, 2023
64fba8c
ADM-358 extract constants
LanxinWang Feb 7, 2023
a30b6b7
ADM-358 extract constants
LanxinWang Feb 7, 2023
e9f83fa
ADM-358 refactor function
LanxinWang Feb 7, 2023
adb8428
ADM-358 refactor code
fengxinhou Feb 7, 2023
341d56a
ADM-358 add project name and require data test
fengxinhou Feb 7, 2023
faba1fc
Merge remote-tracking branch 'origin/ADM-358' into ADM-358
LanxinWang Feb 7, 2023
3c9c243
ADM-358 remove next button and back button to configStep
LanxinWang Feb 7, 2023
f6ffa04
ADM-358 extract constant
LanxinWang Feb 7, 2023
e098e82
ADM-358 fix tests
LanxinWang Feb 7, 2023
4c3e63f
ADM-358 refactor metrics e2e test
fengxinhou Feb 7, 2023
dd7542b
Merge pull request #135 from au-heartbeat/ADM-357
guzhongren Feb 7, 2023
c26fbae
ADM-358 add DateRangePicker css style
LanxinWang Feb 8, 2023
878ce8e
ADM-358 add ButtonGroup css padding style
LanxinWang Feb 8, 2023
b46523c
ADM-358 extract textFiled css style
LanxinWang Feb 8, 2023
5c1a733
ADM-358 fix issue about start date is after end date show tip(red color)
LanxinWang Feb 8, 2023
198afe0
ADM-358 fix test
LanxinWang Feb 8, 2023
a6636de
ADM-358 fix router test about sometimes test fail
LanxinWang Feb 8, 2023
249bed1
ADM-358 add Metrics test
LanxinWang Feb 8, 2023
4207b52
ADM-358 fix dateRangePicker tests
LanxinWang Feb 8, 2023
5cf96d7
Merge branch 'ADM-358' of github.com:au-heartbeat/HeartBeat into ADM-358
fengxinhou Feb 8, 2023
ea8060b
ADM-358 change e2e test run speed
fengxinhou Feb 8, 2023
bdff762
ADM-358 add config page e2e tests
fengxinhou Feb 8, 2023
e3c0f9f
ADM-358 change e2e script for running on desktop
fengxinhou Feb 8, 2023
266d7f5
ADM-358 delete useless code
LanxinWang Feb 8, 2023
fb16ec9
ADM-358 fix codacy issues
LanxinWang Feb 8, 2023
b6810e7
chore(deps): update dependency prettier to v2.8.4
renovate[bot] Feb 8, 2023
a160e7d
ADM-358 fix pr comment
fengxinhou Feb 9, 2023
11eb9d5
Merge branch 'main' into ADM-358
LanxinWang Feb 9, 2023
16fec43
Update MetricsStepper.test.tsx
LanxinWang Feb 9, 2023
1082797
Update fixtures.ts
LanxinWang Feb 9, 2023
2a3fada
Update metrics.test.ts
LanxinWang Feb 9, 2023
055180e
ADM-358 fix constant value
fengxinhou Feb 9, 2023
7b0886c
Merge pull request #139 from au-heartbeat/ADM-358
fengxinhou Feb 9, 2023
2c78885
ADM-359 create board component
LanxinWang Feb 9, 2023
a72532e
ADM-359 test board component title
LanxinWang Feb 9, 2023
7c153b4
ADM-359 extract the RequiredData section as a MetricsTypeCheckbox com…
fengxinhou Feb 9, 2023
65f2772
ADM-359 extract the MetricsTypeCheckbox component test from ConfigStep
fengxinhou Feb 9, 2023
d30af93
ADM-359 add board type selection and extract constant
fengxinhou Feb 9, 2023
7601afd
ADM-359 delete useless code
fengxinhou Feb 9, 2023
3294697
ADM-359 render board types and extract constant
fengxinhou Feb 9, 2023
3664ee4
ADM-359 add board type selection test
fengxinhou Feb 9, 2023
145b7bc
ADM-359 add e2e test to board component
fengxinhou Feb 9, 2023
8186539
ADM-359 refactor e2e test
fengxinhou Feb 9, 2023
ed968cf
ADM-359 finish board fields
LanxinWang Feb 9, 2023
7660ca7
ADM-359 extract constants
LanxinWang Feb 9, 2023
1a6a01c
ADM-359 move up variable
LanxinWang Feb 9, 2023
4683a26
ADM-359 add test for email field valid
LanxinWang Feb 9, 2023
04d9d7b
ADM-359 delete useless code
LanxinWang Feb 9, 2023
870ad45
Merge pull request #138 from au-heartbeat/ADM-360
devonzhang-tw Feb 10, 2023
59c7a2b
ADM-359 add board component style
fengxinhou Feb 10, 2023
de9ed7c
ADM-359 select one(more) of Velocity, Cycle time and Classification, …
LanxinWang Feb 10, 2023
bf157bf
ADM-359 add tests about selecting one(more) of Velocity, Cycle time a…
LanxinWang Feb 10, 2023
9183967
ADM-359 add verify button and change the dimension unit px to rem
fengxinhou Feb 10, 2023
665b190
ADM-359 change board border radius
fengxinhou Feb 10, 2023
2514801
fix(deps): update dependency org.projectlombok:lombok to v1.18.26
renovate[bot] Feb 10, 2023
7eae604
fix(deps): update dependency org.springframework.cloud:spring-cloud-s…
renovate[bot] Feb 10, 2023
e80f76c
ADM-359 fix project name checking rule
LanxinWang Feb 10, 2023
3e4834c
ADM-359 add tests for Auto-fill endDate when filling start date.
LanxinWang Feb 13, 2023
93716cc
ADM-359 implement Auto-fill endDate when filling start date.
LanxinWang Feb 13, 2023
f99f044
ADM-359 fix codacy interface function type
LanxinWang Feb 13, 2023
1bcff1e
ADM-359 add test for focus project name and no filling letter
LanxinWang Feb 13, 2023
82f1fe0
ADM-359 add test for hidden board component when cancel MetricsTypeCh…
LanxinWang Feb 13, 2023
ee27991
ADM-359 add test for clearing other fields information when change bo…
LanxinWang Feb 13, 2023
060e4a9
ADM-359 clear other fields information when change board field selection
LanxinWang Feb 13, 2023
2781afc
ADM-359 extract constants
LanxinWang Feb 13, 2023
9db747e
ADM-359 test for clearing all fields information when click reset button
LanxinWang Feb 13, 2023
6cbdd48
ADM-359 implement reset button click to clear all fields information
LanxinWang Feb 13, 2023
76807ce
ADM-358 fix e2e test
fengxinhou Feb 13, 2023
4f4031f
ADM-358 fix e2e test
fengxinhou Feb 13, 2023
57b0d70
ADM-359 fix pr comments
LanxinWang Feb 13, 2023
d754426
ADM-359 delete useless code
LanxinWang Feb 13, 2023
64f92ef
ADM-359 add test for show reset button when verify succeed
LanxinWang Feb 13, 2023
74de1d3
ADM-359 implement verify button and click verify button show reset bu…
LanxinWang Feb 13, 2023
c0c0715
ADM-359 extract duplicate code
LanxinWang Feb 13, 2023
8345b4e
ADM-359 fix reset button test
LanxinWang Feb 13, 2023
ed39336
ADM-359 when click reset button,fields information cleared and reset …
LanxinWang Feb 13, 2023
e430a17
ADM-358 test e2e
guzhongren Feb 13, 2023
0a78c86
ADM-358 increase worker to test
guzhongren Feb 13, 2023
0ea9816
ADM-359 enabled verify button when all fields checked correctly given…
LanxinWang Feb 14, 2023
b4ec6e4
ADM-359 implement verify button enabled when all fields checked corre…
LanxinWang Feb 14, 2023
bdfc404
ADM-359 refactor reset button handle
LanxinWang Feb 14, 2023
510437b
ADM-359 test for expecting verify button is disabled when click reset…
LanxinWang Feb 14, 2023
3e02f0a
ADM-359 implement verify button is disabled when click reset button
LanxinWang Feb 14, 2023
b182298
ADM-359 refactor test fillBoardFieldsInformation function
LanxinWang Feb 14, 2023
6e5fd01
Merge branch 'main' into ADM-359
LanxinWang Feb 14, 2023
7b269a6
ADM-358 refactor with POM
guzhongren Feb 14, 2023
84199bb
ADM-358 add e2e test of metrics steps
fengxinhou Feb 14, 2023
857f08c
ADM-358 add e2e test of project name
fengxinhou Feb 14, 2023
f54d84f
ADM-358 add e2e test of collection date
fengxinhou Feb 14, 2023
a9fab2c
ADM-358 add e2e test of datePicker
fengxinhou Feb 14, 2023
c60ea67
ADM-358 add e2e test of requireData
fengxinhou Feb 14, 2023
bf7b7bd
ADM-358 refactor e2e test of metrics
fengxinhou Feb 14, 2023
42330be
ADM-358 refactor
guzhongren Feb 15, 2023
ee5cd6b
ADM-358 delete useless code
fengxinhou Feb 15, 2023
9525683
Merge pull request #146 from au-heartbeat/ADM-358
fengxinhou Feb 15, 2023
bc4dba4
Merge branch 'main' into ADM-359
LanxinWang Feb 15, 2023
07629d0
ADM-358 fix test assertion
LanxinWang Feb 15, 2023
c78ab05
ADM-359 add loading animation to verify process
fengxinhou Feb 15, 2023
507d3ba
Merge branch 'main' into ADM-359
fengxinhou Feb 15, 2023
6c22e56
ADM-358 add video for tracing the issue
guzhongren Feb 15, 2023
5c2a742
ADM-359 fix test description
LanxinWang Feb 15, 2023
ffd52f5
ADM-359 add tests for board slice
LanxinWang Feb 15, 2023
ac4a898
ADM-359 implement board slice
LanxinWang Feb 15, 2023
98c89b0
ADM-359 fix tests about providing board redux store
LanxinWang Feb 15, 2023
0b9b487
ADM-359 refactor tests
LanxinWang Feb 15, 2023
b71ae17
ADM-359 test for connecting verify and reset button with calendar rad…
LanxinWang Feb 15, 2023
f0c2d66
ADM-359 implement for connecting verify and reset button with calenda…
LanxinWang Feb 15, 2023
c589103
ADM-359 refactor judge verify button is enabled function
LanxinWang Feb 15, 2023
48b8b8a
ADM-358 add cypress
guzhongren Feb 16, 2023
56fd442
ADM-359 add tests for store project name into redux
LanxinWang Feb 16, 2023
9427f51
ADM-359 create config Slice to store project name into redux
LanxinWang Feb 16, 2023
d6c7b67
ADM-359 add config Slice into store config
LanxinWang Feb 16, 2023
391cbb9
ADM-359 use redux project name to replace hooks project name
LanxinWang Feb 16, 2023
e6528e4
ADM-358 pipeline e2
guzhongren Feb 16, 2023
54ecef6
ADM-359 test for use redux to store calendar type
LanxinWang Feb 16, 2023
a830b42
ADM-359 redactor using redux to replace store calendar type
LanxinWang Feb 16, 2023
11558fe
ADM-358 change e2e from playwright to cypress
guzhongren Feb 16, 2023
2f4c4e3
ADM-359 refactor using redux to replace store date range
LanxinWang Feb 16, 2023
2203db4
ADM-359 fix tests using store
LanxinWang Feb 16, 2023
6d07649
ADM-359 extract setupStoreUtil
LanxinWang Feb 16, 2023
fa06e83
ADM-359 refactor using redux to replace hooks to store required data
LanxinWang Feb 16, 2023
2763f4d
ADM-359 fix tests using store
LanxinWang Feb 16, 2023
2a4b4c0
Merge pull request #148 from au-heartbeat/358-e2e
guzhongren Feb 16, 2023
3702299
ADM-359 refactor using redux to replace hooks to store board fields i…
LanxinWang Feb 16, 2023
9b67815
ADM-359 refactor test
LanxinWang Feb 16, 2023
f3d73da
ADM-359 move up function
LanxinWang Feb 16, 2023
41a0569
ADM-359 add json-server and axios package
fengxinhou Feb 17, 2023
48c22dc
ADM-359 create db.json file
fengxinhou Feb 17, 2023
fbe0b61
ADM-359 test axios request
fengxinhou Feb 17, 2023
6d5a0e6
ADM-359 verify board request service
fengxinhou Feb 17, 2023
b91618f
ADM-359 test verify button
fengxinhou Feb 17, 2023
e371e6b
ADM-359 submit board fields request
fengxinhou Feb 17, 2023
0f0c513
ADM-359 fix test error
fengxinhou Feb 17, 2023
b6d12d8
chore(deps): update dependency @testing-library/react to v14
renovate[bot] Feb 17, 2023
49e23bf
ADM-359 merge main branch commit
fengxinhou Feb 17, 2023
05ab41b
ADM-359 fix test error
fengxinhou Feb 17, 2023
c3d7596
ADM-359 delete useless file
fengxinhou Feb 17, 2023
4982b77
ADM-359 update pnpm-lock file
fengxinhou Feb 17, 2023
9f7b42f
ADM-359 fix typo
guzhongren Feb 17, 2023
e109108
ADM-359 remove playwright config
guzhongren Feb 17, 2023
51bc38d
ADM-359 update title
guzhongren Feb 17, 2023
3389bc0
ADM-359 refactor
guzhongren Feb 17, 2023
ec23604
chore(deps): update dependency gradle to v8
renovate[bot] Feb 17, 2023
3791b7e
ADM-359 remove unused package @testing-library/react-hooks
guzhongren Feb 18, 2023
ad5b32e
ADM-359 refactor
guzhongren Feb 18, 2023
afd751e
ADM-359 fix axios error when testing
guzhongren Feb 18, 2023
b5c030c
ADM-359 delete useless code
fengxinhou Feb 19, 2023
6bba3ec
ADM-359 add board service test
fengxinhou Feb 19, 2023
219a6f9
ADM-359 add board service logic code
fengxinhou Feb 19, 2023
57e672a
ADM-359 add msw package
fengxinhou Feb 19, 2023
bc78d42
ADM-359 add board verify loading test
fengxinhou Feb 19, 2023
729c89e
ADM-359 add board verify loading logic code
fengxinhou Feb 19, 2023
7da70c3
ADM-359 delete useless code
fengxinhou Feb 19, 2023
fea1da9
ADM-359 resolve git conflicts
fengxinhou Feb 19, 2023
51980fd
ADM-359 delete json-server package
fengxinhou Feb 19, 2023
3b75886
ADM-359 delete useless code
fengxinhou Feb 19, 2023
6ccc40c
Merge pull request #145 from au-heartbeat/renovate/gradle-8.x
guzhongren Feb 20, 2023
d7e6e69
ADM-359 add verify button click event test
fengxinhou Feb 21, 2023
1698193
Merge branch 'main' into ADM-359
fengxinhou Feb 21, 2023
d713f96
ADM-359 add board e2e test
fengxinhou Feb 21, 2023
acb91a5
ADM-359 fix board test error
fengxinhou Feb 21, 2023
ccbc813
rename folder name 'metrics' to 'Metrics'
spadio9587 Feb 21, 2023
64463c0
delete store folder and move 'store.ts' file to src folder
spadio9587 Feb 21, 2023
adc253f
rename 'matrics' to 'Matrics' in path and rename 'service' folder to …
spadio9587 Feb 21, 2023
baac4f8
add CONFIG_TITLE of 'Board'
spadio9587 Feb 21, 2023
6466b62
modify import dayjs
spadio9587 Feb 21, 2023
6bec3cb
fix test error
spadio9587 Feb 21, 2023
3842443
fix boxShadow settings
spadio9587 Feb 21, 2023
12aec73
fix test code format and modify test description of loading animation…
spadio9587 Feb 21, 2023
2bc3288
ADM-359 re-verify when switch board type
fengxinhou Feb 22, 2023
8e50a1c
chore(deps): update gradle docker tag to v8.0.1
renovate[bot] Feb 21, 2023
994df60
ADM-359 rename and move useAppDispatch file seat
fengxinhou Feb 22, 2023
1e1c76a
ADM-384 Setup stubby for config mock - request and response
bhan-tw Feb 21, 2023
d69dab3
ADM-359 change test url
fengxinhou Feb 22, 2023
c29cb3a
ADM-359 create httpClient and boardClient
fengxinhou Feb 22, 2023
0b6ad40
ADM-359 refactor board service
fengxinhou Feb 22, 2023
a07bcca
ADM-359 verify board and add loading animation
fengxinhou Feb 22, 2023
e6b4f1d
ADM-384 Add readme for stub
bhan-tw Feb 22, 2023
079c3f6
ADM-359 rename boardService
fengxinhou Feb 22, 2023
f6e72a7
Merge branch 'main' into ADM-359
fengxinhou Feb 23, 2023
0b835d8
ADM-359 fix any type in the useVerifyBoardState file
fengxinhou Feb 23, 2023
a06f7d8
ADM-359 refactor code
LanxinWang Feb 23, 2023
cf89226
ADM-359 fix test
LanxinWang Feb 23, 2023
7ded532
ADM-359 delete useless code
LanxinWang Feb 23, 2023
4ea9465
ADM-359 verify button is disable during sending request
LanxinWang Feb 23, 2023
9320801
ADM-359 fix test because async request
LanxinWang Feb 23, 2023
da86318
ADM-359 rename getBoardFields to GetBoardFields
fengxinhou Feb 23, 2023
19b5a5c
ADM-359 inline function
LanxinWang Feb 23, 2023
bac8357
ADM-359 refactor code,reducing data changes from redux
LanxinWang Feb 23, 2023
8ec7d27
ADM-359 fix backend codacy issue
LanxinWang Feb 23, 2023
7d97a3d
ADM-359 fix frontend codacy issue
LanxinWang Feb 23, 2023
79f34d5
chore(deps): update plugin org.springframework.boot to v3.0.3
renovate[bot] Feb 23, 2023
e1f8cdb
Merge branch 'main' into ADM-359
LanxinWang Feb 24, 2023
a67eb4a
Merge pull request #141 from au-heartbeat/ADM-359
LanxinWang Feb 24, 2023
820fb3f
chore(deps): update plugin io.spring.javaformat to v0.0.38
renovate[bot] Feb 24, 2023
6eabd84
Revert "ADM-359"
LanxinWang Feb 24, 2023
c6096b3
ADM-359 Revert with format files
Feb 24, 2023
2046740
Merge pull request #155 from au-heartbeat/revert-141-ADM-359
davidwangcn9 Feb 24, 2023
ebe645a
fix(deps): update dependency pmd to v6.55.0
renovate[bot] Feb 25, 2023
3124eae
fix(deps): update dependency checkstyle to v10.8.0
renovate[bot] Feb 26, 2023
a6c233a
ADM-384 fix the STUBS_PORT to 4323
LYabstract Feb 28, 2023
ebec3f7
Merge pull request #151 from au-heartbeat/ADM-384
guzhongren Mar 1, 2023
a9eca22
ADM-309 feat: return GithubResponse when send get request with github…
allenzph Mar 5, 2023
1db19ab
ADM-309 feat: return BadRequest when send get request with blank gith…
allenzph Mar 5, 2023
adaab03
ADM-309 refactor: edit url to restful url and move files
allenzph Mar 6, 2023
f9bcd4e
ADM-309 feat: return repos when token is correct
allenzph Mar 6, 2023
9a73378
ADM-309 fix: format style
allenzph Mar 6, 2023
a6c39d4
ADM-309 refactor: rename api, rename serviceName and add clear annota…
allenzph Mar 7, 2023
665743a
ADM-309 feat: return repos with organization name and remove duplicat…
allenzph Mar 7, 2023
6b42416
ADM-309 log: add log in GithubService
allenzph Mar 7, 2023
ef9a18d
ADM-309 log: add log in GithubService
allenzph Mar 7, 2023
757ec6c
ADM-309 feat: add token pattern check for GithubController
allenzph Mar 7, 2023
a26b9d2
ADM-309 format: format code style
allenzph Mar 7, 2023
6bcb1b9
ADM-309 feat: throw RequestFailedException when call GithubApi with w…
allenzph Mar 8, 2023
cc40f73
ADM-309 refactor: add githubFeignClient configuration in application.yml
allenzph Mar 8, 2023
527a121
ADM-380 reset to remove IP of ec2
guzhongren Mar 20, 2023
394d6de
ADM-380 fix: modify the environment variable of mockserver url
LYabstract Mar 21, 2023
ad31b0d
ADM-408 add unit test for buildkiteservice
bhan-tw Mar 21, 2023
e19b0ca
ADM-407 add test for RestResponseEntityExceptionHandler
bhan-tw Mar 21, 2023
c0181a4
Merge pull request #253 from au-heartbeat/ADM-408-add-test-for-buildk…
bhan-tw Mar 21, 2023
a0b81ff
Merge pull request #251 from au-heartbeat/ADM-380
guzhongren Mar 21, 2023
1396f52
ADM-405 fix: ThreadPoolConfig.
Mar 21, 2023
6ac81c0
ADM-406 fix: CacheConfigTest.
Mar 21, 2023
cb09cbb
Merge pull request #255 from au-heartbeat/ADM-405
leeranzhi Mar 21, 2023
3c48c97
Merge pull request #254 from au-heartbeat/ADM-407-add-test-for-rest-r…
leeranzhi Mar 21, 2023
51c1b74
ADM-409 Added the tags for AWS EC2 instance
Mar 21, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
4 changes: 4 additions & 0 deletions frontend/.editorconfig → .editorconfig
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,10 @@ trim_trailing_whitespace = true
[*.ts]
quote_type = single

[*.java]
indent_style = tab
indent_size = 4

[*.md]
max_line_length = off
trim_trailing_whitespace = false
6 changes: 5 additions & 1 deletion .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,7 @@
## Summary

...

## Before

_Description_
Expand All @@ -12,4 +16,4 @@ _Description_

## Note

_Null_
_Null_
296 changes: 283 additions & 13 deletions .github/workflows/BuildAndDeploy.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,125 @@
name: Build and Deploy

on:
workflow_run:
workflows:
- Backend
types:
- completed
push:
branches: ["*"]
pull_request:
branches: ["main"]
workflow_dispatch:


jobs:
build-and-push-image:
if: ${{ github.event_name != 'pull_request' }}
security-check:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
with:
fetch-depth: 0
ref: ${{ github.head_ref }}
- name: trufflehog-actions-scan
uses: edplato/trufflehog-actions-scan@master
backend-check:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./backend
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: ${{ vars.JAVA_VERSION }}
distribution: "adopt"
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Set up Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: ${{ vars.GRADLE_VERSION }}
- name: Test and check
run: ./gradlew clean check
- name: Build
run: ./gradlew clean build
- name: Upload Test Report to Codacy
run: |
export CODACY_PROJECT_TOKEN=${{secrets.CODACY_PROJECT_TOKEN}}
bash <(curl -Ls https://coverage.codacy.com/get.sh)
backend-license-check:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./backend
steps:
- uses: actions/checkout@v3
- name: Set up JDK
uses: actions/setup-java@v3
with:
java-version: ${{ vars.JAVA_VERSION }}
distribution: "adopt"
- name: Validate Gradle wrapper
uses: gradle/wrapper-validation-action@v1
- name: Set up Gradle
uses: gradle/gradle-build-action@v2
with:
gradle-version: ${{ vars.GRADLE_VERSION }}
- name: License check
run: ./gradlew clean checkLicense
- uses: actions/upload-artifact@v3
if: ${{ failure() }}
with:
name: backend-license-report
path: backend/build/reports/dependency-license/
retention-days: ${{ vars.RETENTION_DAYS }}
frontend-check:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./frontend
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ vars.NODE_VERSION }}
- name: Install & Lint
run: |
npm install -g pnpm
pnpm install
pnpm lint
- name: Testing and coverage
run: |
pnpm coverage
- name: Building
run: pnpm build
- name: Upload Test Report to Codacy
run: |
export CODACY_PROJECT_TOKEN=${{secrets.CODACY_PROJECT_TOKEN}}
bash <(curl -Ls https://coverage.codacy.com/get.sh)
frontend-license-check:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./frontend
steps:
- uses: actions/checkout@v3
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: ${{ vars.NODE_VERSION }}
- name: Install
run: |
npm install
- name: License compliance check
run: |
npm run license-compliance

build-backend:
if: ${{ github.ref == 'refs/heads/main' }}
needs:
- frontend-check
- backend-check
- security-check
- frontend-license-check
- backend-license-check
runs-on: ubuntu-latest
permissions:
id-token: write
Expand All @@ -21,7 +129,7 @@ jobs:
uses: actions/checkout@v3

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v1
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: ${{ secrets.AWS_GITHUB_ACTION_ROLE }}
aws-region: ${{ secrets.AWS_REGION}}
Expand All @@ -40,6 +148,33 @@ jobs:
docker build -t $REGISTRY/$REPOSITORY:${{ github.run_number }} ./ -f ./infra/Dockerfile.backend
docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG
docker push $REGISTRY/$REPOSITORY:${{ github.run_number }}

build-frontend:
if: ${{ github.ref == 'refs/heads/main' }}
needs:
- frontend-check
- backend-check
- security-check
- frontend-license-check
- backend-license-check
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: Checkout repo
uses: actions/checkout@v3

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: ${{ secrets.AWS_GITHUB_ACTION_ROLE }}
aws-region: ${{ secrets.AWS_REGION}}

- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1

- name: Build, tag, and push for Frontend
env:
REGISTRY: ${{ steps.login-ecr.outputs.registry }}
Expand All @@ -51,10 +186,144 @@ jobs:
docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG
docker push $REGISTRY/$REPOSITORY:${{ github.run_number }}

build-mock-server:
if: ${{ github.ref == 'refs/heads/main' }}
needs:
- frontend-check
- backend-check
- security-check
- frontend-license-check
- backend-license-check
runs-on: ubuntu-latest
permissions:
id-token: write
contents: read
steps:
- name: Checkout repo
uses: actions/checkout@v3

- name: Configure AWS credentials
uses: aws-actions/configure-aws-credentials@v2
with:
role-to-assume: ${{ secrets.AWS_GITHUB_ACTION_ROLE }}
aws-region: ${{ secrets.AWS_REGION}}

- name: Login to Amazon ECR
id: login-ecr
uses: aws-actions/amazon-ecr-login@v1

- name: Build, tag, and push for MockServer
if: ${{ contains(github.event.head_commit.message, '[stub]') }}
env:
REGISTRY: ${{ steps.login-ecr.outputs.registry }}
REPOSITORY: mock_server
IMAGE_TAG: latest
run: |
docker build -t $REGISTRY/$REPOSITORY:$IMAGE_TAG ./ -f ./infra/Dockerfile.stub
docker build -t $REGISTRY/$REPOSITORY:${{ github.run_number }} ./ -f ./infra/Dockerfile.stub
docker push $REGISTRY/$REPOSITORY:$IMAGE_TAG
docker push $REGISTRY/$REPOSITORY:${{ github.run_number }}

deploy-e2e:
runs-on: ubuntu-latest
needs:
- build-backend
- build-frontend
steps:
- name: Checkout repo
uses: actions/checkout@v3
- name: Update docker-compose.yaml
run: |
sed -i -e 's/heartbeat_backend:latest/${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_HOST }}\/heartbeat_backend:${{ github.run_number }}/g' infra/docker-compose.yml
sed -i -e 's/heartbeat_frontend:latest/${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_HOST }}\/heartbeat_frontend:${{ github.run_number }}/g' infra/docker-compose.yml

- name: Copy docker-compose to ec2
uses: appleboy/scp-action@master
with:
host: ${{ secrets.AWS_EC2_IP_E2E }}
username: ${{ secrets.AWS_USERNAME }}
key: ${{ secrets.AWS_PRIVATE_KEY }}
port: ${{ secrets.AWS_SSH_PORT }}
source: "./infra/docker-compose.yml"
target: "./"
strip_components: 1

- name: Deploy
uses: appleboy/ssh-action@master
env:
REGISTRY: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_HOST }}
IMAGE_TAG: ${{ github.run_number }}
with:
host: ${{ secrets.AWS_EC2_IP_E2E }}
username: ${{ secrets.AWS_USERNAME }}
key: ${{ secrets.AWS_PRIVATE_KEY }}
port: ${{ secrets.AWS_SSH_PORT }}
script: |
aws ecr get-login-password --region ${{ secrets.AWS_REGION }} | docker login --username AWS --password-stdin ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_HOST }}
cp "./infra/docker-compose.yml" ./
# docker-compose down
if [[ -n $(docker images -f label=app=Heartbeat -q) ]]; then docker rmi -f $(docker images -f label=app=Heartbeat -q); fi
docker pull $REGISTRY/heartbeat_backend:$IMAGE_TAG
docker pull $REGISTRY/heartbeat_frontend:$IMAGE_TAG
SPRING_PROFILES_ACTIVE=e2e MOCK_SERVER_URL=${{ secrets.AWS_EC2_IP_MOCK_SERVER }}:${{ secrets.AWS_EC2_IP_E2E_PORT }} docker-compose up -d frontend

deploy-stub:
runs-on: ubuntu-latest
needs:
- build-mock-server
steps:
- name: Checkout repo
uses: actions/checkout@v3

- name: Deploy
if: ${{ contains(github.event.head_commit.message, '[stub]') }}
uses: appleboy/ssh-action@master
env:
REGISTRY: ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_HOST }}
IMAGE_TAG: ${{ github.run_number }}
with:
host: ${{ secrets.AWS_EC2_IP_MOCK_SERVER }}
username: ${{ secrets.AWS_USERNAME }}
key: ${{ secrets.AWS_PRIVATE_KEY }}
port: ${{ secrets.AWS_SSH_PORT }}
script: |
aws ecr get-login-password --region ${{ secrets.AWS_REGION }} | docker login --username AWS --password-stdin ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_HOST }}
docker rm -f mockserver
if [[ -n $(docker images -f label=app=Heartbeat -q) ]]; then docker rmi -f $(docker images -f label=app=Heartbeat -q); fi
docker pull ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_HOST }}/mock_server:latest
docker run --name mockserver -d -p ${{ secrets.AWS_EC2_IP_E2E_PORT }}:${{ secrets.AWS_EC2_IP_E2E_PORT }} ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_HOST }}/mock_server:latest
e2e:
runs-on: ubuntu-latest
defaults:
run:
working-directory: ./frontend
needs:
- deploy-e2e
- deploy-stub
steps:
- name: Checkout repo
uses: actions/checkout@v3
with:
node-version: ${{ vars.NODE_VERSION }}
- name: Install dependencies
run: |
npm install -g pnpm
pnpm install
- name: Run E2E
env:
APP_ORIGIN: ${{ vars.APP_HTTP_SCHEDULE }}://${{ secrets.AWS_EC2_IP }}:${{ secrets.APP_PORT }}
run: pnpm run e2e
- uses: actions/upload-artifact@v3
if: always()
with:
name: cypress-videos
path: frontend/cypress/videos/
retention-days: ${{ vars.RETENTION_DAYS }}

deploy:
runs-on: ubuntu-latest
needs:
- build-and-push-image
- e2e
steps:
- name: Checkout repo
uses: actions/checkout@v3
Expand Down Expand Up @@ -87,8 +356,9 @@ jobs:
script: |
aws ecr get-login-password --region ${{ secrets.AWS_REGION }} | docker login --username AWS --password-stdin ${{ secrets.AWS_ACCOUNT_ID }}.dkr.ecr.${{ secrets.AWS_HOST }}
cp "./infra/docker-compose.yml" ./
docker-compose down
docker rmi -f $(docker images -f label=app=HeartBeat -q)
# docker-compose down
if [[ -n $(docker images -f label=app=Heartbeat -q) ]]; then docker rmi -f $(docker images -f label=app=Heartbeat -q); fi
docker pull $REGISTRY/heartbeat_backend:$IMAGE_TAG
docker pull $REGISTRY/heartbeat_frontend:$IMAGE_TAG
docker-compose up -d frontend
docker-compose up -d frontend

34 changes: 34 additions & 0 deletions .github/workflows/Docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Docs
on:
push:
branches:
- main
workflow_dispatch:

defaults:
run:
working-directory: ./docs

jobs:
deploy:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3
- name: Use lts Node.js
uses: actions/setup-node@v3
with:
node-version: 16.18.0
- name: Install & Lint
run: |
npm install -g pnpm
pnpm install
pnpm lint
- name: Build docs
run: pnpm build
- name: Deploy to github pages
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_dir: ./docs/dist
publish_branch: gh-pages
Loading