Commit graph

103 commits

Author SHA1 Message Date
कारतोफ्फेलस्क्रिप्ट™ 3831201aaf
ci: Setup code-coverage reporting (no-changelog) (#5669) 2023-03-10 16:53:05 +01:00
कारतोफ्फेलस्क्रिप्ट™ edf6313fa5
ci: Fix e2e tests (no-changelog) (#5658)
* ci: Fix e2e tests (no-changelog)

* Fix sign-in cypress command

* Run smoke test against head branch instead of base

---------

Co-authored-by: Oleg Ivaniv <oleg@n8n.io>
2023-03-09 17:08:47 +01:00
Mutasem Aldmour 71c349b071
ci: Add PR checklist (#5628)
* ci: Add PR checklist

* chore: add test change

* ci: add name

* ci: merge into workfow

* test: test action

* ci: add checklist

* ci: test checklist

* ci: remove comment

* ci: test checklist

* ci: add item to check item

* ci: update checklist items

* ci: add checklist item for migraitons

* ci: add hooks checklist item

* chore: remove comment
2023-03-09 12:49:37 +01:00
कारतोफ्फेलस्क्रिप्ट™ d6357eed8c
ci: Disable provenance attestation on docker images to work around docker/buildx#1533 (#5617)
Fixes https://github.com/n8n-io/n8n/issues/5394
2023-03-06 09:53:50 +01:00
OlegIvaniv ddfa16cf27
refactor(editor): Add spec input to e2e-tests workflow (no-changelog) (#5622)
refactor(editor): Add spec input to e2e-tests workflow to run specific specs
2023-03-06 09:36:05 +01:00
OlegIvaniv 0004dc7ee8
ci(editor): Run e2e tests in parallel and improve build caching (#5445)
* WIP: Cypress parallel CI run test

* Trigger action on branch push

* Change build artifacts path

* Make sure to checkout the repo for testing job

* Use Cypress action for installing

* Lock cypress action userd version

* Skip node install step since we're using cypress node16 container

* Let Cypress handle pnpm install

* Use setup-node action for caching pnpm

* Set CYPRESS_CACHE_FOLDER

* Set CYPRESS_CACHE_FOLDER

* Manually cache pnpm store

* Dont fix pnpm version

* Use caching action also in testing job

* Zip packages dist before uploading the artifacts and change caching key

* Use absolute build paths for zipping job

* Use zip command in action

* Use tar for zipping packages

* Debuggin directory ls

* Debugging caching of modules

* Attempt to fix permissions issue

* Porivde Cypress executable via `CYPRESS_RUN_BINARY`

* Cache /github/home

* Adjust caching keys

* Debug: search for cypress exec

* Debugging: List dirs

* Use pnpm install action to install node_modules

* Do not log /home/runner

* Use node_modules/.bin Cypress binary

* Use absolute path to nodue modules

* Run Cypress via custom command

* Try with patched cypress action

* Revert logging

* Manually specify cypress config file

* Use absolute paths

* Fix cypress config name

* Debug print cypress config

* Remove debugging, increase to 4 containers

* Increase amount of containers

* Add env-version matrix

* Replace node14 with node18 in testing matrix

* Remove debugging and add node 14

* Use just node14

* Use cypress:base and remove browser req

* Give more general timeouts

* Try with node16

* Change cache directive position

* Replace zip artifact upload with cache

* Cache full packages not just dist

* Test with variable inputs

* Add commit info message

* Remove wrongly commited code

* Allow WF API dispatch

* Try Chrome browser again for comparison

* Include Monaco in the build

* Make e2e workflow re-usable

* Comment out invalid reusable workflow args

* Use electron and add node 14 run

* Fix env arg

* Provide custom ci-build-id

* Refactor remaining e2e workflow to use reusable action

* Remove single matrix directive

* Refactor ci-pull-req

* Make lint job dependant on test jobs

* Disable debugging job

* Make containers dynamic

* Cleanup & install git for linting action

* Use regular buntu image for PR linting

* Debugging failing tests

* Remove fixed spec name

* Debug e2e env var

* Do not use realkeypress which crashes electron runner

* Debugging

* chore: remove console

* chore: remove console

* test: remove node 14 tests

* test: replace test branch with master

* test: use tests in current branch

* test: use relative path

* chore: clean up

* test: only trigger on approval

* ci: update test PR

* ci: use curr branch

* ci: only run 14 on schedule, not for slack command

* ci: only run test on approval

* ci: clean up branch, rename step

* ci: rename steps

* ci: clean up cancel

* ci: clean up env var

* ci: set var

* ci: use chromef

* ci: use electron

* chore: add console log

* chore: add console log

* ci: update to string

* ci: set all env options

* test: build

* ci: fix step issue

* Fix failing tests & upgrade to Cypress 12

* Allow WF dispatch of e2e reusable

* Fix wrong naming in e2e-tests workflow

* Redeploy

* Fix tests

* Fix NDV tests and remove skipping of webhooks execution tests

* Fix clipboard read command

* Fix execution failing tests

* Reset before each 15 and 3

* Fix flaky tests

* Cleanup and log envs

* Test fixes

* Default owner spec fixes

* Get rid of CYPRESS_RUN_ENV

* Increase amount of containers, cleanup and add mock for credentials test call

* Cleanup & fix PR tests unit tests

* Wait for WF to loade in sharing spec

* Do linting and unit tests first

* Use frozen lockfile

* Revert back ci pull request jobs order

* Refine credential input selector and move cy.waitForLoad to correct position in 15-scheduler spec

* test: build

* Wait for WF execution instead of arbitraty timeout in WF execution spec, change order of jobs for ci pull request

* Fix flaky 3-default owner spec and wait for execution list to load in 20-workflow-executions

* Use setup node action

* Remove caching for lint/unit tests

* Experiment with parallel test & lint on ci

* Provide cache key dynamically

* Run e2e in parallel on pr

* Only run node14 e2e on daily schedule

* Make sure to generate generate new ci-build-id on re-runs

* Remove debugging prints

* Address PR comments

* Rename custom onBeforeUnload handler

* Make sure 19-execution spec waits for wf to load properly before import fixtures

---------

Co-authored-by: Mutasem <mutdmour@gmail.com>
2023-03-02 16:50:21 +01:00
agobrech 3d82614de2
ci: Fix the PR-title validation action (no-changelog) (#5576) 2023-02-28 11:54:46 +01:00
कारतोफ्फेलस्क्रिप्ट™ 8d84e684cf
ci: Check PR title on all branches, except release branches (no-changelog) (#5545) 2023-02-22 13:14:29 +01:00
कारतोफ्फेलस्क्रिप्ट™ aca94bb995
ci: Merge back released tag to master as Jan (no-changelog) (#5540) 2023-02-21 19:16:51 +01:00
कारतोफ्फेलस्क्रिप्ट™ 35a7856de5
ci: Release process improvements (no-changelog) (#5535)
* ci: Switch release workflows to trigger when releases are published (no-changelog)

* ci: Allow creating releases from tags and commits as well
2023-02-21 16:02:31 +01:00
कारतोफ्फेलस्क्रिप्ट™ 3ae005cafe
ci: Setup a semi-automated release process (no-changelog) (#5504)
* ci: Setup a semi-automated release process (no-changelog)

* create tag/release before deleting the temporary branch
2023-02-21 14:04:35 +01:00
कारतोफ्फेलस्क्रिप्ट™ b25c10a0e1
ci: Update the "Check Documentation URLs" workflow (no-changelog) (#5473)
* ci: Update the "Check Documentation URLs" workflow (no-changelog)

* fix the documentation url for HtmlExtract node
2023-02-14 13:00:15 +01:00
agobrech 309c995364
test: Change workflows to test from safe list to skip list (#5457)
* Remove check by safe list to skip list

* add an option to skip using statistics events

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-02-10 17:11:06 +01:00
कारतोफ्फेलस्क्रिप्ट™ 172472664d
ci: Upgrade dev tooling (no-changelog) (#5424)
* Typescript
* Jest
* Turborepo
* pnpm
2023-02-09 13:52:41 +01:00
कारतोफ्फेलस्क्रिप्ट™ eda3b8aba0
ci: Re-enable CI jobs on nodejs 14.x (no-changelog) (#5153)
Revert "ci: Disable CI jobs on nodejs 14.x (no-changelog) (#5132)"

This reverts commit b3adcbd813.
2023-01-30 13:09:09 +01:00
Iván Ovejero 0a7ea89633
fix: Fix formatting/linting for CI (no-changelog) (#5264)
* ⬆️ Upgrade Prettier

* 📦 Update `pnpm-lock.yaml`

* 🎨 Format all packages

* 🔧 Specify `prettierPath`
2023-01-27 10:18:15 +01:00
Devin Buhl 2b776f39f1
ci: Publish n8n docker images to GHCR (#5213) 2023-01-24 15:36:58 +01:00
Mutasem Aldmour ce1f4efea7
test: Add e2e tests for PRs (#5176)
* test: add e2e tests for PRs

* test: update condition

* test: update job

* test: update with label
2023-01-17 13:44:19 +01:00
Iván Ovejero a0c5232aa5
fix: Build cli to fix Postgres and MySQL test runs (#5171) 2023-01-16 11:12:09 +01:00
कारतोफ्फेलस्क्रिप्ट™ b3adcbd813
ci: Disable CI jobs on nodejs 14.x (no-changelog) (#5132)
ci: Disable CI jobs on nodejs 14.x

This is temporary until I figure out why CI jobs keep randomly failing on nodejs 14.x
2023-01-12 09:46:28 +01:00
कारतोफ्फेलस्क्रिप्ट™ c738aa53e9
docs: Fix all credential documentation urls, and add a CI job to regularly validate these urls (#5012)
* add or update documentation URLs for all credentials

* add UTM params to documentation urls even when they are absolute urls

* Setup a CI job to validate documentation urls after every release

* Fix FacebookGraphApi documentation URL

* also validate node documentation urls

Co-authored-by: Jan Oberhauser <jan.oberhauser@gmail.com>
2022-12-22 17:01:29 +01:00
Mutasem Aldmour c41c707654
ci: Update slack notifications for build steps (#4985)
ci: update slack notifications
2022-12-20 14:13:24 +01:00
OlegIvaniv 297a043875
test(editor): Fix flaky workflow tags e2e tests and store screenshots from CI runs (#4903)
* test(editor): Fix flaky add tags e2e specs, and upload cypress artifacts on failure

* Only run smoke test to debug the pipeline

* Add waitForLoad command and revert debugging changes
2022-12-13 11:55:51 +01:00
कारतोफ्फेलस्क्रिप्ट™ f4481e24e8
ci: Upgrade pnpm and turborepo (no-changelog) (#4878) 2022-12-09 17:16:26 +01:00
कारतोफ्फेलस्क्रिप्ट™ 38003476a0
ci: Publish docker images for all architectures under the same tag (no-changelog) (#4843) 2022-12-07 12:42:52 +01:00
कारतोफ्फेलस्क्रिप्ट™ a09ff27f43
ci: Use multiple jobs for publishing various docker images (#4837)
ci: use multiple jobs for publishing various docker images
2022-12-06 17:26:53 +01:00
Mutasem Aldmour ac944bf666
ci: Update slack notification messages for e2e tests (no-changelog) (#4812)
* ci: update e2e slack message

* add link

* update link
2022-12-05 11:10:14 +01:00
Mutasem Aldmour 8101c05d6f
ci: Add run name and start url for e2e tests and docker nighly command (no-changelog) (#4800)
* ci: add run name and start url

* update ref

* use branch as input

* add message for slack notifications

* add branch quotes

* remove @ from user

* make user not required
2022-12-02 19:56:29 +01:00
कारतोफ्फेलस्क्रिप्ट™ 86a4965e9a
ci: Move full E2E tests into their own scheduled workflow (#4757) 2022-11-29 13:31:36 +01:00
कारतोफ्फेलस्क्रिप्ट™ 500775de69
ci: Make end-to-end testing independent of development environments (no-changelog) (#4709)
* use user-folder override consistently everywhere, including for the `.cache` folder

* use consistent config for e2e tesing, skipping config loading from env and config files

* simplify all the cypress commands, and run all e2e tests on master
2022-11-24 12:49:01 +01:00
कारतोफ्फेलस्क्रिप्ट™ bb5ebdf6c9
ci: Send Slack notifications when important builds fail (no-changelog) (#4638)
ci: Send Slack notifications when important builds fail
2022-11-17 18:52:03 +01:00
कारतोफ्फेलस्क्रिप्ट™ 376a0d000a
ci: Fix workflows tests (no-changelog) (#4630)
* fix workflows test

* remove the temporary code changes
2022-11-17 09:03:31 +01:00
Iván Ovejero 52f38df867
refactor: Remove unused vars to fix build (no-changelog) (#4584)
* 🔥 Remove unused vars to fix build

* 👕 Make unused vars severity conditional
2022-11-11 16:07:50 +01:00
कारतोफ्फेलस्क्रिप्ट™ 736777385c
feat: Switch from npm to pnpm (#4429) 2022-11-09 17:32:05 +01:00
Alex Grozav 77644860c0
feat: Add cypress e2e tests for signup and signin (#3490)
* feat: Added cypress setup files.

* feat: Added server bootup and initial test run.

* feat: Added e2e tests for signin, signup, and personalization form.

* feat: Added e2e tests for adding a function node.

* feat: Added set node and workflow execution steps.

* feat: Added test id to main sidebar.

* feat: Added test for creating a new workflow.

* feat: Finished test for creating a blank workflow

* chore: Removed screenshots from e2e tests.

* refactor: change e2e tests to per page structure

* feat: add cypress type enchancements

* feat: add typescript for cypress tests

* fix: remove component after merge

* feat: update cypress definitions

* feat: add cypress cleanup task

* refactor: update cypress script names

* ci: add smoke tests to workflow

* chore: remove cypress example files

* feat: update signup flow to be reusable

* fix: fix signup route for cypress page object

* fix: remove cypress reset command

* fix: remove unused imports

* fix: Add unhandled error catcher
2022-11-08 14:21:10 +02:00
कारतोफ्फेलस्क्रिप्ट™ 1c98f97e9e
ci: Revert support for node.js 18 (#4518) (#4537)
Revert "ci: Start supporting node.js 18 (#4518)"

This reverts commit 9ee292cd17.
2022-11-07 17:23:08 +01:00
कारतोफ्फेलस्क्रिप्ट™ 9ee292cd17
ci: Start supporting node.js 18 (#4518)
* ci: start supporting node.js 18

Node.js 18 becomes the active LTS on 2022-10-25, as Node.js 16 goes into maintenance mode.
https://github.com/nodejs/Release#release-schedule

* continue using node 16 for production images

* node 16 for debian and base images as well for now
2022-11-07 15:51:57 +01:00
कारतोफ्फेलस्क्रिप्ट™ 99157cf581
feat: setup nightly tests for postgres and mysql schemas (#4441)
* feat: unify Jest config

* feat: simplify DB setup for tests

* feat: setup nightly tests for postgres and mysql schemas
2022-10-25 22:06:03 +02:00
Iván Ovejero 2f87b9fbf6
ci: introduce stricter PR title checks (#4363)
 Switch to `validate-n8n-pull-request-title`
2022-10-20 13:58:34 +02:00
Iván Ovejero fe7c8a85ce
ci: revert stricter PR title checks (no-changelog) (#4327)
Revert "ci: enforce stricter PR title checking (#4301)"

This reverts commit 6d62471a11.
2022-10-12 13:46:25 +02:00
Iván Ovejero 6d62471a11
ci: enforce stricter PR title checking (#4301)
*  Enforce stricter PR title checking

* 🔥 Remove code fence
2022-10-12 10:53:12 +02:00
Iván Ovejero 13f52a2544
ci: revert sorting CI steps by length (no-changelog) (#4306)
 Revert "perf(ci): Sort CI steps by length (#4243)"

This reverts commit d47ff48fb6.
2022-10-10 19:50:26 +02:00
Iván Ovejero d47ff48fb6
perf(ci): Sort CI steps by length (#4243)
*  Sort CI steps by length

* 🐛 `Build` before `test` for n8n packages
2022-10-10 17:46:50 +02:00
कारतोफ्फेलस्क्रिप्ट™ 87e6877f1d
ci: adapt workflow tests to work with updated github actions (#4176)
ci: update workflow test action to work with updated github actions
2022-09-23 09:58:10 +02:00
कारतोफ्फेलस्क्रिप्ट™ 2970cbe401
ci: update all github actions (#4153)
* ci: update all github actions

setup npm cache on all workflows

* run full linting on master
2022-09-21 10:50:15 +02:00
Iván Ovejero a2441b8e3f
refactor(ci): Lint PR diffs only (#4137)
*  Set up `eslint-plugin-diff`

* 🔧 Fix setup

* ⬆️ Upgrade `checkout` and `setup-node`

* 🔧 Fix YAML

* 🧪 Verify `eslint-plugin-diff` behavior

* Revert "🧪 Verify `eslint-plugin-diff` behavior"

This reverts commit 1fcc6c8299.

* ✏️ Fix comment
2022-09-21 10:24:39 +02:00
Iván Ovejero 1bdc102892
perf(ci): Cache npm dependencies (#4138)
 Cache npm dependencies
2022-09-20 20:59:49 +02:00
कारतोफ्फेलस्क्रिप्ट™ 651d788ddb
fix: revert CI checks to ensure that the package-lock.json file is up to date (#4135)
* Revert "ci: fail the build if `package-lock.json` is out of sync (#4101)"

This reverts commit b2807cecb3.

* Update package-lock.json
2022-09-19 11:07:28 +02:00
कारतोफ्फेलस्क्रिप्ट™ b2807cecb3
ci: fail the build if package-lock.json is out of sync (#4101) 2022-09-14 15:29:00 +02:00
कारतोफ्फेलस्क्रिप्ट™ fd9b5f6b2b
ci: PR title/description change should not re-trigger the build-lint-test workflow (#4100) 2022-09-14 10:50:42 +02:00