Commit graph

36 commits

Author SHA1 Message Date
Milorad FIlipović 1fb5166376
ci: Fix wrong ref in PR workflows which broke external builds (#7431)
Github issue / Community forum post (link here to close automatically):
#7423

This PR updates reference passed to the `checkout` action by the
`cy-pull-request.ym`. This should fix three existing issues:
- Failing unit tests for external pull requests
- Failing e2e tests for external PRs
- Passing empty `ref` to `lint` job which makes linter run on a wrong
branch
2023-10-13 10:44:26 +02:00
कारतोफ्फेलस्क्रिप्ट™ c18ba370d5
ci: Remove eslint diff plugin. Run full linting on PRs (no-changelog) (#7175) 2023-09-14 16:55:06 +02:00
Milorad FIlipović c11dfbbe00
ci: Add reusable unit test workflow (no-changelog) (#7159)
Github issue / Community forum post (link here to close automatically):

---------

Co-authored-by: कारतोफ्फेलस्क्रिप्ट™ <aditya@netroy.in>
2023-09-13 15:24:02 +02:00
कारतोफ्फेलस्क्रिप्ट™ 9e3e298aca
ci: Fix versions of all external Github actions (no-changelog) (#6984) 2023-08-22 11:21:16 +02:00
कारतोफ्फेलस्क्रिप्ट™ ad581566ae
ci: Run checklist job as a separate workflow (no-changelog) (#6645) 2023-07-12 12:51:51 +02:00
कारतोफ्फेलस्क्रिप्ट™ 0e071724ee
ci: Refactor e2e tests to delete boilerplate code (no-changelog) (#6524) 2023-06-23 00:38:12 +02:00
कारतोफ्फेलस्क्रिप्ट™ 968b733fd6
ci: Add support for Node.js 18 (#5793)
* ci: Start supporting Node.js 18

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

We should also slowly deprecate node 16 support, [as support for it is ends much earlier now, due to support for openssl 1.1.1 ending](https://nodejs.org/en/blog/announcements/nodejs16-eol).

* Remove hashing algorithms that are not available in newer node.js/openssl

- RSA-MD4
- RSA-MDC2
- md4
- md4WithRSAEncryption
- mdc2
- mdc2WithRSA

* in e2e tests, resolve `localhost` to ipv4 instead of ipv6
2023-06-02 15:23:28 +02:00
कारतोफ्फेलस्क्रिप्ट™ e1aa654835
ci: Revert "Set up Turborepo cache for GitHub actions runner" (#6364) (no-changelog)
Revert "ci: Set up Turborepo cache for GitHub actions runner (no-changelog) (#6335)"

This reverts commit 9dfc11037b.
2023-06-02 12:11:36 +02:00
Iván Ovejero 9dfc11037b
ci: Set up Turborepo cache for GitHub actions runner (no-changelog) (#6335) 2023-06-02 10:57:53 +02:00
कारतोफ्फेलस्क्रिप्ट™ a1b1f24ddf
feat(core): Replace client-oauth2 with an in-repo package (#6266)
Co-authored-by: Marcus <marcus@n8n.io>
2023-05-17 16:40:53 +02:00
कारतोफ्फेलस्क्रिप्ट™ b7d30f3eab
fix: Revert "Replace client-oauth2 with an in-repo package" (no-changelog) (#6265)
Revert "feat(core): Replace client-oauth2 with an in-repo package (#6056)"

This reverts commit 77ac953eaf.
2023-05-17 10:53:03 +02:00
कारतोफ्फेलस्क्रिप्ट™ 77ac953eaf
feat(core): Replace client-oauth2 with an in-repo package (#6056)
Co-authored-by: Marcus <marcus@n8n.io>
2023-05-16 16:31:11 +02:00
OlegIvaniv e4356283a8
ci: Additionally checkout PR head for e2e tests (no-changelog) (#6105)
* ci: Do not force branch for PR e2e smoke tests

* Use commit SHA for smoke test

* Debug: Echo git before running e2e

* Debugging: Create local merge commit

* Use container with git installed

* Debugging: Manual git checkout PR

* Do not skip checkout

* Use container with git installed

* Add breaking test, install git manualyl

* Use sudo

* Use container with git preinstalled

* Remove debugging e2e
2023-04-27 13:09:50 +02:00
OlegIvaniv 5ff3dea7bb
ci: Always run e2e tests on PR approval (no-changelog) (#5900)
ci: Always run e2e tests on PR approval
2023-04-04 12:29:52 +02:00
कारतोफ्फेलस्क्रिप्ट™ eb3ba83e63
ci: Setup code-coverage reporting for frontend packages (no-changelog) (#5679) 2023-03-14 13:13:21 +01:00
कारतोफ्फेलस्क्रिप्ट™ 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
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
कारतोफ्फेलस्क्रिप्ट™ 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
कारतोफ्फेलस्क्रिप्ट™ 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
कारतोफ्फेलस्क्रिप्ट™ 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
कारतोफ्फेलस्क्रिप्ट™ 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
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
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
Karl Hopkinson-Turrell 712924cbc3
ci: trigger linting on PR title change (#4065) 2022-09-09 14:29:10 +01:00
Karl Hopkinson-Turrell fff0ce62d3
ci: check commit message format (#4010)
* ci: check commit message format

* ci: switch to PR title checking

* ci: target pull request checks to master
2022-09-06 10:26:33 +01:00
कारतोफ्फेलस्क्रिप्ट™ 1f9bdd09a2
fix(ci): Setup a separate workflow action to test for pushes on master (#3951) 2022-08-26 10:27:04 +02:00
Renamed from .github/workflows/tests.yml (Browse further)