name: 'ci' on: push: branches: - '**' pull_request: branches: - main permissions: contents: read # to fetch code (actions/checkout) jobs: unit-test: runs-on: ubuntu-latest if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository env: PUPPETEER_SKIP_DOWNLOAD: 'true' steps: - uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v3.0.0 - name: Install Node.js uses: actions/setup-node@v4 with: node-version-file: '.node-version' cache: 'pnpm' - run: pnpm install - name: Run unit tests run: pnpm run test-unit lint-and-test-dts: runs-on: ubuntu-latest if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository env: PUPPETEER_SKIP_DOWNLOAD: 'true' steps: - uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v3.0.0 - name: Install Node.js uses: actions/setup-node@v4 with: node-version-file: '.node-version' cache: 'pnpm' - run: pnpm install - name: Run eslint run: pnpm run lint - name: Run prettier run: pnpm run format-check - name: Run type declaration tests run: pnpm run test-dts release: concurrency: group: release if: | github.repository == 'vuejs/core-vapor' && github.event_name == 'push' && !contains(github.event.head_commit.message, 'skip release') runs-on: ubuntu-latest needs: [unit-test, lint-and-test-dts] permissions: contents: read id-token: write steps: - uses: actions/checkout@v4 - name: Install pnpm uses: pnpm/action-setup@v2 - name: Install Node.js uses: actions/setup-node@v4 with: node-version-file: '.node-version' registry-url: 'https://registry.npmjs.org' cache: 'pnpm' - run: pnpm install - run: pnpm release --vapor --skip-tests env: NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} NPM_CONFIG_PROVENANCE: 'true' # benchmarks: # runs-on: ubuntu-latest # if: github.event_name == 'push' || github.event.pull_request.head.repo.full_name != github.repository # env: # PUPPETEER_SKIP_DOWNLOAD: 'true' # steps: # - uses: actions/checkout@v4 # - name: Install pnpm # uses: pnpm/action-setup@v3.0.0 # - name: Install Node.js # uses: actions/setup-node@v4 # with: # node-version-file: '.node-version' # cache: 'pnpm' # - run: pnpm install # - name: Run benchmarks # uses: CodSpeedHQ/action@v2 # with: # run: pnpm vitest bench --run # token: ${{ secrets.CODSPEED_TOKEN }}