mirror of
https://github.com/n8n-io/n8n.git
synced 2024-12-27 13:39:44 -08:00
968b733fd6
* 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
71 lines
2.3 KiB
YAML
71 lines
2.3 KiB
YAML
name: End-to-End tests
|
|
run-name: E2E Tests ${{ inputs.branch }} - ${{ inputs.user }}
|
|
|
|
on:
|
|
schedule:
|
|
- cron: '0 3 * * *'
|
|
workflow_dispatch:
|
|
inputs:
|
|
branch:
|
|
description: 'GitHub branch to test.'
|
|
required: false
|
|
default: 'master'
|
|
spec:
|
|
description: 'Specify specs.'
|
|
required: false
|
|
default: 'e2e/*'
|
|
type: string
|
|
user:
|
|
description: 'User who kicked this off.'
|
|
required: false
|
|
default: 'schedule'
|
|
start-url:
|
|
description: 'URL to call after workflow is kicked off.'
|
|
required: false
|
|
default: ''
|
|
success-url:
|
|
description: 'URL to call after workflow is done.'
|
|
required: false
|
|
default: ''
|
|
|
|
jobs:
|
|
calls-start-url:
|
|
name: Calls start URL
|
|
runs-on: ubuntu-latest
|
|
if: ${{ github.event.inputs.start-url != '' }}
|
|
steps:
|
|
- name: Calls start URL
|
|
run: |
|
|
[[ "${{github.event.inputs.start-url}}" != "" ]] && curl -v -X POST -d 'url=${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}' ${{github.event.inputs.start-url}} || echo ""
|
|
shell: bash
|
|
|
|
run-e2e-tests:
|
|
name: E2E [Electron/Node 18]
|
|
uses: ./.github/workflows/e2e-reusable.yml
|
|
with:
|
|
branch: ${{ github.event.inputs.branch || 'master' }}
|
|
user: ${{ github.event.inputs.user || 'PR User' }}
|
|
spec: ${{ github.event.inputs.spec || 'e2e/*' }}
|
|
secrets:
|
|
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }}
|
|
|
|
calls-success-url-notify:
|
|
name: Calls success URL and notifies
|
|
runs-on: ubuntu-latest
|
|
needs: [run-e2e-tests]
|
|
if: ${{ github.event.inputs.success-url != '' }}
|
|
steps:
|
|
- name: Notify Slack on failure
|
|
uses: act10ns/slack@v2.0.0
|
|
if: failure()
|
|
with:
|
|
status: ${{ job.status }}
|
|
channel: '#updates-build-alerts'
|
|
webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }}
|
|
message: E2E failure for branch `${{ inputs.branch || 'master' }}` deployed by ${{ inputs.user || 'schedule' }} (${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }})
|
|
|
|
- name: Call Success URL - optionally
|
|
run: |
|
|
[[ "${{github.event.inputs.success-url}}" != "" ]] && curl -v ${{github.event.inputs.success-url}} || echo ""
|
|
shell: bash
|