refs https://github.com/TryGhost/DevOps/issues/78
- this allows us to take advantage of the dependency caching and metadata
workflows, to reduce the overall execution time and duplicate logic
refs: https://github.com/TryGhost/DevOps/issues/78
Re-introduce parallel browser tests
These were adding in a previous PR, but the difference between local
running tests and using CI introduced failures.
Added additional fixes to ensure the Stripe API key is used in the CLI when running in CI.
refs https://github.com/TryGhost/DevOps/issues/83
- this will now continue use the dev server assets if we tell it to,
or copy the dependency package files to the built folder otherwise
- removes `editor` from config API because it's no longer needed
- removes dependency on `editor.url` in tests, as this no longer exists
- edits dev script to pass dev server URL as env var
- adds `@tryghost/koenig-lexical` dependency to Admin
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
refs https://github.com/TryGhost/DevOps/issues/75
- Node 16 has gone EOL so we can from support for it from our matrix
tests
- dropping support in some other tests and in general will come in
future commits
refs https://github.com/TryGhost/DevOps/issues/70
- I've moved the code and history into the Actions repo to keep these
things more maintainable
- this commit updates the reference to the action
no issue
Safari requires HTTPs for admin X to work in development mode.
Use `yarn dev --https` in combination with a caddy server to make it
work.
```
https://localhost:41740 {
reverse_proxy http://localhost:4174
}
```
refs https://github.com/TryGhost/Product/issues/3504
- App component now uses React hooks intead of React class component
- App is now written in TypeScript
- All JavaScript is now removed from the Comments-UI project
- Removed `PopupNotification` because these were never displayed
- Removed `action` from AppContext (never used)
- Moved options parsing out of `index.ts` into a separate utility file,
similar to the signup-form
- Improved reliability of some editor tests by always waiting for the
editor to be focused (was not always the case) + added an utility method
for this
refs https://github.com/TryGhost/DevOps/issues/57
- I'm not sure why but I think the `contains` are doing funky things
and not allowing the build to run when we expect it to
- switching to a slightly different if-statement should help with that
refs https://github.com/TryGhost/DevOps/issues/57
- adds a step to output the `needs` context
- adds `cancelled` as a "failed" step because it means we haven't run
all the tests
- unfortunately there's no way to assert all elements are one type
(success), so we have to check for existence of the negative ones
refs https://github.com/TryGhost/Product/issues/3648
- Refactored Members API RouterController.createCheckoutSession: Split the method into smaller parts so we can reuse individual parts for the upcoming donation checkout session.
- Wired up donation checkout creation
- Added donation events
- turns out new packages folders aren't generating an `A` status in `git
diff`, so this line never worked
- if we create a `package.json` file, we can reasonably assume we're
creating a new package, so this should fix the issues we were seeing
with caching + new packages
- in this event, we don't want to cache the dependencies because the new
package will need to be linked to the others
- this commit should add detection for new packages and skip the cache
if so
- we no longer allow pushing to the `main` branch, so this hook is never
used
- if you tried to push locally, it'd fail because I've since removed
Lerna
- this commit cleans up the hook
refs https://github.com/TryGhost/DevOps/issues/47
- we need to start building from git refs so this workflow which builds
a tarball is no longer needed and just adds to the execution time
- this switches us to using Nx for `ghost:dev`, which means we can
configure its dependencies and ensure that the TS projects are built
beforehand
- also switches to Nx for `ghost:archive` so we don't need to run
`build:ts` for all `yarn` commands
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
refs https://github.com/TryGhost/DevOps/issues/43
- because we now enforce all commits through a PR, Renovate can no
longer automerge commits
- this is actually a huge bonus because it simplifies a lot of the
issues we were having with the GHA setup
- this commit removes the triggers and special handling to remove the
duplicate executions
- unfortunately GitHub makes this incredibly hard and this commit
doesn't even provide a full solution, but it should allow us to fetch
the latest commit for PRs and pushes to a branch, but not force pushes
- if a branch is force-pushed, the existing value is incorrect and we
get errors from Lerna
- this switches to finding the common commit between this branch and
the head as reported by GitHub
- this previously wouldn't trigger if any of the `needs` are skipped
- this switches to waiting for the actual job which checks if all
required jobs were completed successfully
refs https://github.com/TryGhost/DevOps/issues/40
- this is an experimental branch that needs a separate canary build
- these changes should help support that by allowing canary builds on
that branch
refs https://github.com/TryGhost/DevOps/issues/39
- up until now, we've had a CI job which does a really basic test for
migrations, but it barely functions and misses bugs all the time
- this commit removes that and switches to an actual test suite for our
migrations, so we can ensure they function as expected
- also removes the env var hack I came up with for those migrations
tests
- this should lead to safer migrations and faster tests
refs https://github.com/TryGhost/Toolbox/issues/609
- this rewrites the CI workflow to include a pre-test step which will
download and cache dependencies, and will only run tests when the
associated code changes
- this provides a huge improvement over the existing setup, and will
save us a lot of time in CI
refs https://github.com/TryGhost/Team/issues/3504
This migrates comments-ui to TypeScript. Only `App.js` is left to
migrate, but since this isn't using hooks yet, it will need a bigger
rewrite so this will need to happen in a separate PR.
refs https://github.com/TryGhost/Toolbox/issues/602
- the new regex allows for the filename to contain seconds, which would have
helped prevent a bug we had with migrations being in the wrong order
- mentioned filename ordering in the migration review comment to bring
that to the forefront of the mind
no issue
Safari doesn't allow to load non-https scripts in a https environment, so we need to load Lexical from https using a Caddy proxy. This adds the `--https` option to `yarn dev --lexical`.
Might consider to somehow include a caddyfile somehow in the repo to make this work everywhere without changes.
- in the migration tests we need to boot Ghost and then kill it
afterwards
- because there was no easy way to do this, the workflow waits for 20s
and then kills the last process ID
- aside from being a terrible idea, it means we're also just arbitrarily
waiting for 20s, which burns time when it takes shorter to boot Ghost
- this commit implements an environment variable that will kill the
server once it has run the whole boot process, and then fixes the
workflow to use that