swagger-api/swagger-editor

View on GitHub
.github/workflows/nightly-build.yml

Summary

Maintainability
Test Coverage
# Do not modify this file.
# Github Actions only recognizes `workflow_run` and `workflow_dispatch`
# events that are located in the default branch

name: SwaggerEditor@next nightly build

on:
  workflow_dispatch:
  schedule:
    - cron:  '30 22 * * *'

jobs:
  nightly-build:
    runs-on: ubuntu-latest

    steps:
      - uses: actions/checkout@v4
        with:
          submodules: true
          ref: next

      - name: Use Node.js 20
        uses: actions/setup-node@v4
        with:
          node-version: 20

      - name: Cache npm cache files
        id: cache-npm-cache-files
        uses: actions/cache@v4
        with:
          path: ~/.npm
          key: npm-cache-${{ runner.os }}-${{ hashFiles('package-lock.json') }}
      - name: Cache Cypress binary
        id: cache-cypress-binary
        uses: actions/cache@v4
        with:
          path: cypress/cache
          key: cypress-binary-${{ hashFiles('package-lock.json') }}

      - name: Install dependencies
        run: npm ci

      - name: Lint code
        run: npm run lint

      - name: unit tests
        run: npm test
        env:
          CI: true

      - name: Produce build artifacts
        run: npm run build

      - name: Produce npm artifact
        run: npm pack

      - name: E2E Tests
        run: npm run cy:ci

      - name: Upload build artifact
        uses: actions/upload-artifact@v4
        with:
          name: build
          path: ./build

      - name: Upload npm artifact
        uses: actions/upload-artifact@v4
        with:
          name: "swagger-editor-next.tgz"
          path: ./swagger-editor-*.tgz