1
0
mirror of https://github.com/TryGhost/Ghost.git synced 2024-12-21 09:52:06 +03:00
Commit Graph

337 Commits

Author SHA1 Message Date
Ghost CI
e323d6162c Merged v5.25.2 into main 2022-12-07 09:04:25 +00:00
Ghost CI
a014817aa9 v5.25.2 2022-12-07 09:04:22 +00:00
Daniel Lockyer
63af7633d8
Added yarn test:browser:single to run single browser tests
- this should enable you to run a single test file without waiting for
  all others
2022-12-07 10:47:01 +07:00
Naz
6ef5e6a7e0 Fixed local environment for playwright tests
refs https://github.com/TryGhost/Toolbox/issues/479

- this includes a handful of improvements to get Playwright working on a
  local environment including:
  - adding `testing-browser` environment so we don't nuke `development`
    environments, and makes all the necessary changes to get Ghost to
    behave when this is running
  - stopped running one global instance of Ghost as this doesn't provide
    a clean environment
  - copies a few default fixtures that are needed for the new
    environment
2022-12-07 09:44:05 +07:00
Ghost CI
54b693a359 Merged v5.25.1 into main 2022-12-06 05:14:41 +00:00
Ghost CI
55b0f564ba v5.25.1 2022-12-06 05:14:37 +00:00
renovate[bot]
b8ab57b692 Update dependency expect to v29 2022-12-05 11:16:46 +07:00
renovate[bot]
7f169cdd96 Update dependency html-validate to v7.10.1 2022-12-05 10:21:00 +07:00
renovate[bot]
cdca9d73b3
Update Test & linting packages 2022-12-02 23:05:46 +00:00
Sam Lord
40903c3136 Fixed browser-based tests in local context
no issue

Local tests can now setup Stripe during the global setup process, and the webhook server is run out-of-process.
Running tests in CI against localhost will use environment variables to setup Stripe.
Providing a test URL will avoid setting up Stripe and will assume that it is already done.
2022-12-02 17:04:04 +00:00
Daniel Lockyer
bc0b1f6adc Added CI for running Playwright tests
🚧
2022-12-02 17:04:04 +00:00
Ghost CI
d9ed6bcdb8 v5.25.0 2022-12-02 15:00:48 +00:00
renovate[bot]
c7d10c2d49 Update Node.js to v18 2022-12-02 14:07:37 +00:00
Simon Backx
2a3a72e4d5
Added email debug API ()
fixes https://github.com/TryGhost/Team/issues/2346

- Adds email batch browse endpoint
- Adds email recipient failures browse endpoint
- Adds new fixtures and E2E tests for the new API
- Added support for snapshot tests to have 'nullable' types.
2022-12-02 09:44:32 +01:00
renovate[bot]
46bb38b18a Update sentry-javascript monorepo to v7.23.0 2022-12-02 11:59:31 +07:00
renovate[bot]
d6a9b464b3 Update dependency jwks-rsa to v3 2022-11-30 12:24:08 +07:00
Naz
fc9f8aebc1
Fixed ci test runs
refs 3e0ec26408

- The refed commit excluded integration/regression test suites from CI test runs by accident
2022-11-30 10:39:32 +07:00
renovate[bot]
fc16bf97da Update dependency postcss-cli to v10.1.0 2022-11-30 10:09:41 +07:00
Kevin Ansfield
457c672c6a
Added URL transform for image cards in Lexical documents ()
refs https://github.com/TryGhost/Team/issues/2225

- updated the `formatOnWrite` transform map for posts to include the new `nodes` and `transformMap` options used by `urlUtils` for transforming node payload data
- added `nodes` to the `lexicalLib` module that pulls in our default nodes to be passed in to the URL transform utilities
- added `urlTransformMap` to the `lexicalLib` module that maps transform type and data type to URL transform utility functions that accept a single URL argument
2022-11-29 16:57:01 +00:00
Ghost CI
a176d1d36f v5.24.2 2022-11-28 17:36:34 +00:00
Ghost CI
2a28fa411b v5.24.1 2022-11-28 11:51:02 +00:00
Ghost CI
e1279c74b4 v5.24.0 2022-11-25 15:00:47 +00:00
Sam Lord
6fe5023e91 Added working Playwright tests
refs: https://github.com/TryGhost/Toolbox/issues/479
2022-11-24 15:11:40 +00:00
renovate[bot]
e48072e471 Update dependency bson-objectid to v2.0.4 2022-11-24 11:24:07 +07:00
renovate[bot]
a26cbacfd6 Update dependency @playwright/test to v1.28.1 2022-11-24 10:03:08 +07:00
renovate[bot]
0ca3031df1 Update sentry-javascript monorepo to v7.21.1 2022-11-23 15:15:14 +00:00
renovate[bot]
e4e8df44dd Update sentry-javascript monorepo to v7.21.0 2022-11-23 12:29:15 +07:00
Sam Lord
f6870fa846 Added browser-based testing framework
refs: https://github.com/TryGhost/Toolbox/issues/479

Framework includes:
* command to run tests
* command to record tests
* mechanism for starting and stopping Ghost before and after each suite of tests
* mechanism for loading fixtures into Ghost before starting tests
* sample test for controlling Ghost Admin
2022-11-22 14:12:34 +00:00
Simon Backx
44f189b56a
Added email service package ()
fixes https://github.com/TryGhost/Team/issues/2282

Added a new email service package that is used when the email stability
flag is enabled. Currently not yet implemented so will throw an error
for all entry points (if flag enabled).

Removed usage of `labs.isSet.bind` across the code, because that breaks
the stubbing of labs by `mockManager.mockLabsEnabled` and
`mockManager.mockLabsDisabled`. `flag => labs.isSet(flag)` should be
used instead.

All email depending tests now disable the `emailStability` feature flag
to keep the tests passing + make sure we still run all the tests for the
old flow while the email stability package is being built.
2022-11-21 10:29:53 +01:00
renovate[bot]
96aa1c930c Update dependency @playwright/test to v1.28.0 2022-11-21 15:37:46 +07:00
renovate[bot]
c4e41909a6 Update dependency html-validate to v7.10.0 2022-11-21 15:36:36 +07:00
renovate[bot]
0c2a62f47c
Update Test & linting packages 2022-11-18 23:04:37 +00:00
Ghost CI
a3376fe502 v5.23.0 2022-11-18 15:00:50 +00:00
Fabien "egg" O'Carroll
cbe1573fd5 Added email-suppression-list service & mock implementation
refs https://github.com/TryGhost/Team/issues/2267

This will eventually be replaced by a Mailgun specific implementation,
but for now we're using mock one which responds with fake data for
local development.
2022-11-18 14:11:47 +07:00
Sam Lord
49605a9559 Enabled browser-based tests to start Ghost with default test fixtures
refs: https://github.com/TryGhost/Toolbox/issues/479
2022-11-17 17:00:54 +00:00
Naz
3e0ec26408
Introduced separate config for e2e tests
refs https://github.com/TryGhost/Toolbox/issues/475

- Having a single coverage config file for unit and e2e type of tests doesn't play well for tracking coverage progress. The unit test ones are run often when developing, so one can observe the changes in coverage. The e2e tests are ran mostly on CI environment and have different purposes/reach comparing to unit tests.
2022-11-17 09:58:39 +07:00
Naz
b7951b5445
Enabled test coverage report for e2e tests
closes https://github.com/TryGhost/Toolbox/issues/475

- We did not have visibility and history into test coverage statistics in non-unit test suites. This data is useful identifying problematic areas and can be used to keep the code quality under control
- Enabled test coverage for e2e tests, including integration and regression tests
- Decreased the "branches" coverage requirement for the tests to pass (did not want to introduce an additional c8 configuration file just yet)
2022-11-17 09:58:39 +07:00
Ghost CI
b2bcfb24e3 Merged v5.22.11 into main 2022-11-15 14:08:47 +00:00
Ghost CI
0b7f64604e v5.22.11 2022-11-15 14:08:44 +00:00
renovate[bot]
9175b82ab9 Update dependency postcss to v8.4.19 2022-11-14 10:18:33 +07:00
Ghost CI
718657a8f4 v5.22.10 2022-11-11 15:00:40 +00:00
renovate[bot]
12015a60fd
Update dependency bookshelf-relations to v2.5.0 2022-11-10 15:31:20 +00:00
Sam Lord
ce05d84940 Removed Bluebird from importer
refs: https://github.com/TryGhost/Ghost/issues/14882

This commit totally removes Bluebird from the importer. Updated `@tryghost/promise` to use native async/await and refactored importer logic to avoid the need of `reflect()`.
2022-11-09 16:14:37 +00:00
Ronald Langeveld
eb4e591e6b
Bumped kg-lexical-html-renderer version
no issue

- from 0.0.10 to 0.0.11
2022-11-08 22:05:58 +07:00
Ghost CI
4b7dd71851 Merged heads/v5.22.9 into main 2022-11-08 09:04:04 +00:00
Ghost CI
f274275ef3 v5.22.9 2022-11-08 09:04:01 +00:00
renovate[bot]
8fa9f1e7e6
Update Test & linting packages 2022-11-07 20:39:48 +00:00
Ghost CI
92c3d1e933 Merged heads/v5.22.8 into main 2022-11-07 16:13:43 +00:00
Ghost CI
5f9e354cae v5.22.8 2022-11-07 16:13:40 +00:00
Ghost CI
1575304627 Merged heads/v5.22.7 into main 2022-11-07 10:46:01 +00:00
Ghost CI
96aa0e6ba6 v5.22.7 2022-11-07 10:45:58 +00:00
renovate[bot]
12023804de
Update dependency eslint to v8.27.0 2022-11-07 01:32:41 +00:00
Ghost CI
81566aca88 v5.22.6 2022-11-04 15:00:38 +00:00
Daniel Lockyer
c32a013087
Merged v5.22.5 into main
v5.22.5
2022-11-04 13:05:33 +07:00
Ghost CI
a06bc369bc v5.22.5 2022-11-04 04:55:45 +00:00
renovate[bot]
6c5553d059 Update dependency html-validate to v7.8.0 2022-11-03 10:46:36 +07:00
Ghost CI
13c6204197 v5.22.4 2022-11-01 19:19:31 +00:00
Ghost CI
7fda360799 v5.22.3 2022-11-01 17:12:38 +00:00
Ghost CI
3c71d07dfb v5.22.2 2022-11-01 09:28:14 +00:00
Ghost CI
b2ad52fbf5 v5.22.1 2022-10-31 17:49:43 +00:00
Daniel Lockyer
92740e8967
Merged v5.22.0 into main
v5.22.0
2022-10-31 17:49:27 +07:00
Ghost CI
44722efe38 v5.22.0 2022-10-31 10:41:31 +00:00
renovate[bot]
5d49ce269a Update dependency cssnano to v5.1.14 2022-10-31 09:50:23 +07:00
Ghost CI
7724d29afd v5.21.0 2022-10-28 16:00:39 +01:00
renovate[bot]
61ff499037
Update dependency sanitize-html to v2.7.3 2022-10-27 22:42:54 +00:00
Simon Backx
b916300ceb
Added aggregated click events ()
fixes https://github.com/TryGhost/Team/issues/2175

- New event type `aggregated_click_event` that is disabled by default in all the existing activity feeds
- This returns click events, but only the first click events for each member/post combination.
- It includes the total count of unique link clicks for that member on that post combination
- Had to resort to some custom knex queries to make this work easily
- Requires `@tryghost/bookshelf-pagination@0.1.31`, included in `@tryghost/bookshelf-plugins@0.6.1` (this fixes an issue with custom selects breaking the total count query of pages)
- Went a bit overboard with the pagination tests to cover as much unknown edge cases as possible
2022-10-27 17:23:45 +02:00
Sam Lord
da559e5a7f Added @tryghost/data-generator dependency to Ghost core
refs: https://github.com/TryGhost/Toolbox/issues/440

This was working locally where the dependency is resolved implicitly, but when deployed there is no @tryghost/data-generator in the node_modules folder.
2022-10-27 11:51:09 +01:00
Simon Backx
076e3c02b2
Added linking between member and subscription created events ()
fixes https://github.com/TryGhost/Team/issues/2160

- Adds a `batch_id` to both events that contain the same ID if they were created at the same time.
- Removes duplicate signup/conversion events using the batch_id
- Requires an update in mongo-knex to work (refs https://ghost.slack.com/archives/C02G9E68C/p1666773313272409?thread_ts=1666767872.375009&cid=C02G9E68C)
- Some dependencies needed an update to load the latest mongo-knex
- Added tiers to membersUtils, loaded on startup (we can start to use this instead of fetching it every time)
2022-10-27 11:44:19 +02:00
renovate[bot]
d034526fe6
Update dependency supertest to v6.3.1 2022-10-26 02:54:43 +00:00
renovate[bot]
0d3d85df64 Update dependency html-validate to v7.7.1 2022-10-25 10:40:33 +07:00
Fabien "egg" O'Carroll
cc14ce2b20 Added initial tiers service to Ghost
refs https://github.com/TryGhost/Team/issues/2078

This allows us to start wiring up the new package to the Admin & Content API's
2022-10-25 09:02:56 +07:00
renovate[bot]
68f1df545c
Update dependency express-jwt to v7.7.7 2022-10-24 21:21:25 +00:00
renovate[bot]
bbd6c47d01 Update dependency html-validate to v7.7.0 2022-10-24 11:36:30 +07:00
renovate[bot]
603c78755d
Updated @tryghost dependencies ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-24 10:30:40 +07:00
renovate[bot]
44f54fa4cc Update dependency inquirer to v8.2.5 2022-10-24 10:22:16 +07:00
renovate[bot]
3021a7dc50 Update dependency eslint to v8.26.0 2022-10-24 10:19:56 +07:00
Ghost CI
67c742606d v5.20.0 2022-10-21 16:00:38 +01:00
Sam Lord
68955aa704 Remove Grunt from yarn setup in Ghost core
no issue
2022-10-19 12:58:10 +01:00
Daniel Lockyer
9b8c33484d
Merged v5.19.3 into main
v5.19.3
2022-10-19 06:22:38 +07:00
Ghost CI
e1e5a7b35e v5.19.3 2022-10-18 16:18:29 +01:00
Daniel Lockyer
2dcc4139b1
Merged v5.19.2 into main
v5.19.2
2022-10-18 17:04:23 +07:00
Ghost CI
14a259b828 v5.19.2 2022-10-18 09:51:41 +01:00
Daniel Lockyer
b6d2d97af2
Merged v5.19.1 into main
v5.19.1
2022-10-17 17:48:02 +07:00
Ghost CI
9a2fcba68a v5.19.1 2022-10-17 11:45:59 +01:00
Naz
66c2d3748a
🐛 Fixed 404 collection links for new tags
closes https://github.com/TryGhost/Ghost/issues/15608
closes https://github.com/TryGhost/Toolbox/issues/437
refs https://github.com/bookshelf/bookshelf/issues/2111
refs https://github.com/knex/knex/issues/1641

- When new tag was attached to the post the tag collection link returned 404 - instead of a collection with one post
- The root cause of the issue and it's flaky behavior (sometimes the collection link was returning correctly) was a race condition between event propagation in routing for "tag.attached" event and the post+tag+relations transaction completion
- The race condition was happening as the bookshelf-transaction-events plugin was emitting the 'committed' event BEFORE the transaction was committed!
2022-10-17 18:21:10 +08:00
renovate[bot]
e9587e02d0
Update dependency mocha to v10.1.0 2022-10-17 08:41:28 +00:00
Ronald Langeveld
6b7088ba20 Bumped kg-lexical-html-renderer version
no issue

- Bumped from 0.0.8 to 0.0.9
2022-10-17 08:44:30 +07:00
Ghost CI
4e3afadfef v5.19.0 2022-10-14 16:00:45 +01:00
renovate[bot]
f5774fad0c Update dependency postcss to v8.4.18 2022-10-13 08:08:05 +07:00
renovate[bot]
178df69ae2 Update dependency @playwright/test to v1.27.1 2022-10-12 17:55:29 +07:00
renovate[bot]
6fc497743d
Updated @tryghost dependencies ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-12 10:16:05 +07:00
Simon Backx
08309f8d88 Fixed audience feedback package dependencies
refs e540344ef2
2022-10-11 16:53:54 +02:00
renovate[bot]
3b62e8c52f Update sentry-javascript monorepo to v7.15.0 2022-10-11 09:24:03 +07:00
renovate[bot]
aa29478057 Update dependency @playwright/test to v1.27.0 2022-10-11 09:23:33 +07:00
renovate[bot]
9f5ca0ede0 Update dependency jwks-rsa to v2.1.5 2022-10-11 09:23:12 +07:00
Daniel Lockyer
8ec071a47c
Update dependency eslint-plugin-ghost to v2.16.0 ()
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2022-10-10 10:23:24 +01:00
Daniel Lockyer
a37b2cd24e Switched to Husky + lint-staged for git hooks
- up until this commit, git hooks were only used by a handful of people
  because they were a pain:
  - they'd only be set up when you did `yarn setup`
  - the existing hooks ran `yarn lint` on all projects, which was
    incredibly slow
- as a result, not many of us actually had them enabled, but this would
  cause issues in CI because people were pushing un-linted commits
- other JS projects tend to use husky to automate the git hook setup and
  lint-staged to speed up linting on changed files
- this commit switches to using them both
  - `lint-staged` only runs `eslint` on staged JS files that are about to
    be committed - if there's a linting error, it will stop the commit
  - I've configured the pre-commit hook to successfully exit in CI because we
    don't want to run pre-commit hooks right now
- this means we can remove Grunt - yay!
2022-10-10 15:10:48 +07:00
renovate[bot]
34439f2e28 Update dependency html-validate to v7.6.0 2022-10-10 10:33:10 +07:00
renovate[bot]
82441e943d Update dependency express to v4.18.2 2022-10-10 10:29:34 +07:00
Ghost CI
b5fd02c9e8 v5.18.0 2022-10-07 16:00:53 +01:00