Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
2 changes: 0 additions & 2 deletions .env

This file was deleted.

4 changes: 0 additions & 4 deletions .eslintignore

This file was deleted.

49 changes: 10 additions & 39 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -1,39 +1,10 @@
# Set the default behavior, in case people don't have core.autocrlf set.
# Handle line endings automatically for files detected as text
# and leave all files detected as binary untouched.
* text=auto

# Never modify line endings of our bash scripts
*.sh -crlf

# The above will handle all files NOT found below
# Declare files that will always have CRLF line endings on checkout.
*.cs -crlf
*.css -crlf
*.tsx -crlf
*.ts -crlf
*.js -crlf
*.json -crlf
*.html -crlf
*.razor -crlf
*.txt -crlf
*.xml -crlf

*.cs text eol=crlf
*.css text eol=crlf
*.tsx text eol=crlf
*.ts text eol=crlf
*.js text eol=crlf
*.json text eol=crlf
*.html text eol=crlf
*.razor text eol=crlf
*.txt text eol=crlf
*.xml text eol=crlf

# These files are binary and should be left untouched
# (binary is macro for -text -diff)
*.class binary
*.jar binary
*.gif binary
*.jpg binary
*.png binary
# LF in the index and the working tree, on every OS.
* text=auto eol=lf

# Binaries: never normalize or diff.
*.png binary
*.PNG binary
*.jpg binary
*.gif binary
*.ico binary
*.zip binary
11 changes: 0 additions & 11 deletions .gitconfig

This file was deleted.

14 changes: 14 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
version: 2

updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

- package-ecosystem: "npm"
directory: "/"
schedule:
interval: "daily"
# Disables version updates; only Dependabot security updates are raised for npm dependencies.
open-pull-requests-limit: 0
97 changes: 97 additions & 0 deletions .github/workflows/build-and-deploy.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
name: Build and Deploy

on:
push:
branches:
- vnext
- master
workflow_dispatch:
inputs:
branch:
description: 'Branch to build and deploy (e.g. vnext)'
required: true

permissions:
contents: read

env:
BRANCH_REF: ${{ github.event.inputs.branch && format('refs/heads/{0}', github.event.inputs.branch) || github.ref }}

jobs:
build-and-deploy:
runs-on: ubuntu-latest

steps:
- name: Checkout
uses: actions/checkout@v7
with:
ref: ${{ env.BRANCH_REF }}

- name: Setup Node.js
uses: actions/setup-node@v7
with:
node-version: 24.x
cache: npm

- name: Configure licensed @infragistics registry
run: |
rm -f .npmrc
echo "@infragistics:registry=https://packages.infragistics.com/npm/js-licensed/" >> .npmrc
echo "//packages.infragistics.com/npm/js-licensed/:username=${{ secrets.INFRAGISTICS_NPM_USER }}" >> .npmrc
echo "//packages.infragistics.com/npm/js-licensed/:_auth=${{ secrets.INFRAGISTICS_NPM_TOKEN }}" >> .npmrc

- name: npm ci
run: npm ci

# Swap the trial packages for their licensed builds, same versions:
# igniteui-react-grids@19.9.0 → @infragistics/igniteui-react-grids@19.9.0
# Sources keep their trial import names; the resolve-igniteui-scoped
# plugin in astro.config.mjs maps them to whichever build is installed.
- name: Replace trial IG packages with licensed builds
run: |
mapfile -t trial < <(jq -r '.dependencies | to_entries[]
| select(.key | test("^igniteui-(react|dockmanager)"))
| "\(.key)@\(.value)"' package.json)
echo "licensed: ${trial[*]}"
npm uninstall "${trial[@]%@*}"
npm install "${trial[@]/#/@infragistics/}"

- name: Build
run: npm run build
env:
BASE_PATH: /react-demos
# No source maps in the deployed site.
NODE_ENV: production

- name: Package samples browser
run: |
cd dist
zip -qr "${{ github.workspace }}/react-demos.zip" ./

- name: Publish pipeline artifact
uses: actions/upload-artifact@v7
with:
name: react-demos-artifact
path: react-demos.zip

- name: Trigger Deploy Workflow in IgniteUI Actions
uses: actions/github-script@v8
with:
github-token: ${{ secrets.CLASSIC_PAT_GITHUB }}
script: |
await github.rest.repos.createDispatchEvent({
owner: 'IgniteUI',
repo: 'igniteui-actions',
event_type: 'igniteui-samples-cd',
client_payload: {
calling_branch: "${{ env.BRANCH_REF }}",
repository: "${{ github.repository }}",
run_id: "${{ github.run_id }}",
artifact_name: "react-demos-artifact",
base_href: "react-demos",
submodule_dir: "react-demos",
ref: "${{ github.ref }}",
sha: "${{ github.sha }}",
branch: '${{ github.ref_name }}',
}
});
36 changes: 0 additions & 36 deletions .github/workflows/build-sb.yml

This file was deleted.

73 changes: 73 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: CI

on:
push:
branches: [vnext]
pull_request:
branches: [vnext, master]

# Cancel superseded runs on the same PR/branch.
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

permissions:
contents: read

env:
# Build and test the deployed shape: https://www.infragistics.com/react-demos
BASE_PATH: /react-demos

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v7

- name: Use Node.js
uses: actions/setup-node@v7
with:
node-version: 24.x
cache: npm

- name: npm ci
run: npm ci

# Sample package.json files must match scripts/lib/versions.js;
# a hand-edited version would silently drift from every other sample.
- name: Package versions in sync
run: |
npm run update:ig
git diff --exit-code -- package.json 'samples/**/package.json'

- name: Type check
run: npm run check

- name: Build
run: npm run build

# Browser binaries are cached per Playwright version; OS deps (apt) are
# not cacheable and are installed on every run.
- name: Get Playwright version
id: playwright
run: echo "version=$(npx playwright --version | awk '{print $2}')" >> "$GITHUB_OUTPUT"

- name: Cache Playwright browser
id: playwright-cache
uses: actions/cache@v6
with:
path: ~/.cache/ms-playwright
key: playwright-${{ runner.os }}-${{ steps.playwright.outputs.version }}

# Headless tests only need the headless shell, not full Chromium.
- name: Install Playwright browser
if: steps.playwright-cache.outputs.cache-hit != 'true'
run: npx playwright install --with-deps --only-shell chromium

- name: Install Playwright OS deps
if: steps.playwright-cache.outputs.cache-hit == 'true'
run: npx playwright install-deps chromium

- name: Smoke tests
run: npm run test:smoke
Loading
Loading