Commit Graph

13 Commits

Author SHA1 Message Date
Chris Raible
9932454730
Added build:ts dependency to yarn test:unit (#21328)
no issue

- Running `yarn test:unit` fails unless you've previously run `yarn
build:ts`. This change tells `nx` about this dependency, so it will run
`yarn build:ts` before `yarn test:unit`. It should take advantage of the
nx cache though, so it will only run the `build:ts` task if necessary
2024-10-16 12:15:14 -07:00
Daniel Lockyer
9bcca5122a Increased parallelisation of Nx processes
refs https://nx.dev/recipes/running-tasks/run-tasks-in-parallel

- CI has 4 cores and our local machines are also very powerful, so we
  can just set the default parallelisation to higher than is currently
  set to make things run quicker
2024-09-25 14:36:55 +02:00
Daniel Lockyer
5a72c5ad91 Updated Nx to v19
refs https://github.com/nrwl/nx/releases/tag/19.8.0

- this commit updates Nx to v19
- we need to add some extra commands to the dev script to stop and
  restart the Nx daemon, so it's ready and running before we execute a
  bunch of Nx commands concurrently
- this also updates nx.json to the format needed for the latest version
2024-09-25 10:16:08 +02:00
Daniel Lockyer
8325fb85b2 Fixed TS types being cached by Nx
ref https://linear.app/tryghost/issue/DEV-20/faster-builds

- we need these to be cache so we can restore them in subsequent builds
2024-09-11 15:58:56 +02:00
Daniel Lockyer
66cb1aee72 Added GHOST_CDN_URL env var to Nx cache inputs
ref https://linear.app/tryghost/issue/DEV-20/faster-builds

- this prevents Nx not rebuilding apps when the CDN url changes
2024-09-11 13:22:35 +02:00
Daniel Lockyer
a9c9202b5c Added defaults to Nx build step
refs https://github.com/TryGhost/DevOps/issues/122

- this allows us to DRY up some of the other configuration we have
  dotted around and fixes a niche bug with overlapping builds that we
  were seeing before, because Nx should only allow one build at a time
2023-12-13 11:54:31 +01:00
Daniel Lockyer
5023b336cb Revert "Added default build output folders to Nx config"
This reverts commit 1f0d874ea2.
2023-12-11 15:32:46 +01:00
Daniel Lockyer
1f0d874ea2 Added default build output folders to Nx config
refs https://ghost.slack.com/archives/C0568LN2CGJ/p1702302128529339

- Nx doesn't know the what the output of these apps is, so it can't restore
  the cache
- this adds the 3 folders which we use to output the build assets
2023-12-11 15:04:33 +01:00
Daniel Lockyer
50951d6eae Disabled Nx daemon
refs https://github.com/TryGhost/DevOps/issues/102

- we've been seeing various bugs relating to the Nx daemon, and when it
  crashes it nukes the entire dev command, which we'd like to avoid
- this should disable the daemon until some of these issues are fixed
2023-11-14 12:13:05 +01:00
Daniel Lockyer
f705dda314 Updated Admin-X bundling process
refs https://github.com/TryGhost/DevOps/issues/80

- as part of moving Admin-X-Setting towards GA, we want to change it from
  loading the settings externally via a CDN, to bundling it in with
  Admin
- the bulk of the changes here are removing the config in Ghost, setting
  up the copy to the Admin assets dir, and loading the new path in Admin
- several other changes have come along the way as I've cleaned up
  unneeded code
2023-09-19 11:31:55 +02:00
Daniel Lockyer
cd175ddae2 Added shared tsconfig.json to list of files to build when changed
refs https://github.com/TryGhost/DevOps/issues/45

- if this file changes, we presumably want to re-run any builds because
  it's possible the typescript config has changed
2023-07-21 14:17:21 +02:00
Daniel Lockyer
e990cbba01 Configured storing Nx cache in GHA to speed up builds
refs https://github.com/TryGhost/DevOps/issues/47

- this allows us to store and restore the cache for TS builds, which
  should speed up the whole process
2023-07-14 08:52:01 +02:00
Daniel Lockyer
2aa7da3a0b Improved monorepo tooling setup
refs https://github.com/TryGhost/DevOps/issues/45

- this switches the monorepo over to using Nx instead of Lerna, because
  we don't currently need the versioning+publishing capabilities
- this also adds an `nx.json`, which allows us to enable task caching
- also adds `build:ts` to the TS projects, which is cached for fast execution
- how these interact with the dev.js script will hopefully soon be
  reworked to be a better experience
2023-07-12 16:27:39 +02:00