feat(VList): add lazy mode to VListGroup #20286
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: CI | |
on: [push, pull_request] | |
concurrency: | |
group: ci-${{ github.ref }} | |
cancel-in-progress: true | |
env: | |
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} | |
CROWDIN_PROJECT_ID: ${{ secrets.CROWDIN_PROJECT_ID }} | |
CROWDIN_PERSONAL_TOKEN: ${{ secrets.CROWDIN_PERSONAL_TOKEN }} | |
CROWDIN_BRANCH: v3 | |
jobs: | |
pre_job: | |
runs-on: ubuntu-latest | |
outputs: | |
should_skip: ${{ steps.skip_check.outputs.should_skip }} | |
steps: | |
- id: skip_check | |
if: ${{ !startswith(github.ref, 'refs/tags/v') }} | |
uses: fkirc/skip-duplicate-actions@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-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ./.github/actions/yarn-install | |
- run: yarn build vuetify | |
- uses: ./.github/actions/upload-artifact | |
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-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
scopes: ['--scope vuetify --scope @vuetify/api-generator', '--scope vuetifyjs.com'] | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ./.github/actions/download-artifact | |
with: | |
name: vuetify-dist | |
- uses: ./.github/actions/yarn-install | |
- run: yarn lerna run lint $SCOPES | |
env: | |
SCOPES: ${{ matrix.scopes }} | |
test-jest: | |
name: Test (Jest) | |
needs: pre_job | |
if: needs.pre_job.outputs.should_skip != 'true' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ./.github/actions/yarn-install | |
- run: yarn run test:coverage -i | |
working-directory: ./packages/vuetify | |
- uses: codecov/codecov-action@v1 | |
test-cypress: | |
name: Test (Cypress) | |
needs: pre_job | |
if: needs.pre_job.outputs.should_skip != 'true' | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ./.github/actions/yarn-install | |
- run: yarn cy:run --record --parallel --ci-build-id $GITHUB_RUN_ID | |
if: ${{ !startswith(github.ref, 'refs/tags/v') && github.repository_owner == 'vuetifyjs' }} | |
working-directory: ./packages/vuetify | |
env: | |
CYPRESS_RECORD_KEY: ${{ secrets.CYPRESS_RECORD_KEY }} | |
- run: yarn cy:run | |
if: ${{ !startswith(github.ref, 'refs/tags/v') && github.repository_owner != 'vuetifyjs' }} | |
working-directory: ./packages/vuetify | |
- uses: actions/upload-artifact@v2 | |
if: failure() | |
with: | |
name: cypress-screenshots | |
path: ./packages/vuetify/cypress/screenshots/ | |
if-no-files-found: ignore | |
deploy: | |
needs: [lint, test-jest, test-cypress, build-vuetify] | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' && startswith(github.ref, 'refs/tags/v') && github.repository_owner == 'vuetifyjs' | |
steps: | |
- uses: actions/checkout@v2 | |
with: | |
fetch-depth: 0 | |
- uses: ./.github/actions/download-artifact | |
with: | |
name: vuetify-dist | |
- uses: ./.github/actions/yarn-install | |
- run: yarn build api | |
- run: echo "RELEASE_TAG=${GITHUB_REF#refs/tags/}" >> $GITHUB_ENV | |
- name: NPM Release | |
run: bash scripts/deploy.sh | |
env: | |
NPM_API_KEY: ${{ secrets.NPM_TOKEN }} | |
TAG_NAME: ${{ env.RELEASE_TAG }} | |
- name: GitHub release | |
id: create_release | |
run: yarn conventional-github-releaser -p vuetify | |
env: | |
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' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/next') | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ./.github/actions/download-artifact | |
with: | |
name: vuetify-dist | |
- uses: ./.github/actions/yarn-install | |
# TODO: crowdin is returning invalid markdown | |
# - name: Download eo-UY | |
# uses: crowdin/[email protected] | |
# with: | |
# config: crowdin.yml | |
# upload_sources: false | |
# download_translations: true | |
# push_translations: false | |
# export_only_approved: false | |
# download_language: eo | |
# crowdin_branch_name: ${{ env.CROWDIN_BRANCH }} | |
- run: yarn build api | |
- run: yarn build docs | |
env: | |
NODE_OPTIONS: --max-old-space-size=4096 | |
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_AUTH0_DOMAIN: ${{ secrets.AUTH0_DOMAIN }} | |
VITE_AUTH0_CLIENT_ID: ${{ secrets.AUTH0_CLIENT_ID }} | |
VITE_GITHUB_SHA: ${{ github.sha }} | |
- uses: ./.github/actions/upload-artifact | |
with: | |
name: docs-dist | |
path: packages/docs/dist | |
publish-docs: | |
needs: [lint, test-jest, build-docs] | |
runs-on: ubuntu-latest | |
if: github.event_name == 'push' && github.repository_owner == 'vuetifyjs' && (github.ref == 'refs/heads/master' || github.ref == 'refs/heads/dev' || github.ref == 'refs/heads/next') | |
steps: | |
- uses: actions/checkout@v2 | |
- uses: ./.github/actions/download-artifact | |
with: | |
name: docs-dist | |
- uses: ./.github/actions/yarn-install | |
- run: yarn global add vercel | |
- run: node scripts/deploy-and-alias.js ${{ github.ref }} | |
env: | |
NOW_TOKEN: ${{ secrets.NOW_TOKEN }} |