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
refs https://github.com/TryGhost/Toolbox/issues/592
- this commit extracts the regression tests into a separate workflow
- this means they run in parallel and reduce the time we have to wait
for DB tests in general
- also fixes a test that was reliant on being run after the E2E
tests (!)
refs https://github.com/TryGhost/Toolbox/issues/528
- we're moving towards making Node 18 our recommended version, so that
involves ensuring all of CI is running Node 18
- we still have some Node 16 matrix runs to ensure compatibility
no issue
Added support for `--signup` to `yarn dev`. This will make sure that the signup form preview server is served (with rebuilding) and can be used in admin (instead of using the published version). This is also automatically started when using `yarn dev --all`, but with a twist:
If you only run `yarn dev --all`, it will only build and watch the production build of the signup form. If you use `yarn dev --signup` or `yarn dev --all --signup` it will also serve the demo app on `http://localhost:6173`.
refs https://ghost.slack.com/archives/C02G9E68C/p1685446707169999
- `actions/setup-node` has a bug where it doesn't parse paths where the path is pretty-printed with colors, so we have to explicitly disable colors
- Added whitespace change inside signup-form to trigger new CI run
refs https://github.com/TryGhost/Toolbox/issues/583
- removed default config so we just have separate numbers for the flags
- added threshold to flags config so we can protect against small
changes in variance
refs https://github.com/TryGhost/Toolbox/issues/583
- this commit adds config for codecov because this repo needs some
changes that aren't suitable for the global config
- this probably needs some adjusting over time but should get us started
for now
- this will allow us to see which set of tests are consuming the most
amount of time in CI
- in order to split apart the commands, I've had to override the
coverage thresholds for integration+regression tests in order to keep
c8 happy
- also sprinkled some more labels into the workflows to make things
clearer to read
fixes https://github.com/TryGhost/Toolbox/issues/583
- we currently upload the codecov for unit tests and e2e/admin tests
separately
- unfortunately this means that when one submits before the other, the
codecov % will be incorrect
- this leaves a big red cross on the commit until the other coverage is
uploaded
- this should fix that by upload the coverage in one step once CI is
happy
refs https://github.com/TryGhost/Toolbox/issues/584
- we should strive to provide a good development experience by keeping
the number of "other" setup steps to a minimum
- this adds support for the Announcement Bar app to the dev script so a
simple flag spins up the dev server too