mirror of
https://github.com/n8n-io/n8n.git
synced 2026-05-28 15:27:03 +02:00
97 lines
3.3 KiB
YAML
97 lines
3.3 KiB
YAML
name: 'Build: Windows'
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
inputs:
|
|
notify_on_failure:
|
|
description: 'Send Slack notification on build failure'
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
workflow_call:
|
|
inputs:
|
|
notify_on_failure:
|
|
description: 'Send Slack notification on build failure'
|
|
required: false
|
|
type: boolean
|
|
default: false
|
|
secrets:
|
|
QBOT_SLACK_TOKEN:
|
|
required: false
|
|
pull_request:
|
|
branches: [master]
|
|
paths:
|
|
- '**/package.json'
|
|
- '**/turbo.json'
|
|
- '.github/workflows/build-windows.yml'
|
|
- '.github/actions/setup-nodejs/**'
|
|
|
|
jobs:
|
|
build:
|
|
runs-on: windows-latest
|
|
|
|
steps:
|
|
- name: Checkout code
|
|
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
|
|
|
|
- name: Setup Node.js and Build
|
|
uses: ./.github/actions/setup-nodejs
|
|
with:
|
|
build-command: pnpm build
|
|
|
|
- name: Smoke test pnpm start -- -- --version
|
|
shell: pwsh
|
|
run: |
|
|
Write-Host "Running smoke test: pnpm start -- -- --version"
|
|
|
|
pnpm start -- -- --version
|
|
|
|
if ($LASTEXITCODE -ne 0) {
|
|
Write-Host "`n❌ Smoke test failed (exit code: $LASTEXITCODE)"
|
|
exit $LASTEXITCODE
|
|
}
|
|
|
|
Write-Host "`n✓ Smoke test passed"
|
|
|
|
- name: Send Slack notification on failure
|
|
if: failure() && inputs.notify_on_failure == true
|
|
uses: slackapi/slack-github-action@91efab103c0de0a537f72a35f6b8cda0ee76bf0a # v2.1.1
|
|
with:
|
|
method: chat.postMessage
|
|
token: ${{ secrets.QBOT_SLACK_TOKEN }}
|
|
payload: |
|
|
{
|
|
"channel": "C035KBDA917",
|
|
"text": "🚨 Windows build failed for `${{ github.repository }}` on branch `${{ github.ref_name }}`",
|
|
"blocks": [
|
|
{
|
|
"type": "header",
|
|
"text": { "type": "plain_text", "text": "🚨 Windows Build Failed" }
|
|
},
|
|
{
|
|
"type": "section",
|
|
"fields": [
|
|
{ "type": "mrkdwn", "text": "*Repository:*\n<${{ github.server_url }}/${{ github.repository }}|${{ github.repository }}>" },
|
|
{ "type": "mrkdwn", "text": "*Branch:*\n`${{ github.ref_name }}`" },
|
|
{ "type": "mrkdwn", "text": "*Commit:*\n`${{ github.sha }}`" },
|
|
{ "type": "mrkdwn", "text": "*Trigger:*\n${{ github.event_name }}" }
|
|
]
|
|
},
|
|
{
|
|
"type": "section",
|
|
"text": { "type": "mrkdwn", "text": ":warning: *Cross-platform compatibility issue detected*\nThis likely indicates Unix-specific commands in package.json scripts or build configuration that don't work on Windows." }
|
|
},
|
|
{
|
|
"type": "actions",
|
|
"elements": [
|
|
{
|
|
"type": "button",
|
|
"text": { "type": "plain_text", "text": ":github: View Workflow Run" },
|
|
"style": "danger",
|
|
"url": "${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|