Skip to content

Set unified and openai deps only for demos that use them. In package.json for Codesandbox export #9696

Set unified and openai deps only for demos that use them. In package.json for Codesandbox export

Set unified and openai deps only for demos that use them. In package.json for Codesandbox export #9696

name: Playgrounds tests
concurrency:
group: wf-${{github.event.pull_request.number || github.sha}}-${{github.workflow}}
cancel-in-progress: true
on:
pull_request:
paths-ignore:
- 'apps/**/*.md'
push:
branches: [24_2]
env:
NX_CLOUD_ACCESS_TOKEN: ${{ secrets.NX_TOKEN }}
NX_SKIP_NX_CACHE: ${{ (github.event_name != 'pull_request' || contains( github.event.pull_request.labels.*.name, 'skip-cache')) && 'true' || 'false' }}
jobs:
build:
name: build
strategy:
fail-fast: false
runs-on: devextreme-shr2
timeout-minutes: 15
steps:
- name: Get sources
uses: actions/checkout@v4
- name: Use Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
- uses: pnpm/action-setup@v3
with:
version: 9
run_install: false
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: |
${{ env.STORE_PATH }}
.nx/cache
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store
- name: Install dependencies
run: |
corepack enable
pnpm install
- name: Build
working-directory: ./packages/devextreme
run: pnpx nx build
- name: Zip artifacts
working-directory: ./packages/devextreme
run: |
7z a -tzip -mx3 -mmt2 artifacts.zip artifacts ../devextreme-scss/scss/bundles
- name: Upload build artifacts
uses: actions/upload-artifact@v3
with:
name: devextreme-artifacts
path: ./packages/devextreme/artifacts.zip
retention-days: 1
test:
name: ${{ matrix.ARGS.platform }}
needs: [build]
strategy:
fail-fast: false
matrix:
ARGS: [
{ platform: "angular" },
{ platform: "react" },
{ platform: "vue" },
]
runs-on: devextreme-shr2
timeout-minutes: 60
steps:
- name: Get sources
uses: actions/checkout@v4
- name: Setup Chrome
uses: ./.github/actions/setup-chrome
with:
chrome-version: '121.0.6167.160'
- name: Use Node.js
uses: actions/setup-node@v3
with:
node-version: '20'
- name: Download artifacts
uses: actions/download-artifact@v3
with:
name: devextreme-artifacts
path: ./packages/devextreme
- name: Unpack artifacts
working-directory: ./packages/devextreme
run: 7z x artifacts.zip -aoa
- uses: pnpm/action-setup@v3
with:
version: 9
run_install: false
- name: Get pnpm store directory
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path --silent)" >> $GITHUB_ENV
- uses: actions/cache@v4
name: Setup pnpm cache
with:
path: |
${{ env.STORE_PATH }}
.nx/cache
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store
- name: Install dependencies
run: |
corepack enable
pnpm install
- name: Build
working-directory: ./packages/devextreme-${{ matrix.ARGS.platform }}
run: pnpx nx pack
- name: Check sources compilation
working-directory: ./apps/${{ matrix.ARGS.platform }}
run: pnpx nx build
# - name: Run test
# if: ${{ matrix.ARGS.platform != 'angular' }}
# working-directory: ./apps/${{ matrix.ARGS.platform }}
# run: pnpm run test