Skip to content

Merge pull request #165 from INCYDE-GmbH/develop #490

Merge pull request #165 from INCYDE-GmbH/develop

Merge pull request #165 from INCYDE-GmbH/develop #490

Workflow file for this run

name: Draw.io Plugin CI
on:
push:
paths:
- '.github/workflows/node.js.yml'
- 'docker/**'
- 'src/**'
- 'package-lock.json'
- 'package.json'
- '**.ts'
- '**.js'
pull_request:
paths:
- '.github/workflows/node.js.yml'
- 'docker/**'
- 'src/**'
- 'package-lock.json'
- 'package.json'
- '**.ts'
- '**.js'
jobs:
# https://github.com/orgs/community/discussions/27031#discussioncomment-3254376
pre_job:
name: Check duplicate
runs-on: ubuntu-latest
outputs:
should_skip: ${{ steps.skip_check.outputs.should_skip }}
steps:
- id: skip_check
uses: fkirc/skip-duplicate-actions@f75f66ce1886f00957d99748a42c724f4330bdcf # v5.3.1
with:
skip_after_successful_duplicate: 'true'
concurrent_skipping: 'same_content_newer'
build:
name: Build Draw.io Plugin
runs-on: ubuntu-latest
needs: pre_job
if: ${{ needs.pre_job.outputs.should_skip != 'true' }}
steps:
- name: Check out the repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Use Node.js 22.x
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020 # v4.4.0
with:
node-version: 22.x
cache: 'npm'
- run: npm ci
- run: npm run build --if-present
- run: npm run lint
- name: Install Playwright
run: npx playwright install --with-deps
- name: Create Docker image for Draw.io webserver
run: npm run docker
- name: Start draw.io webserver
run: npm run start
- name: Run Playwright tests
run: npm run test
- name: Archive Playwright test results
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
if: always()
with:
name: playwright-test-results
path: test-results/
- name: Stop webserver
if: always()
run: npm run stop
- name: Archive compiled plugin
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: plugin
path: dist/attackgraphs.js