Compare commits

..

121 Commits

Author SHA1 Message Date
standardci 0b4570ebee chore(release): publish new version
- @standardnotes/api-gateway@1.46.13
 - @standardnotes/auth-server@1.87.14
 - @standardnotes/files-server@1.9.17
 - @standardnotes/revisions-server@1.10.30
2023-02-09 11:02:48 +00:00
Karol Sójko 5bbdc7e426 fix: performance of startup sequence in supervisor controlled self-hosting setup 2023-02-09 11:23:51 +01:00
standardci a1d60630a0 chore(release): publish new version
- @standardnotes/api-gateway@1.46.12
 - @standardnotes/auth-server@1.87.13
 - @standardnotes/files-server@1.9.16
 - @standardnotes/revisions-server@1.10.29
 - @standardnotes/syncing-server@1.29.15
2023-02-09 10:05:20 +00:00
Karol Sójko e96fd6d69e fix: optimize memory usage 2023-02-09 10:23:10 +01:00
Karol Sójko 1423b3fc35 chore: change workflow name 2023-02-08 11:52:52 +01:00
Karol Sójko fd10b4d585 chore: fix supervisor startup sequence 2023-02-08 11:37:21 +01:00
Karol Sójko 8a79437668 chore: fix startup procedure for self hosting 2023-02-08 11:02:05 +01:00
Karol Sójko 85a87dc40a chore: change container names 2023-02-07 15:15:40 +01:00
Karol Sójko 95aa0a0024 chore: add e2e test suite triggerable externally 2023-02-07 14:19:11 +01:00
Karol Sójko d0c44d1376 chore: add example local setup 2023-02-07 14:12:29 +01:00
Karol Sójko b0e31ff305 chore: fix deployment workflows 2023-02-07 11:18:43 +01:00
Karol Sójko f11569ac53 chore: fix missing exposed ports in setup 2023-02-07 10:46:36 +01:00
Karol Sójko fbf7a61bc9 chore: fix build cache on publishing workflow 2023-02-07 10:26:59 +01:00
Karol Sójko 2265165fa3 chore: fix publishing workflow 2023-02-07 10:25:43 +01:00
Karol Sójko b216b17ef5 chore: adjust number of output lines on error logs 2023-02-07 10:22:04 +01:00
Karol Sójko b2c7b924ac chore: remove creating .env file for ci 2023-02-07 09:45:00 +01:00
Karol Sójko 1349f950c9 chore: fix ci setup for docker compose 2023-02-07 09:42:40 +01:00
Karol Sójko f1c398a3a4 chore: fix .env file 2023-02-07 09:37:07 +01:00
Karol Sójko 369231ff11 chore: fix mysql character set 2023-02-07 09:35:29 +01:00
Karol Sójko 271dee5be6 chore: fix env vars for infra host bindings 2023-02-07 08:40:55 +01:00
Karol Sójko a0c8f40e7b chore: fix redis host binding 2023-02-07 07:51:53 +01:00
Karol Sójko 4db0aef0ff chore: switch to docker compose setup on e2e workflow 2023-02-07 07:35:10 +01:00
Karol Sójko 5ed9bd243f chore: add logs to e2e procedure 2023-02-07 07:15:20 +01:00
Karol Sójko 2c53306f5a chore: fix is-available script with a timeout 2023-02-07 07:09:38 +01:00
Karol Sójko a3624357dc chore: simplify building process for e2e testing purposes 2023-02-07 07:00:22 +01:00
Karol Sójko afe0be31f2 chore: fix waiting for self hosted setup to startup 2023-02-07 06:55:36 +01:00
Karol Sójko 71854b704d chore: add published ports to e2e test suite 2023-02-06 16:15:34 +01:00
Karol Sójko 0907773d6f chore: fix required steps for docker buildx 2023-02-06 15:41:49 +01:00
standardci 787eedc8af chore(release): publish new version
- @standardnotes/analytics@2.19.16
 - @standardnotes/api-gateway@1.46.11
 - @standardnotes/auth-server@1.87.12
 - @standardnotes/files-server@1.9.15
 - @standardnotes/revisions-server@1.10.28
 - @standardnotes/scheduler-server@1.16.19
 - @standardnotes/syncing-server@1.29.14
 - @standardnotes/websockets-server@1.5.20
 - @standardnotes/workspace-server@1.19.23
2023-02-06 14:37:52 +00:00
Karol Sójko 040a2b5e5f chore: fix e2e workflow 2023-02-06 15:35:49 +01:00
Karol Sójko 347ee275fa Merge pull request #437 from standardnotes/supervisor
feat: self-hosted setup with one container
2023-02-06 15:34:44 +01:00
Karol Sójko 1c0a9e6726 fix: e2e test suite 2023-02-06 15:34:26 +01:00
Karol Sójko c4f038ab9a remove @ from common 2023-02-06 15:29:50 +01:00
Karol Sójko 3746ac5fc1 change branch 2023-02-06 15:29:18 +01:00
Karol Sójko 5c4353dd0c extract e2e suite 2023-02-06 15:28:14 +01:00
Karol Sójko f64caed220 fix: remove login docker from pr 2023-02-06 15:10:51 +01:00
Karol Sójko 863d590292 fix: dockerfile build output 2023-02-06 15:08:03 +01:00
Karol Sójko 0dcf64c82b fix: using mocha 2023-02-06 14:59:24 +01:00
Karol Sójko 48fd5c5ff6 fix: remove command from workflow services 2023-02-06 14:53:16 +01:00
Karol Sójko 84fa374072 fix: workflow env vars 2023-02-06 14:52:28 +01:00
Karol Sójko 2313b0b450 fix: eof empty line 2023-02-06 14:51:18 +01:00
Karol Sójko 4fa6f579af run e2e tests on pr 2023-02-06 14:48:26 +01:00
Karol Sójko 08c1328932 add publishing self hosting image 2023-02-06 13:49:18 +01:00
Karol Sójko 4586308210 add missing depepndabot checks 2023-02-06 13:38:18 +01:00
Karol Sójko 5aa561dcb2 add localstack 2023-02-06 13:35:58 +01:00
Karol Sójko e07612fe24 remove redis events channels 2023-02-06 11:31:47 +01:00
Karol Sójko c9289204c4 revisions setup 2023-02-06 11:20:11 +01:00
Karol Sójko 51bb1081a6 files setup 2023-02-06 07:33:16 +01:00
Karol Sójko 25066bb33c syncing server setup 2023-02-06 07:12:25 +01:00
Karol Sójko bfdb176445 running auth setup 2023-02-06 06:52:11 +01:00
Karol Sójko 42233fa756 auth & auth-worker wip 2023-02-03 17:44:30 +01:00
Karol Sójko 55de4319ed feat: add initial supervisor setup 2023-02-03 11:26:06 +01:00
standardci 306f6edd4e chore(release): publish new version
- @standardnotes/auth-server@1.87.11
2023-02-02 13:52:33 +00:00
Karol Sójko bf55bbccd9 Revert "fix(auth): disallow adding u2f devices if a user does not have 2fa enabled"
This reverts commit 11bcd318ab.
2023-02-02 14:50:41 +01:00
standardci 6e26c0a0be chore(release): publish new version
- @standardnotes/auth-server@1.87.10
2023-02-02 12:59:22 +00:00
Karol Sójko 11bcd318ab fix(auth): disallow adding u2f devices if a user does not have 2fa enabled 2023-02-02 13:57:27 +01:00
standardci 2f6d19dc91 chore(release): publish new version
- @standardnotes/auth-server@1.87.9
2023-02-02 10:33:14 +00:00
Karol Sójko 989e1ce175 fix(auth): verification rpid options 2023-02-02 11:31:31 +01:00
standardci 1c2fd46401 chore(release): publish new version
- @standardnotes/auth-server@1.87.8
2023-02-02 08:23:06 +00:00
Karol Sójko b7967b34d1 fix(auth): allow defining multiple expected origins upon u2f registration and verification 2023-02-02 09:21:11 +01:00
standardci 44dfa37852 chore(release): publish new version
- @standardnotes/analytics@2.19.15
 - @standardnotes/api-gateway@1.46.10
 - @standardnotes/auth-server@1.87.7
 - @standardnotes/domain-events-infra@1.9.68
 - @standardnotes/event-store@1.6.68
 - @standardnotes/files-server@1.9.14
 - @standardnotes/revisions-server@1.10.27
 - @standardnotes/scheduler-server@1.16.18
 - @standardnotes/syncing-server@1.29.13
 - @standardnotes/websockets-server@1.5.19
 - @standardnotes/workspace-server@1.19.22
2023-01-30 12:07:23 +00:00
Karol Sójko a06e3c7e74 Merge pull request #431 from standardnotes/aws-sdk-upgrade
feat: aws sdk upgrade
2023-01-30 13:05:58 +01:00
Karol Sójko b54c331bef fix: sqs configuration for aws sdk v3 2023-01-30 12:49:14 +01:00
Karol Sójko 8216fe5e36 chore: add script to build a local version of a service 2023-01-30 09:52:57 +01:00
Karol Sójko b5c9c4b188 chore: add running all e2e tess in parallel 2023-01-30 08:40:47 +01:00
Karol Sójko 86bd617933 chore: refactor PR workflow 2023-01-30 08:32:19 +01:00
Karol Sójko eb771e7932 refactor: upgrade aws sdk to v3 2023-01-27 15:56:52 +01:00
standardci 5ea91aeafc chore(release): publish new version
- @standardnotes/auth-server@1.87.6
2023-01-26 13:51:01 +00:00
Karol Sójko 3c67290aeb fix(auth): add migration for fixing credential id column type 2023-01-26 14:48:25 +01:00
standardci f9f6c2f9be chore(release): publish new version
- @standardnotes/auth-server@1.87.5
2023-01-26 13:24:24 +00:00
Karol Sójko a92e8f61bc fix(auth): credential id column type in authenticators 2023-01-26 14:22:09 +01:00
Karol Sójko e739683bb6 chore: fix x64 deps 2023-01-26 13:15:34 +01:00
standardci f4a743593d chore(release): publish new version
- @standardnotes/analytics@2.19.14
 - @standardnotes/api-gateway@1.46.9
 - @standardnotes/auth-server@1.87.4
 - @standardnotes/event-store@1.6.67
 - @standardnotes/files-server@1.9.13
 - @standardnotes/revisions-server@1.10.26
 - @standardnotes/scheduler-server@1.16.17
 - @standardnotes/syncing-server@1.29.12
 - @standardnotes/websockets-server@1.5.18
 - @standardnotes/workspace-server@1.19.21
2023-01-25 14:24:09 +00:00
Karol Sójko f93e49ecf3 chore: upgrade node to 18.13.0 2023-01-25 15:21:26 +01:00
standardci d6325a42ea chore(release): publish new version
- @standardnotes/api-gateway@1.46.8
 - @standardnotes/auth-server@1.87.3
2023-01-25 12:25:57 +00:00
Karol Sójko ef997be219 refactor: generating authentication options 2023-01-25 13:24:02 +01:00
standardci b6eadfcebc chore(release): publish new version
- @standardnotes/auth-server@1.87.2
 - @standardnotes/revisions-server@1.10.25
 - @standardnotes/syncing-server@1.29.11
 - @standardnotes/websockets-server@1.5.17
 - @standardnotes/workspace-server@1.19.20
2023-01-24 13:20:28 +00:00
Karol Sójko e4c65ca631 fix(auth): add pseudo u2f params on non existing accounts 2023-01-24 14:17:59 +01:00
standardci 2d2342f9ee chore(release): publish new version
- @standardnotes/analytics@2.19.13
 - @standardnotes/auth-server@1.87.1
 - @standardnotes/common@1.46.5
 - @standardnotes/revisions-server@1.10.24
 - @standardnotes/syncing-server@1.29.10
 - @standardnotes/websockets-server@1.5.16
 - @standardnotes/workspace-server@1.19.19
2023-01-24 12:48:21 +00:00
Karol Sójko 60838a1b7e chore: replace ErrorTag with usage from @standardnotes/api 2023-01-24 13:46:20 +01:00
standardci 63401b7640 chore(release): publish new version
- @standardnotes/auth-server@1.87.0
2023-01-24 11:14:52 +00:00
Karol Sójko 6a5b669ec4 feat(auth): add U2F to MFA verification 2023-01-24 12:12:51 +01:00
standardci ca201447d2 chore(release): publish new version
- @standardnotes/auth-server@1.86.4
2023-01-24 10:19:45 +00:00
Karol Sójko f1d3117518 fix(auth): add cleanup of authenticator devices upon sign in with recovery codes 2023-01-24 11:17:51 +01:00
standardci 8559948a5a chore(release): publish new version
- @standardnotes/auth-server@1.86.3
2023-01-24 08:36:36 +00:00
Karol Sójko a3b4aa3b4a Revert "fix(auth): fido options user verification as discouraged"
This reverts commit 3d475cc779.
2023-01-24 09:34:37 +01:00
standardci 0347fa381f chore(release): publish new version
- @standardnotes/auth-server@1.86.2
2023-01-24 07:26:23 +00:00
Karol Sójko 3d475cc779 fix(auth): fido options user verification as discouraged 2023-01-24 08:24:25 +01:00
standardci ceec74fb70 chore(release): publish new version
- @standardnotes/auth-server@1.86.1
2023-01-24 05:43:19 +00:00
Karol Sójko f5296a947e fix(auth): buffer types on authenticator credentials 2023-01-24 06:40:54 +01:00
standardci 5b5fcd9372 chore(release): publish new version
- @standardnotes/auth-server@1.86.0
2023-01-23 14:33:52 +00:00
Karol Sójko c38817c62e feat(auth): add configurable user verification requirement on u2f via env vars 2023-01-23 15:31:49 +01:00
standardci ba08c6a707 chore(release): publish new version
- @standardnotes/auth-server@1.85.0
2023-01-23 12:55:06 +00:00
Karol Sójko 1797bc8181 feat(auth): add configuring u2f expect origin 2023-01-23 13:53:10 +01:00
standardci 657aaf75ec chore(release): publish new version
- @standardnotes/auth-server@1.84.11
2023-01-23 10:47:04 +00:00
Karol Sójko dac3c733b3 chore: fix cbor-extract dependencies 2023-01-23 11:44:35 +01:00
standardci d02b6b67b5 chore(release): publish new version
- @standardnotes/auth-server@1.84.10
2023-01-23 10:30:43 +00:00
Karol Sójko 52ce5f3a2f fix(auth): upgrade simplewebauthn types 2023-01-23 11:28:36 +01:00
Karol Sójko 1d316e17cb chore: upgrade @simplewebauthn packages 2023-01-23 11:08:07 +01:00
Karol Sójko 6193f4b87a chore: upgrade eslint-config-prettier 2023-01-23 11:08:06 +01:00
standardci de5a30e46c chore(release): publish new version
- @standardnotes/auth-server@1.84.9
 - @standardnotes/revisions-server@1.10.23
 - @standardnotes/websockets-server@1.5.15
 - @standardnotes/workspace-server@1.19.18
2023-01-23 09:56:32 +00:00
Karol Sójko 973acd22ca chore: fix dependecies 2023-01-23 10:53:40 +01:00
standardci e235293070 chore(release): publish new version
- @standardnotes/auth-server@1.84.8
 - @standardnotes/revisions-server@1.10.22
 - @standardnotes/websockets-server@1.5.14
 - @standardnotes/workspace-server@1.19.17
2023-01-20 17:04:09 +00:00
Karol Sójko 07ab67faa8 chore: upgrade dependencies 2023-01-20 18:01:59 +01:00
standardci e6fce8cbc7 chore(release): publish new version
- @standardnotes/auth-server@1.84.7
 - @standardnotes/revisions-server@1.10.21
 - @standardnotes/syncing-server@1.29.9
 - @standardnotes/websockets-server@1.5.13
 - @standardnotes/workspace-server@1.19.16
2023-01-20 13:53:37 +00:00
Karol Sójko 589f8e62f4 fix: dependency issues 2023-01-20 14:51:34 +01:00
Karol Sójko 27f45f7cf6 fix(websockets): bundling issue 2023-01-20 14:43:11 +01:00
Karol Sójko 48af4ac79c chore: upgrade @standardnotes/* dependencies 2023-01-20 14:31:23 +01:00
standardci 9b6baab1e0 chore(release): publish new version
- @standardnotes/analytics@2.19.12
 - @standardnotes/api-gateway@1.46.7
 - @standardnotes/auth-server@1.84.6
 - @standardnotes/domain-events-infra@1.9.67
 - @standardnotes/domain-events@2.106.2
 - @standardnotes/event-store@1.6.66
 - @standardnotes/files-server@1.9.12
 - @standardnotes/revisions-server@1.10.20
 - @standardnotes/scheduler-server@1.16.16
 - @standardnotes/syncing-server@1.29.8
 - @standardnotes/websockets-server@1.5.12
 - @standardnotes/workspace-server@1.19.15
2023-01-20 13:30:38 +00:00
Karol Sójko 3ba4e712dc chore: remove circular dep 2023-01-20 14:27:54 +01:00
Karol Sójko 5bf3ecdf42 Revert "chore: upgrade @standardnotes/* dependencies"
This reverts commit bd6fd472a6.
2023-01-20 14:26:58 +01:00
Karol Sójko bd6fd472a6 chore: upgrade @standardnotes/* dependencies 2023-01-20 14:08:55 +01:00
standardci 7f4776b52b chore(release): publish new version
- @standardnotes/analytics@2.19.11
 - @standardnotes/api-gateway@1.46.6
 - @standardnotes/auth-server@1.84.5
 - @standardnotes/common@1.46.4
 - @standardnotes/domain-core@1.11.2
 - @standardnotes/domain-events-infra@1.9.66
 - @standardnotes/domain-events@2.106.1
 - @standardnotes/event-store@1.6.65
 - @standardnotes/files-server@1.9.11
 - @standardnotes/predicates@1.6.5
 - @standardnotes/revisions-server@1.10.19
 - @standardnotes/scheduler-server@1.16.15
 - @standardnotes/security@1.7.6
 - @standardnotes/settings@1.19.1
 - @standardnotes/sncrypto-node@1.13.1
 - @standardnotes/syncing-server@1.29.7
 - @standardnotes/time@1.14.1
 - @standardnotes/websockets-server@1.5.11
 - @standardnotes/workspace-server@1.19.14
2023-01-20 10:59:12 +00:00
Karol Sójko d20f03127a chore(deps): upgrade eslint tools 2023-01-20 10:16:04 +01:00
Karol Sójko 4b6c7774e0 chore: bring back e2e tests 2023-01-20 09:54:30 +01:00
standardci d02bca8879 chore(release): publish new version
- @standardnotes/auth-server@1.84.4
2023-01-20 00:06:06 +00:00
moughxyz 5e654ccf94 temp: disable e2e tests 2023-01-19 18:03:54 -06:00
standardci 7d3e5c22fb chore(release): publish new version
- @standardnotes/auth-server@1.84.2
2023-01-19 23:29:14 +00:00
moughxyz 23eb61ee5f refactor: offlineRoles => roles 2023-01-19 17:27:20 -06:00
standardci 2cded4b2d1 chore(release): publish new version
- @standardnotes/auth-server@1.84.1
 - @standardnotes/syncing-server@1.29.6
2023-01-19 23:25:55 +00:00
moughxyz ba7662fc1e fix: strings for role names 2023-01-19 17:23:58 -06:00
474 changed files with 7609 additions and 4159 deletions
+13
View File
@@ -0,0 +1,13 @@
dist
coverage
.yarn/*
!.yarn/cache
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/unplugged
!.yarn/sdks
!.yarn/versions
data/*
+12
View File
@@ -1,6 +1,18 @@
######
# DB #
######
DB_HOST=db
DB_PORT=3306
DB_USERNAME=std_notes_user
DB_PASSWORD=changeme123
DB_DATABASE=standard_notes_db
DB_DEBUG_LEVEL=all
DB_MIGRATIONS_PATH=dist/migrations/*.js
#########
# CACHE #
#########
REDIS_PORT=6379
REDIS_HOST=cache
+21
View File
@@ -0,0 +1,21 @@
PUBLIC_FILES_SERVER_URL=http://localhost:3125
DB_HOST=db
DB_USERNAME=std_notes_user
DB_PASSWORD=changeme123
DB_DATABASE=standard_notes_db
REDIS_PORT=6379
REDIS_HOST=cache
AUTH_SERVER_ACCESS_TOKEN_AGE=4
AUTH_SERVER_REFRESH_TOKEN_AGE=10
AUTH_SERVER_EPHEMERAL_SESSION_AGE=300
SYNCING_SERVER_REVISIONS_FREQUENCY=5
AUTH_SERVER_LOG_LEVEL=debug
SYNCING_SERVER_LOG_LEVEL=debug
FILES_SERVER_LOG_LEVEL=debug
REVISIONS_SERVER_LOG_LEVEL=debug
API_GATEWAY_LOG_LEVEL=debug
MYSQL_DATABASE=standard_notes_db
MYSQL_USER=std_notes_user
MYSQL_PASSWORD=changeme123
MYSQL_ROOT_PASSWORD=changeme123
+10
View File
@@ -55,6 +55,11 @@ updates:
schedule:
interval: "daily"
- package-ecosystem: "npm"
directory: "/packages/revisions"
schedule:
interval: "daily"
- package-ecosystem: "npm"
directory: "/packages/scheduler"
schedule:
@@ -85,6 +90,11 @@ updates:
schedule:
interval: "daily"
- package-ecosystem: "npm"
directory: "/packages/websockets"
schedule:
interval: "daily"
- package-ecosystem: "npm"
directory: "/packages/workspace"
schedule:
+4 -4
View File
@@ -11,9 +11,9 @@ on:
workflow_dispatch:
jobs:
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
with:
service_name: analytics
workspace_name: "@standardnotes/analytics"
@@ -22,7 +22,7 @@ jobs:
secrets: inherit
newrelic:
needs: call_server_utility_workflow
needs: call_server_application_workflow
runs-on: ubuntu-latest
-1
View File
@@ -17,7 +17,6 @@ jobs:
with:
service_name: api-gateway
workspace_name: "@standardnotes/api-gateway"
e2e_tag_parameter_name: api_gateway_image_tag
deploy_worker: false
package_path: packages/api-gateway
secrets: inherit
-1
View File
@@ -17,7 +17,6 @@ jobs:
with:
service_name: auth
workspace_name: "@standardnotes/auth-server"
e2e_tag_parameter_name: auth_image_tag
package_path: packages/auth
secrets: inherit
+8 -7
View File
@@ -6,9 +6,6 @@ on:
service_name:
required: true
type: string
bundle_dir:
required: true
type: string
package_path:
required: true
type: string
@@ -32,13 +29,17 @@ jobs:
steps:
- uses: actions/checkout@v3
- name: Create Bundle Dir
id: bundle-dir
run: echo "temp_dir=$(mktemp -d -t ${{ inputs.service_name }}-${{ github.sha }}-XXXXXXX)" >> $GITHUB_OUTPUT
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ inputs.bundle_dir }}
${{ steps.bundle-dir.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
@@ -53,7 +54,7 @@ jobs:
- name: Bundle
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ inputs.bundle_dir }}
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ steps.bundle-dir.outputs.temp_dir }}
- name: Login to Docker Hub
uses: docker/login-action@v2
@@ -85,8 +86,8 @@ jobs:
uses: docker/build-push-action@v3
with:
builder: ${{ steps.buildx.outputs.name }}
context: ${{ inputs.bundle_dir }}
file: ${{ inputs.bundle_dir }}/${{ inputs.package_path }}/Dockerfile
context: ${{ steps.bundle-dir.outputs.temp_dir }}
file: ${{ steps.bundle-dir.outputs.temp_dir }}/${{ inputs.package_path }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
+66
View File
@@ -0,0 +1,66 @@
name: Reusable Run E2E Test Suite Workflow
on:
workflow_call:
inputs:
snjs_image_tag:
type: string
default: latest
description: The Docker image tag used for SNJS container
secrets:
DOCKER_USERNAME:
required: true
DOCKER_PASSWORD:
required: true
AWS_ACCESS_KEY_ID:
required: true
AWS_SECRET_ACCESS_KEY:
required: true
jobs:
e2e:
runs-on: ubuntu-latest
services:
snjs:
image: standardnotes/snjs:${{ inputs.snjs_image_tag }}
ports:
- 9001:9001
mock-event-publisher:
image: standardnotes/mock-event-publisher
ports:
- 3124:3000
env:
LOG_LEVEL: debug
NODE_ENV: production
VERSION: snjs-test
SNS_TOPIC_ARN: arn:aws:sns:us-east-1:000000000000:payments-local-topic
SNS_ENDPOINT: http://localstack:4566
SNS_DISABLE_SSL: true
SNS_SECRET_ACCESS_KEY: x
SNS_ACCESS_KEY_ID: x
SNS_AWS_REGION: us-east-1
NEW_RELIC_ENABLED: false
options: >-
--name "mock-event-publisher"
steps:
- uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Run Server
run: docker compose -f docker-compose.ci.yml up -d
- name: Wait for server to start
run: docker/is-available.sh http://localhost:3123 $(pwd)/logs
- name: Connect external containers to self-hosted network
run: docker network connect --alias mock-event-publisher standardnotes_self_hosted mock-event-publisher
- name: Run E2E Test Suite
run: yarn dlx mocha-headless-chrome --timeout 1200000 -f http://localhost:9001/mocha/test.html
+54
View File
@@ -0,0 +1,54 @@
name: Reusable Publish Docker Self Hosting Image Workflow
on:
workflow_call:
secrets:
DOCKER_USERNAME:
required: true
DOCKER_PASSWORD:
required: true
AWS_ACCESS_KEY_ID:
required: true
AWS_SECRET_ACCESS_KEY:
required: true
jobs:
e2e:
name: E2E
uses: standardnotes/server/.github/workflows/common-e2e.yml@main
secrets: inherit
publish:
runs-on: ubuntu-latest
needs: e2e
steps:
- uses: actions/checkout@v3
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
- name: Publish Docker image
uses: docker/build-push-action@v3
with:
builder: ${{ steps.buildx.outputs.name }}
context: .
file: Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: |
standardnotes/server:latest
standardnotes/server:${{ github.sha }}
@@ -17,9 +17,6 @@ on:
required: false
default: true
type: boolean
e2e_tag_parameter_name:
required: false
type: string
package_path:
required: true
type: string
@@ -36,177 +33,11 @@ on:
required: true
jobs:
build:
runs-on: ubuntu-latest
outputs:
temp_dir: ${{ steps.bundle-dir.outputs.temp_dir }}
steps:
- uses: actions/checkout@v3
- name: Create Bundle Dir
id: bundle-dir
run: echo "temp_dir=$(mktemp -d -t ${{ inputs.service_name }}-${{ github.sha }}-XXXXXXX)" >> $GITHUB_OUTPUT
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ steps.bundle-dir.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
run: yarn build ${{ inputs.package_path }}
- name: Bundle
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ steps.bundle-dir.outputs.temp_dir }}
lint:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build ${{ inputs.package_path }}
- name: Lint
run: yarn lint:${{ inputs.service_name }}
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build ${{ inputs.package_path }}
- name: Test
run: yarn test ${{ inputs.package_path }}
e2e:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build ${{ inputs.package_path }}
- name: Bundle
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ needs.build.outputs.temp_dir }}
- name: Login to Docker Hub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKER_USERNAME }}
password: ${{ secrets.DOCKER_PASSWORD }}
- name: Set up QEMU
uses: docker/setup-qemu-action@master
with:
platforms: all
- name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@master
- name: Publish Docker image for E2E testing
uses: docker/build-push-action@v3
with:
builder: ${{ steps.buildx.outputs.name }}
context: ${{ needs.build.outputs.temp_dir }}
file: ${{ needs.build.outputs.temp_dir }}/${{ inputs.package_path }}/Dockerfile
platforms: linux/amd64,linux/arm64
push: true
tags: standardnotes/${{ inputs.service_name }}:${{ github.sha }}
- name: Run E2E test suite
uses: convictional/trigger-workflow-and-wait@master
with:
owner: standardnotes
repo: self-hosted
github_token: ${{ secrets.CI_PAT_TOKEN }}
workflow_file_name: testing-with-updating-client-and-server.yml
wait_interval: 30
client_payload: '{"${{ inputs.e2e_tag_parameter_name }}": "${{ github.sha }}"}'
propagate_failure: true
trigger_workflow: true
wait_workflow: true
publish:
needs: [ build, test, lint, e2e ]
name: Publish Docker Image
uses: standardnotes/server/.github/workflows/common-docker-image.yml@main
with:
service_name: ${{ inputs.service_name }}
bundle_dir: ${{ needs.build.outputs.temp_dir }}
package_path: ${{ inputs.package_path }}
workspace_name: ${{ inputs.workspace_name }}
secrets: inherit
-164
View File
@@ -1,164 +0,0 @@
name: Reusable Server Utility Workflow
on:
workflow_call:
inputs:
service_name:
required: true
type: string
workspace_name:
required: true
type: string
deploy_web:
required: false
default: true
type: boolean
deploy_worker:
required: false
default: true
type: boolean
package_path:
required: true
type: string
secrets:
DOCKER_USERNAME:
required: true
DOCKER_PASSWORD:
required: true
CI_PAT_TOKEN:
required: true
AWS_ACCESS_KEY_ID:
required: true
AWS_SECRET_ACCESS_KEY:
required: true
jobs:
build:
runs-on: ubuntu-latest
outputs:
temp_dir: ${{ steps.bundle-dir.outputs.temp_dir }}
steps:
- uses: actions/checkout@v3
- name: Create Bundle Dir
id: bundle-dir
run: echo "temp_dir=$(mktemp -d -t ${{ inputs.service_name }}-${{ github.sha }}-XXXXXXX)" >> $GITHUB_OUTPUT
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ steps.bundle-dir.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
run: yarn build ${{ inputs.package_path }}
- name: Bundle
run: yarn workspace ${{ inputs.workspace_name }} bundle --no-compress --output-directory ${{ steps.bundle-dir.outputs.temp_dir }}
lint:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build ${{ inputs.package_path }}
- name: Lint
run: yarn lint:${{ inputs.service_name }}
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-${{ inputs.service_name }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build ${{ inputs.package_path }}
- name: Test
run: yarn test ${{ inputs.package_path }}
publish:
needs: [ build, test, lint ]
name: Publish Docker Image
uses: standardnotes/server/.github/workflows/common-docker-image.yml@main
with:
service_name: ${{ inputs.service_name }}
bundle_dir: ${{ needs.build.outputs.temp_dir }}
package_path: ${{ inputs.package_path }}
workspace_name: ${{ inputs.workspace_name }}
secrets: inherit
deploy-web:
if: ${{ inputs.deploy_web }}
needs: publish
name: Deploy Web
uses: standardnotes/server/.github/workflows/common-deploy.yml@main
with:
service_name: ${{ inputs.service_name }}
docker_image: ${{ inputs.service_name }}:${{ github.sha }}
secrets: inherit
deploy-worker:
if: ${{ inputs.deploy_worker }}
needs: publish
name: Deploy Worker
uses: standardnotes/server/.github/workflows/common-deploy.yml@main
with:
service_name: ${{ inputs.service_name }}-worker
docker_image: ${{ inputs.service_name }}:${{ github.sha }}
secrets: inherit
+17
View File
@@ -0,0 +1,17 @@
name: E2E Test Suite On Self Hosted Server
on:
workflow_dispatch:
inputs:
snjs_image_tag:
type: string
default: latest
description: The Docker image tag used for SNJS container
jobs:
e2e:
name: E2E
uses: standardnotes/server/.github/workflows/common-e2e.yml@main
with:
snjs_image_tag: ${{ inputs.snjs_image_tag }}
secrets: inherit
+4 -4
View File
@@ -11,9 +11,9 @@ on:
workflow_dispatch:
jobs:
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
with:
service_name: event-store
workspace_name: "@standardnotes/event-store"
@@ -22,7 +22,7 @@ jobs:
secrets: inherit
newrelic:
needs: call_server_utility_workflow
needs: call_server_application_workflow
runs-on: ubuntu-latest
-1
View File
@@ -17,7 +17,6 @@ jobs:
with:
service_name: files
workspace_name: "@standardnotes/files-server"
e2e_tag_parameter_name: files_image_tag
package_path: packages/files
secrets: inherit
+86 -14
View File
@@ -6,19 +6,91 @@ on:
- main
jobs:
test:
build:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: ESLint
run: yarn lint
- name: Build
run: yarn build
- name: Test
run: yarn test
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
key: ${{ runner.os }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
run: yarn build
lint:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build
- name: Lint
run: yarn lint
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build
- name: Test
run: yarn test
e2e:
needs: build
name: E2E
uses: standardnotes/server/.github/workflows/common-e2e.yml@main
secrets: inherit
+92 -3
View File
@@ -5,9 +5,98 @@ on:
branches: [ main ]
jobs:
release_and_publish:
build:
if: contains(github.event.head_commit.message, 'chore(release)') == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
key: ${{ runner.os }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
run: yarn build
lint:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build
- name: Lint
run: yarn lint
test:
runs-on: ubuntu-latest
needs: build
steps:
- uses: actions/checkout@v3
- name: Cache build
id: cache-build
uses: actions/cache@v3
with:
path: |
packages/**/dist
${{ needs.build.outputs.temp_dir }}
key: ${{ runner.os }}-build-${{ github.sha }}
- name: Set up Node
uses: actions/setup-node@v3
with:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build
- name: Test
run: yarn test
publish-self-hosting:
needs: [ test, lint ]
name: Publish Self Hosting Docker Image
uses: standardnotes/server/.github/workflows/common-self-hosting.yml@main
secrets: inherit
publish-services:
runs-on: ubuntu-latest
needs: publish-self-hosting
steps:
- name: Checkout code
uses: actions/checkout@v3
@@ -34,7 +123,8 @@ jobs:
registry-url: 'https://registry.npmjs.org'
node-version-file: '.nvmrc'
- name: Build packages
- name: Build
if: steps.cache-build.outputs.cache-hit != 'true'
run: yarn build
- name: Bump version
@@ -44,4 +134,3 @@ jobs:
run: yarn publish
env:
NODE_AUTH_TOKEN: ${{ secrets.CI_NPM_TOKEN }}
-1
View File
@@ -17,7 +17,6 @@ jobs:
with:
service_name: revisions
workspace_name: "@standardnotes/revisions-server"
e2e_tag_parameter_name: revisions_image_tag
package_path: packages/revisions
secrets: inherit
+4 -4
View File
@@ -11,9 +11,9 @@ on:
workflow_dispatch:
jobs:
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
with:
service_name: scheduler
workspace_name: "@standardnotes/scheduler-server"
@@ -22,7 +22,7 @@ jobs:
secrets: inherit
newrelic:
needs: call_server_utility_workflow
needs: call_server_application_workflow
runs-on: ubuntu-latest
-1
View File
@@ -17,7 +17,6 @@ jobs:
with:
service_name: syncing-server-js
workspace_name: "@standardnotes/syncing-server"
e2e_tag_parameter_name: syncing_server_js_image_tag
package_path: packages/syncing-server
secrets: inherit
+4 -4
View File
@@ -11,9 +11,9 @@ on:
workflow_dispatch:
jobs:
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
with:
service_name: websockets
workspace_name: "@standardnotes/websockets-server"
@@ -21,7 +21,7 @@ jobs:
secrets: inherit
newrelic:
needs: call_server_utility_workflow
needs: call_server_application_workflow
runs-on: ubuntu-latest
steps:
+4 -4
View File
@@ -11,9 +11,9 @@ on:
workflow_dispatch:
jobs:
call_server_utility_workflow:
name: Server Utility
uses: standardnotes/server/.github/workflows/common-server-utility.yml@main
call_server_application_workflow:
name: Server Application
uses: standardnotes/server/.github/workflows/common-server-application.yml@main
with:
service_name: workspace
workspace_name: "@standardnotes/workspace-server"
@@ -21,7 +21,7 @@ jobs:
secrets: inherit
newrelic:
needs: call_server_utility_workflow
needs: call_server_application_workflow
runs-on: ubuntu-latest
steps:
+5
View File
@@ -20,3 +20,8 @@ packages/files/uploads/*
data/*
!data/.gitkeep
logs/*
!logs/.gitkeep
docker-compose.yml
+1 -1
View File
@@ -1 +1 @@
18.12.1
18.13.0
Generated
+1903 -1332
View File
File diff suppressed because it is too large Load Diff
+2 -1
View File
@@ -6,5 +6,6 @@
"eslint.nodePath": ".yarn/sdks",
"prettier.prettierPath": ".yarn/sdks/prettier/index.js",
"typescript.tsdk": ".yarn/sdks/typescript/lib",
"typescript.enablePromptUseWorkspaceTsdk": true
"typescript.enablePromptUseWorkspaceTsdk": true,
"terraform.languageServer.enable": false
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More