You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/DEV-README.md
+12-5Lines changed: 12 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -174,23 +174,26 @@ Additionally, with GraphQL, the specific test that verifies Stress Test function
174
174
175
175
Finally, if future iterators would like to completely cover the list of API-testing protocols with integration testing - there is still HTTP/2 and tRPC integration testing to be made.
176
176
177
-
### _CI/CD Pipeline_
177
+
---
178
+
179
+
## CI/CD Pipeline
180
+
181
+
### _How it works_
178
182
179
183
Continuous Integration and Continuous Development have been implemented using GitHub Actions. Here are some things to keep in mind regarding the process:
180
184
181
185
- CI tests will automatically run on any pull request
182
186
- CD packages will deploy on a successful merge request to the master branch. This will automatically deploy the packages in the GitHub Releases tab. It will create the release based on the version number so make sure the version number is correct in the codebase.
183
-
- Currently, only the Unit Tests are implemented for the CI pipeline. The integration and E2E tests use the playwright library and an electron window in order to emulate the front-end user inputs. This has been causing issues with GitHub Actions so we did not add these tests to the CI pipeline. There may be an alternative solution to implement it through Github Actions or even through other tools such as Docker.
184
-
185
-
187
+
- CD packages will deploy on EACH merge request to the master branch. Changes made to the master branch should be the final changes. However if multiple merge requests are accept to the master branch, it will create multiple releases. Please keep this in mind and delete the extra releases that are created.
188
+
186
189
In order to successfully enable the Continuous Development pipeline, do the following:
187
190
1. Create a personal GitHub Token (User Settings -> Developer Settings -> Tokens)
188
191
2. Ensure the following are selected for the token: repo (All), workflow, write:packages, user:email
189
192
3. Copy the personal token generated
190
193
4. Add the token to your repos secrets (Settings -> Secrets and Variables -> Actions -> Repository Secret)
191
194
After following these steps, Github Actions should have the proper permissions to write to Github Releases. This should create a draft of the release with the necessary files.
192
195
193
-
You also ensure the repo information is correct in package.json. Look at the section "publish" and ensure that the information is correct.
196
+
You should also ensure the repo information is correct in package.json. Look at the section "publish" and ensure that the information is correct.
194
197
195
198
The file for the CD workflow is createPackages.yml. Currently, it is set to run on pushing to the 'master' branch. I recommend changing this to 'dev' for testing purposes and changing it back to 'master' once the testing is complete.
196
199
@@ -203,6 +206,10 @@ The following is an alternative approach to testing new workflows before using t
203
206
204
207
The idea is to troubleshoot new workflows before applying them to the dev or main branches.
205
208
209
+
### _Improvements to the CI/CD pipeline_
210
+
211
+
- Currently, only the Unit Tests are implemented for the CI pipeline. The integration and E2E tests use the playwright library and an electron window in order to emulate the front-end user inputs. This has been causing issues with GitHub Actions so we did not add these tests to the CI pipeline. There may be an alternative solution to implement it through Github Actions or even through other tools such as Docker.
212
+
- As previously stated, each successful merge request to the master branch. Multiple of these will cause multiple releases to deployed. A future iteration could look into this so rather than creating a new release each time, it would update an existing draft if one exists.
206
213
207
214
### _How can I package and release the application without a functional CD pipeline?_
0 commit comments