diff --git a/.github/workflows/backend-license-checker.yml b/.github/workflows/backend-license-checker.yml index d7cb5ae1..8c72bcbe 100644 --- a/.github/workflows/backend-license-checker.yml +++ b/.github/workflows/backend-license-checker.yml @@ -1,4 +1,4 @@ -name: Backend-Models SPDX Licenses Checker +name: Check SPDX Licenses on: workflow_dispatch: @@ -19,17 +19,12 @@ jobs: runs-on: ubuntu-20.04 steps: - uses: actions/checkout@v4 - - uses: actions/setup-python@v5.0.0 with: cache: "pip" python-version: "3.8" - - # Install the copyright checking tool - name: Install copyright check tool run: pip install git+https://github.com/espressif/check-copyright.git@master - - # Check SPDX licenses - name: Check SPDX licenses id: check_spdx_licenses run: | @@ -42,13 +37,10 @@ jobs: echo "EOF" >> $GITHUB_ENV echo "EXIT_CODE=$exit_code" >> $GITHUB_ENV exit 0 - - name: Debug Extracted Files run: | echo "Extracted Files:" echo "$CLEAN_OUTPUT" - - # Extract files needing SPDX header addition - name: Extract Files id: extract_files run: | @@ -65,80 +57,45 @@ jobs: echo "EOF" >> $GITHUB_ENV echo "Extracted Files: $files" exit 0 - - name: Debug Extracted Files run: | echo "Extracted Files:" echo "$FILES" - # Run the `add_spdx_header.py` script to fix missing SPDX headers - - name: Run SPDX Header Script - if: env.FILES != '' - run: | - set +e - python add_spdx_header.py # Run the script to add SPDX headers to the missing files - exit 0 - - # Commit the changes made by `add_spdx_header.py` - - name: Commit changes - if: env.FILES != '' - uses: stefanzweifel/git-auto-commit-action@v5 - with: - commit_user_name: SPDX-Bot - commit_user_email: bot@example.com - commit_message: '🚨✨AUTOMATED COMMIT | Added missing SPDX license headers automatically' - branch: ${{ github.head_ref }} - # Extract and clean file paths - name: Extract File Paths if: env.FILES != '' run: | + # Extract lines starting with './' but ignore any paths following "Modified files:" until a stop marker files_clean=$(echo "$FILES" | awk '/^Modified files:/ {ignore = 1} /^Above is a list of files/ {ignore = 0} !ignore && /^\.\// {print}' | sort | uniq) + # Save the cleaned files into a new environment variable 'FILES_CLEAN' echo "FILES_CLEAN<> $GITHUB_ENV echo "$files_clean" >> $GITHUB_ENV echo "EOF" >> $GITHUB_ENV - echo "Extracted Paths: $files_clean" - + echo "Extracted Paths: $files_clean" - name: Debug Extracted Paths run: | echo "Extracted Paths:" echo "$FILES_CLEAN" echo "---------------------------------" - - # Post a comment on the PR or Issue if there are SPDX issues - name: Comment on PR or Issue if: env.FILES_CLEAN != '' uses: actions/github-script@v7 with: - script: | - const formattedOutput = process.env.FILES_CLEAN; - const issueNumber = context.payload.pull_request.number; - const owner = context.repo.owner; - const repo = context.repo.repo; - if (formattedOutput) { - const commentBody = `Our automated SPDX license verification process has discovered that the following files are missing a license header:\n\`\`\`\n${formattedOutput}\n\`\`\`\nPlease ensure each indicated file includes a valid SPDX license identifier. This is essential for maintaining licensing compliance. Thank you.`; - await github.rest.issues.createComment({ - issue_number: issueNumber, - owner: owner, - repo: repo, - body: commentBody - }); - } else { - console.log("No SPDX license issues found."); - } - - - name: Run SPDX Header Script Again - run: | - set +e - echo "Running SPDX header script again on all files in the repository" - python ./add_spdx_header.py - exit 0 - - # Commit the changes made by the second run of `add_spdx_header.py` - - name: Commit changes from second run - uses: stefanzweifel/git-auto-commit-action@v5 - with: - commit_user_name: SPDX-Bot - commit_user_email: bot@example.com - commit_message: '🚨✨AUTOMATED COMMIT | Final SPDX license header additions' - branch: ${{ github.head_ref }} \ No newline at end of file + script: | + const formattedOutput = process.env.FILES_CLEAN; + const issueNumber = context.issue.number || context.payload.pull_request.number; + const owner = context.repo.owner; + const repo = context.repo.repo; + if (formattedOutput) { + const commentBody = `Our automated SPDX license verification process has discovered that the following files are missing a license header:\n\`\`\`\n${formattedOutput}\n\`\`\`\nPlease ensure each indicated file includes a valid SPDX license identifier. This is essential for maintaining licensing compliance. Your attention and cooperation in updating these files are greatly appreciated. Thank you.`; + await github.rest.issues.createComment({ + issue_number: issueNumber, + owner: owner, + repo: repo, + body: commentBody + }); + core.setFailed("SPDX license issues found."); + } else { + console.log("No SPDX license issues found."); + } \ No newline at end of file diff --git a/.github/workflows/frontend-lint-license-checker.yml b/.github/workflows/frontend-lint-license-checker.yml index 2bcdbd94..237b5885 100644 --- a/.github/workflows/frontend-lint-license-checker.yml +++ b/.github/workflows/frontend-lint-license-checker.yml @@ -40,35 +40,6 @@ jobs: set +e npm run lint || true # Run lint and allow the workflow to continue even if there are warnings/errors - # Check if GPG key exists - - name: Check if GPG key exists - run: | - if [ -n "${{ secrets.GPG_PRIVATE_KEY }}" ]; then - echo "GPG_KEY_EXISTS=true" >> $GITHUB_ENV - else - echo "GPG_KEY_EXISTS=false" >> $GITHUB_ENV - fi - - # Import GPG key if it exists - - name: Import GPG key if it exists - if: env.GPG_KEY_EXISTS == 'true' - uses: crazy-max/ghaction-import-gpg@v6 - with: - gpg_private_key: ${{ secrets.GPG_PRIVATE_KEY }} - passphrase: ${{ secrets.GPG_PASSPHRASE }} - git_user_signingkey: true - git_commit_gpgsign: true - - # Auto-commit changes using stefanzweifel/git-auto-commit-action - - name: Commit changes - uses: stefanzweifel/git-auto-commit-action@v5 - with: - commit_user_name: CleanBot - commit_user_email: your-email@example.com - commit_message: '🚨✨ AUTOMATED COMMIT | Applied Code Formatting, Cleanup and added SPDX license headers' - commit_options: ${{ env.GPG_KEY_EXISTS == 'true' && '-S' || '' }} - branch: ${{ github.head_ref }} - # Run ESLint and Capture Output - name: Run ESLint and Capture Output working-directory: app/frontend @@ -152,11 +123,11 @@ jobs: if (process.env.MISSING_LC_HEADERS === 'true') { const flaggedFiles = process.env.LC_FLAGGED_FILES.trim(); - commentBody += `## 🚨 SPDX-License Header Errors\n\nThe following files are missing the required license headers:\n\n\`\`\`\n${flaggedFiles}\n\`\`\`\nPlease ensure each of these files includes a valid SPDX license identifier. This is essential for maintaining licensing compliance. Thank you!`; + commentBody += `## 🚨 SPDX-License Header Errors\n\nThe following files are missing the required license headers:\n\n\`\`\`\n${flaggedFiles}\n\`\`\`\nPlease ensure each of these files includes a valid SPDX license identifier to maintain licensing compliance.`; } if (lintErrors) { - commentBody += `## Frontend Project: ESLint Errors\n\`\`\`\n${lintErrors}\n\`\`\`\nPlease review and resolve the ESLint errors.`; + commentBody += `\n\n## Frontend Project: ESLint Errors\n\`\`\`\n${lintErrors}\n\`\`\`\nPlease review and resolve the ESLint errors.`; } if (commentBody.trim() && issueNumber) { @@ -169,8 +140,9 @@ jobs: } else { console.log("No relevant errors to report."); } + - name: Fail the Workflow if LC Headers Are Missing if: env.MISSING_LC_HEADERS == 'true' run: | echo "Failing the workflow because LC headers are missing." - exit 1 \ No newline at end of file + exit 1 diff --git a/LICENSE b/LICENSE index 23e63805..6059935c 100644 --- a/LICENSE +++ b/LICENSE @@ -198,4 +198,5 @@ distributed as part of the software: - Django [License available here](https://github.com/django/django/blob/main/LICENSE) - Docker [License available here](https://github.com/docker/docs/blob/main/LICENSE) +- shadcn/ui [License available here](https://github.com/shadcn/ui/blob/main/LICENSE.md) - Third Party Libraries used in Frontend Product [License available here](app/frontend/third-party-licenses.txt) \ No newline at end of file diff --git a/app/api/Dockerfile b/app/api/Dockerfile index 1a0a33b2..ed7b6d1f 100644 --- a/app/api/Dockerfile +++ b/app/api/Dockerfile @@ -1,6 +1,4 @@ -# SPDX-License-Identifier: Apache-2.0 -# -# SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC + FROM python:3.12.5-slim-bookworm diff --git a/app/frontend/package.json b/app/frontend/package.json index aad719ee..15834e1b 100644 --- a/app/frontend/package.json +++ b/app/frontend/package.json @@ -6,7 +6,8 @@ "scripts": { "dev": "vite ", "build": "tsc && vite build", - "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0 --fix", + "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", + "lint-fix":"eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0 --fix", "preview": "vite preview", "generate-license": "npx generate-license-file --input package.json --output ./third-party-licenses.txt" }, diff --git a/app/frontend/src/components/ui/accordion.tsx b/app/frontend/src/components/ui/accordion.tsx index 797f551c..8118ba7f 100644 --- a/app/frontend/src/components/ui/accordion.tsx +++ b/app/frontend/src/components/ui/accordion.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import * as AccordionPrimitive from "@radix-ui/react-accordion"; import { ChevronDown } from "lucide-react"; diff --git a/app/frontend/src/components/ui/alert-dialog.tsx b/app/frontend/src/components/ui/alert-dialog.tsx index 7e9f7a52..3dac28c0 100644 --- a/app/frontend/src/components/ui/alert-dialog.tsx +++ b/app/frontend/src/components/ui/alert-dialog.tsx @@ -1,3 +1,10 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + + import * as React from "react" import * as AlertDialogPrimitive from "@radix-ui/react-alert-dialog" diff --git a/app/frontend/src/components/ui/alert.tsx b/app/frontend/src/components/ui/alert.tsx index 7a5425db..f913fa51 100644 --- a/app/frontend/src/components/ui/alert.tsx +++ b/app/frontend/src/components/ui/alert.tsx @@ -1,3 +1,10 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + + import * as React from "react"; import { cva, type VariantProps } from "class-variance-authority"; import { cn } from "../../lib/utils"; diff --git a/app/frontend/src/components/ui/aspect-ratio.tsx b/app/frontend/src/components/ui/aspect-ratio.tsx index c4abbf37..1f9a3cfc 100644 --- a/app/frontend/src/components/ui/aspect-ratio.tsx +++ b/app/frontend/src/components/ui/aspect-ratio.tsx @@ -1,3 +1,10 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + + import * as AspectRatioPrimitive from "@radix-ui/react-aspect-ratio" const AspectRatio = AspectRatioPrimitive.Root diff --git a/app/frontend/src/components/ui/badge.tsx b/app/frontend/src/components/ui/badge.tsx index 8715086f..90898ed4 100644 --- a/app/frontend/src/components/ui/badge.tsx +++ b/app/frontend/src/components/ui/badge.tsx @@ -1,3 +1,10 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + + /* this shadcnn badge component has been updated to be more specific to a status badge component and should not be used for the other badges in the application */ diff --git a/app/frontend/src/components/ui/breadcrumb.tsx b/app/frontend/src/components/ui/breadcrumb.tsx index b487e5ba..bdd15904 100644 --- a/app/frontend/src/components/ui/breadcrumb.tsx +++ b/app/frontend/src/components/ui/breadcrumb.tsx @@ -1,3 +1,10 @@ +/// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + + import * as React from "react"; import { Slot } from "@radix-ui/react-slot"; import { ChevronRight, MoreHorizontal } from "lucide-react"; diff --git a/app/frontend/src/components/ui/button.tsx b/app/frontend/src/components/ui/button.tsx index e4f754e5..a3aa5f4a 100644 --- a/app/frontend/src/components/ui/button.tsx +++ b/app/frontend/src/components/ui/button.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import { Slot } from "@radix-ui/react-slot"; import { cva, type VariantProps } from "class-variance-authority"; diff --git a/app/frontend/src/components/ui/card.tsx b/app/frontend/src/components/ui/card.tsx index e897db6e..1a76ddf4 100644 --- a/app/frontend/src/components/ui/card.tsx +++ b/app/frontend/src/components/ui/card.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import { cn } from "../../lib/utils"; diff --git a/app/frontend/src/components/ui/collapsible.tsx b/app/frontend/src/components/ui/collapsible.tsx index a23e7a28..9fb25e1e 100644 --- a/app/frontend/src/components/ui/collapsible.tsx +++ b/app/frontend/src/components/ui/collapsible.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as CollapsiblePrimitive from "@radix-ui/react-collapsible" const Collapsible = CollapsiblePrimitive.Root diff --git a/app/frontend/src/components/ui/command.tsx b/app/frontend/src/components/ui/command.tsx index 7936e515..8e6b93de 100644 --- a/app/frontend/src/components/ui/command.tsx +++ b/app/frontend/src/components/ui/command.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import { type DialogProps } from "@radix-ui/react-dialog"; import { Command as CommandPrimitive } from "cmdk"; diff --git a/app/frontend/src/components/ui/dialog.tsx b/app/frontend/src/components/ui/dialog.tsx index 91fdef77..de73e381 100644 --- a/app/frontend/src/components/ui/dialog.tsx +++ b/app/frontend/src/components/ui/dialog.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import * as DialogPrimitive from "@radix-ui/react-dialog"; import { X } from "lucide-react"; diff --git a/app/frontend/src/components/ui/drawer.tsx b/app/frontend/src/components/ui/drawer.tsx index ac053485..94cd9f53 100644 --- a/app/frontend/src/components/ui/drawer.tsx +++ b/app/frontend/src/components/ui/drawer.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import { Drawer as DrawerPrimitive } from "vaul"; diff --git a/app/frontend/src/components/ui/dropdown-menu.tsx b/app/frontend/src/components/ui/dropdown-menu.tsx index 9d393e91..9d275c2a 100644 --- a/app/frontend/src/components/ui/dropdown-menu.tsx +++ b/app/frontend/src/components/ui/dropdown-menu.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import * as DropdownMenuPrimitive from "@radix-ui/react-dropdown-menu"; import { Check, ChevronRight, Circle } from "lucide-react"; diff --git a/app/frontend/src/components/ui/form.tsx b/app/frontend/src/components/ui/form.tsx index 2758e3a7..7c47f749 100644 --- a/app/frontend/src/components/ui/form.tsx +++ b/app/frontend/src/components/ui/form.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import * as LabelPrimitive from "@radix-ui/react-label"; import { Slot } from "@radix-ui/react-slot"; diff --git a/app/frontend/src/components/ui/input.tsx b/app/frontend/src/components/ui/input.tsx index 9162fcb5..309ec981 100644 --- a/app/frontend/src/components/ui/input.tsx +++ b/app/frontend/src/components/ui/input.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import { cn } from "../../lib/utils"; diff --git a/app/frontend/src/components/ui/label.tsx b/app/frontend/src/components/ui/label.tsx index 38ed561d..8d77650e 100644 --- a/app/frontend/src/components/ui/label.tsx +++ b/app/frontend/src/components/ui/label.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import * as LabelPrimitive from "@radix-ui/react-label"; import { cva, type VariantProps } from "class-variance-authority"; diff --git a/app/frontend/src/components/ui/menubar.tsx b/app/frontend/src/components/ui/menubar.tsx index 107f38f7..d6beac94 100644 --- a/app/frontend/src/components/ui/menubar.tsx +++ b/app/frontend/src/components/ui/menubar.tsx @@ -1,8 +1,14 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react" import * as MenubarPrimitive from "@radix-ui/react-menubar" import { Check, ChevronRight, Circle } from "lucide-react" -import { cn } from "@/lib/utils" +import { cn } from "../../lib/utils"; const MenubarMenu = MenubarPrimitive.Menu diff --git a/app/frontend/src/components/ui/navigation-menu.tsx b/app/frontend/src/components/ui/navigation-menu.tsx index 7525f23d..69433e5d 100644 --- a/app/frontend/src/components/ui/navigation-menu.tsx +++ b/app/frontend/src/components/ui/navigation-menu.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import * as NavigationMenuPrimitive from "@radix-ui/react-navigation-menu"; import { cva } from "class-variance-authority"; diff --git a/app/frontend/src/components/ui/popover.tsx b/app/frontend/src/components/ui/popover.tsx index 90e150cf..f7db1478 100644 --- a/app/frontend/src/components/ui/popover.tsx +++ b/app/frontend/src/components/ui/popover.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import * as PopoverPrimitive from "@radix-ui/react-popover"; diff --git a/app/frontend/src/components/ui/progress.tsx b/app/frontend/src/components/ui/progress.tsx index e2ec376a..3a78e86a 100644 --- a/app/frontend/src/components/ui/progress.tsx +++ b/app/frontend/src/components/ui/progress.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import * as ProgressPrimitive from "@radix-ui/react-progress"; diff --git a/app/frontend/src/components/ui/scroll-area.tsx b/app/frontend/src/components/ui/scroll-area.tsx index 38ba8f7e..47138f2e 100644 --- a/app/frontend/src/components/ui/scroll-area.tsx +++ b/app/frontend/src/components/ui/scroll-area.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import * as ScrollAreaPrimitive from "@radix-ui/react-scroll-area"; diff --git a/app/frontend/src/components/ui/select.tsx b/app/frontend/src/components/ui/select.tsx index 1f44bda0..d3af6f6f 100644 --- a/app/frontend/src/components/ui/select.tsx +++ b/app/frontend/src/components/ui/select.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import * as SelectPrimitive from "@radix-ui/react-select"; import { Check, ChevronDown, ChevronUp } from "lucide-react"; diff --git a/app/frontend/src/components/ui/separator.tsx b/app/frontend/src/components/ui/separator.tsx index c099db61..3dc65d03 100644 --- a/app/frontend/src/components/ui/separator.tsx +++ b/app/frontend/src/components/ui/separator.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import * as SeparatorPrimitive from "@radix-ui/react-separator"; import { cn } from "../../lib/utils"; diff --git a/app/frontend/src/components/ui/skeleton.tsx b/app/frontend/src/components/ui/skeleton.tsx index 6e10fe23..bf804ac2 100644 --- a/app/frontend/src/components/ui/skeleton.tsx +++ b/app/frontend/src/components/ui/skeleton.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import { cn } from "../../lib/utils"; function Skeleton({ diff --git a/app/frontend/src/components/ui/spinner.tsx b/app/frontend/src/components/ui/spinner.tsx index ebea8760..32704a34 100644 --- a/app/frontend/src/components/ui/spinner.tsx +++ b/app/frontend/src/components/ui/spinner.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import React from "react"; export const Spinner: React.FC = () => { diff --git a/app/frontend/src/components/ui/stepper.tsx b/app/frontend/src/components/ui/stepper.tsx index 2fa0d8e2..bd1e6bb3 100644 --- a/app/frontend/src/components/ui/stepper.tsx +++ b/app/frontend/src/components/ui/stepper.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + "use client"; import * as React from "react"; diff --git a/app/frontend/src/components/ui/table.tsx b/app/frontend/src/components/ui/table.tsx index d038ce48..c5a54a7e 100644 --- a/app/frontend/src/components/ui/table.tsx +++ b/app/frontend/src/components/ui/table.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import { cn } from "../../lib/utils"; diff --git a/app/frontend/src/components/ui/textarea.tsx b/app/frontend/src/components/ui/textarea.tsx index 1583748f..65b04cd8 100644 --- a/app/frontend/src/components/ui/textarea.tsx +++ b/app/frontend/src/components/ui/textarea.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import { cn } from "../../lib/utils"; diff --git a/app/frontend/src/components/ui/tooltip.tsx b/app/frontend/src/components/ui/tooltip.tsx index 7c0f2be0..e9b96ead 100644 --- a/app/frontend/src/components/ui/tooltip.tsx +++ b/app/frontend/src/components/ui/tooltip.tsx @@ -1,3 +1,9 @@ +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC +// SPDX-License-Identifier: Apache-2.0 +// This file incorporates work covered by the following copyright and permission notice: +// SPDX-FileCopyrightText: Copyright (c) 2023 shadcn +// SPDX-License-Identifier: MIT + import * as React from "react"; import * as TooltipPrimitive from "@radix-ui/react-tooltip"; diff --git a/app/frontend/src/vite-env.d.ts b/app/frontend/src/vite-env.d.ts index 11f02fe2..49916481 100644 --- a/app/frontend/src/vite-env.d.ts +++ b/app/frontend/src/vite-env.d.ts @@ -1 +1,3 @@ +// SPDX-License-Identifier: Apache-2.0 +// SPDX-FileCopyrightText: © 2024 Tenstorrent AI ULC /// diff --git a/check_copyright_config.yaml b/check_copyright_config.yaml new file mode 100644 index 00000000..8235613f --- /dev/null +++ b/check_copyright_config.yaml @@ -0,0 +1,31 @@ +DEFAULT: + perform_check: yes + allowed_licenses: + - Apache-2.0 + - MIT + - GPL-3.0-only + license_for_new_files: Apache-2.0 + new_notice_python: | + """ + SPDX-FileCopyrightText: © {years} Tenstorrent AI ULC + + SPDX-License-Identifier: {license} + """ + new_notice_dockerfile: | + # SPDX-FileCopyrightText: © {years} Tenstorrent AI ULC + # SPDX-License-Identifier: {license} + new_notice_shell: | + # SPDX-FileCopyrightText: © {years} Tenstorrent AI ULC + # SPDX-License-Identifier: {license} + include: + - "*.py" + - "*.dockerfile" + - "*.sh" + - "**/Dockerfile" + +ignore: + perform_check: no + include: + - .github/* + - /CONTRIBUTING.md + - /MAINTAINERS.md