Commit Graph

16 Commits

Author SHA1 Message Date
Abdullah Atta
061433d8cd config: update nx 2024-03-21 10:56:00 +05:00
Abdullah Atta
a9f36076b3 ci: deploy master branch to cloudflare as beta 2023-08-02 11:38:35 +05:00
Abdullah Atta
bbeeacc480 desktop: use node directly for dev server instead of turbowatch 2023-07-05 11:45:13 +05:00
Abdullah Atta
3da4ced75b desktop: add build script & use nx to run build commands 2023-06-10 15:54:17 +05:00
Abdullah Atta
0b9e868e77 config: add /languages subdir to build outputs for editor 2022-10-20 16:16:42 +05:00
Abdullah Atta
5646b9249e desktop: ready app for mac store submission (#1057)
* desktop: add support for publishing to mac app store

* ci: add step for deployment to testflight

* ci: temporarily run build only on macos

* config: cache `build:desktop` output in nx

* ci: use `macos-12` instead of `macos-latest`

* ci: no need to install `jq`

* ci: build & deploy manually

* ci: set env_vars using `env` key

* ci: install packages before building

* ci: build electron bundle before deployment

* ci: install distribution signing cert

* web: disable app store offending stuff for macos

* ci: enable deployment to testflight

* ci: remove cert installation to keychain

* desktop: pass entitlement files through plutil

* ci: use a single cert for everything

* ci: fix altool command for uploading macOS package

* ci: use env_vars for apiKey & apiIssuer

* ci: install provisionprofile

* ci: install provisioning profile in `./apps/web/desktop` dir

* desktop: change bundleId to `org.streetwriters.notesnook`

* ci: deploy & build in separate steps

* ci: add jobs for linux & windows releasing

* ci: checkout repo before anything else

* ci: add `GH_TOKEN` to env & use ps syntax on windows

* ci: get app store versions only for mac app

* ci: correct order of steps

Co-authored-by: ammarahm-ed <ammarahmed6506@gmail.com>
2022-09-28 12:00:33 +05:00
ammarahm-ed
1f16c91a38 ci: update codemagic workflow 2022-09-22 17:38:41 +05:00
Abdullah Atta
ba084aa5de ci: add desktop app publish workflow 2022-09-22 12:08:36 +05:00
Abdullah Atta
6d75476e7c web: optimize tests by ~120% (#1018)
This is mainly done via sharding, caching & reducing total work:
1. `terser` is turned off when generating test build
2. `nx` distributed cache allows reusing build outputs
3. `playwright` sharding allows running tests in parallel

This can further be improved by using `swc` & `esbuild` during build
2022-09-21 14:01:32 +05:00
ammarahm-ed
85a3b5f016 ci: add release commands 2022-09-20 14:45:41 +05:00
Abdullah Atta
d31a43b463 web: rewrite the whole test suite to be more resilient
**Why?**
The old test suite was a confusing mess, hard to maintain, update, and
add more tests to. It lacked a much needed layer of expressivity &
the reusable functions were all over the place.
Since it used a global `page` (by mistake), it couldn't run in parallel.
Moreover, the global `page` approach caused random flakiness.

All the above reasons led to this OM (Object Model) based approach to tests.
The tests are now much more expressive, reslient, resuable & easier to
maintain. During the rewriting process I also added a couple more
tests (about 10) so this is a net improvement.

Previously, running the tests were also quite slow (15-25s avg). This has
now been improved to (5-8s avg) by running the tests in production.
This means the app now requires to be built before running the tests:

```sh
npm run build:test:web # this is only required once
npm run test:web
```
2022-09-14 11:50:24 +05:00
Abdullah Atta
15e40b612e config: test:core -> test:e2e 2022-09-09 00:47:40 +05:00
Abdullah Atta
a5a7f4734f config: run dependent tasks before running tests 2022-09-09 00:23:32 +05:00
ammarahm-ed
d25be38928 config: add test builds to targetDefaults nx 2022-09-01 15:23:21 +05:00
ammarahm-ed
1c4bcef583 (mobile): fix build errors 2022-08-29 16:19:17 +05:00
thecodrr
054c973c99 chore: setup lerna, nx & prettier 2022-08-26 16:12:58 +05:00