/
githubmirror
/
vuetify
Обзор
Документация
Войти
/
githubmirror
/
vuetify
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
.github/workflows/ci.yml
166 строк
6 KB
J-Sek
chore(ci): bump native GH actions to use node24
02 июл 2026, 14:09
02 июл 2026, 14:09
d54db07
Код
Авторство
О чём код?
name: CI on: [push, pull_request] concurrency: group: ci-${{ github.ref }} cancel-in-progress: true env: CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} jobs: pre_job: runs-on: ubuntu-24.04 outputs: should_skip: ${{ steps.skip_check.outputs.should_skip }} steps: - id: skip_check if: ${{ !startsWith(github.ref, 'refs/tags/v') && github.ref_name != 'master' }} uses: fkirc/skip-duplicate-actions@04a1aebece824b56e6ad6a401d015479cd1c50b3 # master with: skip_after_successful_duplicate: 'true' concurrent_skipping: same_content do_not_skip: '["pull_request", "workflow_dispatch", "schedule"]' build-vuetify: name: Build vuetify needs: pre_job if: needs.pre_job.outputs.should_skip != 'true' runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 - uses: vuetifyjs/setup-action@cb5ac088588387e65433a762de90c0b06d878677 # master - run: pnpm build vuetify - uses: actions/upload-artifact@v7 with: name: vuetify-dist path: | packages/vuetify/dist packages/vuetify/lib lint: name: Lint needs: [pre_job, build-vuetify] if: needs.pre_job.outputs.should_skip != 'true' runs-on: ubuntu-24.04 strategy: fail-fast: false matrix: scopes: ['--filter vuetify --filter @vuetify/api-generator', '--filter vuetifyjs.com'] steps: - uses: actions/checkout@v6 - uses: actions/download-artifact@v7 with: name: vuetify-dist path: packages/vuetify - uses: vuetifyjs/setup-action@cb5ac088588387e65433a762de90c0b06d878677 # master - run: pnpm run $SCOPES lint env: SCOPES: ${{ matrix.scopes }} test: name: Test needs: pre_job if: needs.pre_job.outputs.should_skip != 'true' runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 - uses: actions/cache@v5 with: path: ~/.cache/ms-playwright key: ${{ runner.os }}-playwright-${{ hashFiles('./pnpm-lock.yaml') }} - uses: vuetifyjs/setup-action@cb5ac088588387e65433a762de90c0b06d878677 # master - run: pnpm exec playwright install chromium - run: pnpm run test working-directory: ./packages/vuetify - uses: actions/upload-artifact@v7 if: failure() with: name: Test screenshots path: packages/vuetify/test/__screenshots__ if-no-files-found: ignore overwrite: true deploy: needs: [lint, test, build-vuetify] runs-on: ubuntu-24.04 if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/v') && github.repository_owner == 'vuetifyjs' environment: production permissions: contents: write id-token: write steps: - uses: actions/checkout@v6 with: fetch-depth: 0 - uses: actions/download-artifact@v7 with: name: vuetify-dist path: packages/vuetify - uses: vuetifyjs/setup-action@cb5ac088588387e65433a762de90c0b06d878677 # master - run: pnpm build api - run: npm install -g npm@latest - name: NPM Release run: | npm publish ./packages/vuetify --tag $(node ./scripts/parse-npm-tag.js $GITHUB_REF_NAME) - name: GitHub release id: create_release run: pnpm conventional-github-releaser -p vuetify env: DEBUG: '*' CONVENTIONAL_GITHUB_RELEASER_TOKEN: ${{ secrets.GITHUB_TOKEN }} build-docs: name: Build docs needs: [pre_job, build-vuetify] if: > needs.pre_job.outputs.should_skip != 'true' && github.event_name == 'push' && github.repository_owner == 'vuetifyjs' && contains(toJSON('["master", "dev", "next"]'), github.ref_name) runs-on: ubuntu-24.04 steps: - uses: actions/checkout@v6 - uses: actions/download-artifact@v7 with: name: vuetify-dist path: packages/vuetify - uses: vuetifyjs/setup-action@cb5ac088588387e65433a762de90c0b06d878677 # master - uses: ./.github/actions/download-locales - run: pnpm build api - run: pnpm build docs env: NODE_OPTIONS: --max-old-space-size=10240 VITE_COSMIC_2_BUCKET_SLUG: ${{ secrets.COSMIC_2_BUCKET_SLUG }} VITE_COSMIC_2_BUCKET_READ_KEY: ${{ secrets.COSMIC_2_BUCKET_READ_KEY }} VITE_COSMIC_BUCKET_SLUG: ${{ secrets.COSMIC_BUCKET_SLUG }} VITE_COSMIC_BUCKET_READ_KEY: ${{ secrets.COSMIC_BUCKET_READ_KEY }} VITE_COSMIC_BUCKET_SLUG_STORE: ${{ secrets.COSMIC_BUCKET_SLUG_STORE }} VITE_COSMIC_BUCKET_READ_KEY_STORE: ${{ secrets.COSMIC_BUCKET_READ_KEY_STORE }} VITE_EMAILJS_PUBLIC_KEY: ${{ secrets.EMAILJS_PUBLIC_KEY }} VITE_EMAILJS_SERVICE_ID: ${{ secrets.EMAILJS_SERVICE_ID }} VITE_EMAILJS_TEMPLATE_ID: ${{ secrets.EMAILJS_TEMPLATE_ID }} VITE_API_SERVER_URL: ${{ secrets.API_SERVER_URL }} VITE_GITHUB_SHA: ${{ github.sha }} VITE_GITHUB_REF: ${{ github.ref_name }} - uses: actions/upload-artifact@v7 with: name: docs-dist path: packages/docs/dist publish-docs: needs: [lint, test, build-docs] runs-on: ubuntu-24.04 environment: ${{ github.ref_name }} steps: - uses: actions/checkout@v6 - uses: actions/download-artifact@v7 with: name: docs-dist path: packages/docs/dist - uses: vuetifyjs/coolify-action@37a9c5a532f4c489e941d43edffd73fd2af00ec2 # master with: token: ${{ secrets.GITHUB_TOKEN }} imageName: docs coolifyWebhook: ${{ secrets.COOLIFY_WEBHOOK }} coolifySecret: ${{ secrets.COOLIFY_TOKEN }}