diff --git a/.github/workflows/test-workflows-callable.yml b/.github/workflows/test-workflows-callable.yml index 82fb079ee9..d68d9567bf 100644 --- a/.github/workflows/test-workflows-callable.yml +++ b/.github/workflows/test-workflows-callable.yml @@ -18,13 +18,13 @@ on: type: string default: '' secrets: - N8N_ENCRYPTION_KEY: + ENCRYPTION_KEY: description: 'Encryption key for n8n operations.' required: true CI_SENTRY_DSN: description: 'Sentry DSN for CI test runs.' required: false - RESULTS_WEBHOOK_URL: + WORKFLOW_TESTS_RESULT_DESTINATION: description: 'Webhook URL to send test results to (if enabled).' required: false @@ -33,6 +33,8 @@ jobs: name: Install, Build, and Test Workflows runs-on: blacksmith-2vcpu-ubuntu-2204 timeout-minutes: 10 + env: + N8N_ENCRYPTION_KEY: ${{ secrets.ENCRYPTION_KEY }} steps: - name: Checkout repository @@ -57,13 +59,10 @@ jobs: - name: Import credentials run: ./packages/cli/bin/n8n import:credentials --input=test-workflows/credentials.json - env: - N8N_ENCRYPTION_KEY: ${{ secrets.N8N_ENCRYPTION_KEY }} - name: Import workflows run: ./packages/cli/bin/n8n import:workflow --separate --input=test-workflows/workflows - env: - N8N_ENCRYPTION_KEY: ${{ secrets.N8N_ENCRYPTION_KEY }} + - name: Copy static assets run: | @@ -77,7 +76,6 @@ jobs: run: ./packages/cli/bin/n8n executeBatch --shallow --skipList=test-workflows/skipList.json --githubWorkflow --shortOutput --output=test-results.json --concurrency=16 --compare=test-workflows/snapshots continue-on-error: true env: - N8N_ENCRYPTION_KEY: ${{ secrets.N8N_ENCRYPTION_KEY }} SKIP_STATISTICS_EVENTS: "true" DB_SQLITE_POOL_SIZE: "4" N8N_SENTRY_DSN: ${{ secrets.CI_SENTRY_DSN }} @@ -98,7 +96,7 @@ jobs: if: inputs.send_webhook_report == true shell: bash env: - WEBHOOK_URL: ${{ secrets.RESULTS_WEBHOOK_URL }} + WEBHOOK_URL: ${{ secrets.WORKFLOW_TESTS_RESULT_DESTINATION }} TEST_RESULTS_FILE: ./test-results.json GH_REPOSITORY: ${{ github.repository }} GH_RUN_ID: ${{ github.run_id }} diff --git a/.github/workflows/test-workflows.yml b/.github/workflows/test-workflows.yml deleted file mode 100644 index b19aa6079f..0000000000 --- a/.github/workflows/test-workflows.yml +++ /dev/null @@ -1,125 +0,0 @@ -name: Run test workflows - -on: - schedule: - - cron: '0 2 * * *' - workflow_dispatch: - pull_request: - paths: - - packages/core/package.json - - packages/nodes-base/package.json - - packages/@n8n/nodes-langchain/package.json - - .github/workflows/test-workflows.yml - pull_request_review: - types: [submitted] - -jobs: - build: - name: Install & Build - runs-on: ubuntu-latest - if: | - (github.event_name != 'pull_request_review' || startsWith(github.event.pull_request.base.ref, 'release/')) && - !contains(github.event.pull_request.labels.*.name, 'community') - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 - with: - node-version: 20.x - - - name: Setup corepack and pnpm - run: | - npm i -g corepack@0.31 - corepack enable - - - run: pnpm install --frozen-lockfile - - - name: Setup build cache - uses: rharkor/caching-for-turbo@439abec0d28d21b192fa8817b744ffdf1ee5ac0d # v1.5 - - - name: Build Backend - run: pnpm build:backend - - - name: Cache build artifacts - uses: actions/cache/save@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0 - with: - path: ./packages/**/dist - key: ${{ github.sha }}:workflow-tests - - run-test-workflows: - name: Workflow Tests - runs-on: ubuntu-latest - needs: build - timeout-minutes: 10 - steps: - - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - - - uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0 - with: - node-version: 20.x - - - name: Setup corepack and pnpm - run: | - npm i -g corepack@0.31 - corepack enable - - - run: pnpm install --frozen-lockfile - - - name: Setup build cache - uses: rharkor/caching-for-turbo@439abec0d28d21b192fa8817b744ffdf1ee5ac0d # v1.5 - - - name: Restore cached build artifacts - uses: actions/cache/restore@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0 - with: - path: ./packages/**/dist - key: ${{ github.sha }}:workflow-tests - - - name: Install OS dependencies - run: | - sudo apt update -y - echo 'tzdata tzdata/Areas select Europe' | sudo debconf-set-selections - echo 'tzdata tzdata/Zones/Europe select Paris' | sudo debconf-set-selections - DEBIAN_FRONTEND="noninteractive" sudo apt-get install -y graphicsmagick - - - name: Checkout workflows repo - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - with: - repository: n8n-io/test-workflows - path: test-workflows - - - name: Import credentials - run: packages/cli/bin/n8n import:credentials --input=test-workflows/credentials.json - env: - N8N_ENCRYPTION_KEY: ${{secrets.ENCRYPTION_KEY}} - - - name: Import workflows - run: packages/cli/bin/n8n import:workflow --separate --input=test-workflows/workflows - env: - N8N_ENCRYPTION_KEY: ${{secrets.ENCRYPTION_KEY}} - - - name: Copy static assets - run: | - cp assets/n8n-logo.png /tmp/n8n-logo.png - cp assets/n8n-screenshot.png /tmp/n8n-screenshot.png - cp test-workflows/testData/pdfs/*.pdf /tmp/ - - - name: Run tests - run: packages/cli/bin/n8n executeBatch --shallow --skipList=test-workflows/skipList.txt --githubWorkflow --shortOutput --concurrency=16 --compare=test-workflows/snapshots - id: tests - env: - N8N_ENCRYPTION_KEY: ${{secrets.ENCRYPTION_KEY}} - SKIP_STATISTICS_EVENTS: true - DB_SQLITE_POOL_SIZE: 4 - N8N_SENTRY_DSN: ${{secrets.CI_SENTRY_DSN}} - - - name: Notify Slack on failure - uses: act10ns/slack@ed1309ab9862e57e9e583e51c7889486b9a00b0f # v2.0.0 - if: failure() && github.ref == 'refs/heads/master' - with: - status: ${{ job.status }} - channel: '#alerts-build' - webhook-url: ${{ secrets.SLACK_WEBHOOK_URL }} - message: | - 🛑 Workflow test failed 🛑: - ${{ steps.tests.outputs.slackMessage}} - Sent by *Github Action*: <${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}| Test workflow>