* add "put_json_into_zip_archive" util
* add semantic version package
* compare posthog version requirement string in plugin.json if present
* Clarify posthogVersion error messages
* Don't check posthogVersion on Cloud
* Clarify error messages better
* Split test_create_plugin_version_ranges into multiple tests
* Add Cloud test and fix the rest
* Make mypy happy
* Update ci-backend.yml
* Fix typing
* Remove broad restore-keys
* Revert "Remove broad restore-keys"
This reverts commit b720e1e1cf.
* Attempt to make cached pip actually work
* Always run package installs even if cache hit just to be sure
* Avoid pytest from PATH
* Avoid PATH in Python CI altogether
* Roll back general CI changes
Co-authored-by: Michael Matloka <dev@twixes.com>
* Chunk session recording events
Closes https://github.com/PostHog/posthog/issues/3632 and replaces https://github.com/PostHog/posthog/pull/3566/files
This should make it possible to ingest large full snapshot events
Base64 is used to compress the data for serialization purposes.
pytest.mock is used for clean patching methods
* Mock time.time for py3.7 compatibility
* Group captured $snapshot events by $session_id
* Don't chunk already chunked payloads
* Compile requirements-dev.txt with latest pip-tools
* Install pytest
* Avoid picking up factories as tests
* New runner
* Always set TEST env variable running tests
Some of our tests rely on it.
* Remove repetition
* Fix a broken test
* Cut down noise from bin/tests
* Rename test factory
* Fix stickiness filter
* Skip a broken test
This has been broken since numpy removal PR. Sadly tests were not
running for this submodule
* Fix import on ee
* Run ee tests properly
The django_db_setup fixture will be automatically run when running ee/
module tests.
* Make tests run on CI
* Include REDIS_URL, fix cloud
* Set TEST env variable
* Hack cloud tests to work
* Attempt at workflow fix
* Import Person model when running ee tests
This module implicitly adds hooks, so this is needed when running tests
* Respect reuse-db for clickhouse
* Add custom markers to avoid warnings
* pytest: use ch test database always
Accidentally wiped by ch setup a few times without this. Oops
* Remove repetition in tests
* Pytest: Always run migrations
Testing a state cleanup fix
* Use same DB in conftest and main code
* Pytest: autoset TEST setting without env variable
* fix broken test
Co-authored-by: eric <eeoneric@gmail.com>
* Add AUTO_LOG_IN environment variable
This will be used when running tests on CI, setting up demo instances
and with cypress vcr
* Auto log in in review apps, e2e tests
This will speed up tests/reviewing significantly
* Rename AUTO_LOG_IN to AUTO_LOGIN
Co-authored-by: Michael Matloka <dev@twixes.com>
* WIP: get cypress something doing
* Get a test running
* Get css loading, stub posthog
* Move helpers to separate file
* Givens > given2
It plays nicer with beforeEach
* Test for session filters
* Test date navigation
* Test filtering
* Try keep old tests running
* Try get tests running under CI
* Prettify fixtures
* Cleanup, use cypress 6
* Add yarn build
* Fix e2e cypress tests
* given2 => givens
* Rename `frontend-test-runner` to `e2e-test-runner`
* Fix cypress test
* Add webpack-preprocessor as a devDependency
* Improve freezing time
* Make css inclusions automatic for component tests
* Verify no new typescript code breaks "strict" compilation
With this we have a file containing all current errors. As the code
changes, we should not add more errors here.
* remove some lines to show a failure
* Add total count to script
* Update blacklist after rebase
* Remove some fails on purpose.
* Attempt a reorder
* Add missing file
* Update script to write typegen
* Refresh list
* Attempt to use normal tsc
* update blacklist
* Store all errors
* echo for typegen
* Add check command
* typegen 3 times
* typegen 4 times
* typegen 6 times
* typegen 10 times
* remove debug code
* Update kea typegen to latest
* Remove hacks
* create plugins task
* add plugins to container
* remove env vars that are probably not needed
* bump size of node for plugins
* don't run plugin server on worker
Co-authored-by: James Greenhill <fuziontech@gmail.com>
* add worker to the ecs config and deploy
* for testing
* pull from this branch for testing
* chain config renders
* split out events pipe
* Set is_heroku true because of heroku kafka
* update /e/ service to run on port 8001
* add 8001 to the container definition as well
* simplify
* test migrating w/ ecs task using aws cli
* split services
* typo in task def
* remove networkConfiguration from task definition
* duplicate
* task-def-web specific
* update events service name
* Handle base64 encoded kafka certs
* if it's empty then try to set it for env vars
* fix b64 decode call
* cleanups
* enable base64 encoding of keys for kafka
* depend on kafka-helper for deps
* reformat
* sort imports
* type fixes
* it's late, I can't type. typos.
* use get_bool_from_env
* remove debug bits. Trigger on master/main
* prettier my yaml
* add notes about ref in GA
* up cpu and memory
* Remove signup process from cypress
* adds cypress preflight tests
* run migrations before setting up test data
* fix preflight tests
* Update preflight.js
Co-authored-by: Paolo D'Amico <paolodamico@users.noreply.github.com>
* refactor camelCaseToTitle
* Rework identifierToHuman
* Test identifierToHuman with Jest
* Add Jest to frontent CI
Co-authored-by: Michael Matloka <dev@twixes.com>
* Create ECS Task definition for prod deploy
* change action for testing
* update action to deploy to ecs
* add id for build image
* try to get the file at deploy location
* change branch for testing
* update container name
* link up the container definition in the task definition
* remove duplicate key
* add IAM ARN for deploy user
* Replace role with role
* change roles for testing
* update roles for testing
* switch roles for testing
* update ports
* Swap roles
* update entrypoint for gunicorn
* use docker-server script to start service
* github bug?
* try to stop ssl redirect on container
* another test
* Clickhouse sync
* add new dns for stage testing
* remove unecessary step
* prep for merge
* slight rename