diff --git a/.github/workflows/UPDATE_VISUAL_SNAPSHOTS.yml b/.github/workflows/UPDATE_VISUAL_SNAPSHOTS.yml new file mode 100644 index 000000000..39a5a8431 --- /dev/null +++ b/.github/workflows/UPDATE_VISUAL_SNAPSHOTS.yml @@ -0,0 +1,36 @@ +name: Update Visual Regression Snapshots + +on: + pull_request: + types: [labeled, synchronize] + +jobs: + update-snapshots: + if: github.event.pull_request.state != 'closed' && (github.event.label.name == 'update-snapshots' || contains( github.event.pull_request.labels.*.name, 'update-snapshots')) + runs-on: ubuntu-latest + container: + image: mcr.microsoft.com/playwright:v1.40.1 + options: --user 1001:1000 + + steps: + - name: Check out repository code + uses: actions/checkout@v4 + - name: Setup NPM cache + uses: actions/setup-node@v4 + with: + node-version: "20" + cache: "npm" + - name: Install node dependencies + run: npm ci + - name: Build frontend + run: npm run build + - name: Build mock website + run: npm run build:e2e + - name: Start server + run: npm run start:visual-preview + - name: Run Playwright tests + run: npm run test:visual -- --update-snapshots + - name: Commit screenshots + uses: stefanzweifel/git-auto-commit-action@v5 + with: + commit_message: "chore: updated snapshots" diff --git a/.github/workflows/VISUAL_REGRESSION.yml b/.github/workflows/VISUAL_REGRESSION.yml index ab77e2ea8..abb425c67 100644 --- a/.github/workflows/VISUAL_REGRESSION.yml +++ b/.github/workflows/VISUAL_REGRESSION.yml @@ -26,16 +26,6 @@ jobs: - name: Run Playwright tests if: github.ref != 'refs/heads/develop' && github.ref != 'refs/heads/master' run: npm run test:visual - - name: Overwrite Playwright snapshots - if: github.ref == 'refs/heads/develop' || github.ref == 'refs/heads/master' - run: | - npm run test:visual -- --update-snapshots - git config user.name '${{ secrets.BPMN_IO_USERNAME }}' - git config user.email '${{ secrets.BPMN_IO_EMAIL }}' - git add -A - git commit -m "chore(CI): updated snapshots [skip ci]" || echo "No changes to commit" - git push - - uses: actions/upload-artifact@v4 if: always() with: