From 0e8811f5f06d1c3bbdf771b1a06c9dca52e3f17f Mon Sep 17 00:00:00 2001 From: Schahin Date: Tue, 24 Sep 2024 00:51:52 +0200 Subject: [PATCH] Introduce nativelink web platform including docs & website (#1285) Made with astro & qwik --- .../vocabularies/TraceMachina/accept.txt | 13 + .github/workflows/{docs.yaml => web.yaml} | 49 +- README.md | 6 +- docs/bun.lockb | Bin 323028 -> 0 bytes docs/deno.lock | 84 - docs/package.json | 51 - docs/src/content/config.ts | 6 - docs/src/styles/custom.css | 69 - docs/src/styles/landing.css | 27 - docs/tsconfig.json | 10 - flake.nix | 1 + tools/pre-commit-hooks.nix | 4 +- web/platform/.env.example | 2 + {docs => web/platform}/.gitignore | 19 +- {docs => web/platform}/README.md | 0 {docs => web/platform}/astro.config.ts | 27 +- {docs => web/platform}/biome.json | 15 +- web/platform/bun.lockb | Bin 0 -> 374028 bytes web/platform/deno.lock | 2627 +++++++++++++++++ web/platform/package.json | 67 + {docs => web/platform}/public/favicon.svg | 0 .../platform}/src/assets/architecture.svg | 0 {docs => web/platform}/src/assets/grafana.svg | 0 {docs => web/platform}/src/assets/hero.svg | 0 .../platform}/src/assets/logo-dark.svg | 0 .../platform}/src/assets/logo-light.svg | 0 .../src/components/media/icons/engineers.tsx | 273 ++ .../src/components/media/icons/icons.tsx | 632 ++++ .../components/media/icons/productIcons.tsx | 205 ++ .../src/components/qwik/components/cards.tsx | 112 + .../components/qwik/components/codeTabs.tsx | 78 + .../components/counter/counter.module.css | 12 + .../qwik/components/counter/counter.tsx | 20 + .../src/components/qwik/components/footer.tsx | 210 ++ .../src/components/qwik/components/header.css | 94 + .../src/components/qwik/components/header.tsx | 212 ++ .../src/components/qwik/components/icons.tsx | 19 + .../src/components/qwik/components/logo.tsx | 17 + .../components/qwik/components/nav-link.tsx | 47 + .../src/components/qwik/components/scroll.tsx | 24 + .../qwik/components/some-islands.tsx | 14 + .../src/components/qwik/components/table.tsx | 127 + .../src/components/qwik/components/text.tsx | 39 + .../src/components/qwik/components/video.tsx | 30 + .../src/components/qwik/pages/community.tsx | 118 + .../src/components/qwik/pages/company.tsx | 227 ++ .../src/components/qwik/pages/home.tsx | 21 + .../src/components/qwik/pages/product.tsx | 15 + .../src/components/qwik/sections/benefits.tsx | 43 + .../components/qwik/sections/community.tsx | 59 + .../components/qwik/sections/engineers.tsx | 48 + .../src/components/qwik/sections/feature.tsx | 55 + .../src/components/qwik/sections/hero.tsx | 90 + .../src/components/qwik/sections/impact.tsx | 31 + .../components/qwik/sections/testimonials.tsx | 25 + .../src/components/react/aceternity/index.ts | 8 + web/platform/src/components/react/faq.tsx | 160 + .../src/components/react/react-counter.tsx | 19 + .../src/components/react/ui/image-slider.tsx | 153 + .../src/components/starlight}/PageFrame.astro | 2 +- .../src/components/starlight}/svgpanzoom.ts | 0 web/platform/src/content/config.ts | 17 + web/platform/src/content/data/terms_of_use.ts | 90 + .../docs}/docs/config/basic-configs.mdx | 0 .../docs}/docs/config/production-config.mdx | 0 .../content/docs}/docs/contribute/bazel.mdx | 0 .../content/docs}/docs/contribute/cargo.mdx | 0 .../src/content/docs}/docs/contribute/nix.mdx | 0 .../deployment-examples/on-prem-overview.mdx | 0 .../docs}/docs/explanations/architecture.mdx | 0 .../docs}/docs/explanations/history.mdx | 0 .../src/content/docs}/docs/faq/caching.mdx | 0 .../src/content/docs}/docs/faq/cost.mdx | 0 .../content/docs}/docs/faq/hermeticity.mdx | 0 .../src/content/docs}/docs/faq/lre.mdx | 0 .../src/content/docs}/docs/faq/nix.mdx | 0 .../docs}/docs/faq/remote-execution.mdx | 0 .../src/content/docs}/docs/faq/rust.mdx | 0 .../src/content/docs}/docs/faq/toolchains.mdx | 0 .../platform/src/content/docs}/docs/index.mdx | 4 +- .../docs}/docs/introduction/contributors.mdx | 0 .../docs}/docs/introduction/non-bre.mdx | 0 .../docs}/docs/introduction/on-prem.mdx | 0 .../docs}/docs/nativelink-cloud/Reclient.mdx | 0 .../docs}/docs/nativelink-cloud/api-key.mdx | 0 .../docs}/docs/nativelink-cloud/bazel.mdx | 0 .../docs}/docs/nativelink-cloud/pants.mdx | 0 .../docs}/docs/nativelink-cloud/rbe.mdx | 0 .../content/docs}/docs/reference/glossary.mdx | 0 web/platform/src/content/mails/template.ts | 20 + .../content/posts/Announcement_NativeLink.md | 36 + .../Announcement_TraceMachina_Seedfunding.md | 113 + .../src/content/posts/CaseStudy_CIQ.md | 121 + .../src/content/posts/CaseStudy_Samsung.md | 76 + {docs => web/platform}/src/env.d.ts | 0 web/platform/src/layouts/Layout.astro | 32 + web/platform/src/layouts/MarkdownLayout.astro | 104 + web/platform/src/pages/api/mail.json.ts | 36 + web/platform/src/pages/community.astro | 9 + web/platform/src/pages/company.astro | 9 + web/platform/src/pages/compliance.astro | 33 + web/platform/src/pages/index.astro | 9 + web/platform/src/pages/pricing.astro | 29 + web/platform/src/pages/product.astro | 146 + .../src/pages/resources/blog/[...slug].astro | 43 + .../src/pages/resources/blog/index.astro | 33 + web/platform/src/pages/resources/index.astro | 76 + web/platform/src/pages/terms.astro | 251 ++ {docs => web/platform}/starlight.conf.ts | 13 +- web/platform/styles/custom.css | 68 + web/platform/styles/global.css | 20 + web/platform/styles/landing.css | 27 + .../src => web/platform}/styles/tailwind.css | 41 +- web/platform/tsconfig.json | 17 + {docs/src => web/platform}/utils/md_to_mdx.ts | 0 .../platform}/utils/md_to_mdx_aot.ts | 4 +- {docs/src => web/platform}/utils/metaphase.ts | 0 .../platform}/utils/metaphase_aot.ts | 2 +- web/platform/utils/resend.ts | 74 + .../platform}/utils/rustdoc_types.ts | 0 120 files changed, 7555 insertions(+), 314 deletions(-) rename .github/workflows/{docs.yaml => web.yaml} (83%) delete mode 100755 docs/bun.lockb delete mode 100644 docs/deno.lock delete mode 100644 docs/package.json delete mode 100644 docs/src/content/config.ts delete mode 100644 docs/src/styles/custom.css delete mode 100644 docs/src/styles/landing.css delete mode 100644 docs/tsconfig.json create mode 100644 web/platform/.env.example rename {docs => web/platform}/.gitignore (50%) rename {docs => web/platform}/README.md (100%) rename {docs => web/platform}/astro.config.ts (71%) rename {docs => web/platform}/biome.json (66%) create mode 100755 web/platform/bun.lockb create mode 100644 web/platform/deno.lock create mode 100644 web/platform/package.json rename {docs => web/platform}/public/favicon.svg (100%) rename {docs => web/platform}/src/assets/architecture.svg (100%) rename {docs => web/platform}/src/assets/grafana.svg (100%) rename {docs => web/platform}/src/assets/hero.svg (100%) rename {docs => web/platform}/src/assets/logo-dark.svg (100%) rename {docs => web/platform}/src/assets/logo-light.svg (100%) create mode 100644 web/platform/src/components/media/icons/engineers.tsx create mode 100644 web/platform/src/components/media/icons/icons.tsx create mode 100644 web/platform/src/components/media/icons/productIcons.tsx create mode 100644 web/platform/src/components/qwik/components/cards.tsx create mode 100644 web/platform/src/components/qwik/components/codeTabs.tsx create mode 100644 web/platform/src/components/qwik/components/counter/counter.module.css create mode 100644 web/platform/src/components/qwik/components/counter/counter.tsx create mode 100644 web/platform/src/components/qwik/components/footer.tsx create mode 100644 web/platform/src/components/qwik/components/header.css create mode 100644 web/platform/src/components/qwik/components/header.tsx create mode 100644 web/platform/src/components/qwik/components/icons.tsx create mode 100644 web/platform/src/components/qwik/components/logo.tsx create mode 100644 web/platform/src/components/qwik/components/nav-link.tsx create mode 100644 web/platform/src/components/qwik/components/scroll.tsx create mode 100644 web/platform/src/components/qwik/components/some-islands.tsx create mode 100644 web/platform/src/components/qwik/components/table.tsx create mode 100644 web/platform/src/components/qwik/components/text.tsx create mode 100644 web/platform/src/components/qwik/components/video.tsx create mode 100644 web/platform/src/components/qwik/pages/community.tsx create mode 100644 web/platform/src/components/qwik/pages/company.tsx create mode 100644 web/platform/src/components/qwik/pages/home.tsx create mode 100644 web/platform/src/components/qwik/pages/product.tsx create mode 100644 web/platform/src/components/qwik/sections/benefits.tsx create mode 100644 web/platform/src/components/qwik/sections/community.tsx create mode 100644 web/platform/src/components/qwik/sections/engineers.tsx create mode 100644 web/platform/src/components/qwik/sections/feature.tsx create mode 100644 web/platform/src/components/qwik/sections/hero.tsx create mode 100644 web/platform/src/components/qwik/sections/impact.tsx create mode 100644 web/platform/src/components/qwik/sections/testimonials.tsx create mode 100644 web/platform/src/components/react/aceternity/index.ts create mode 100644 web/platform/src/components/react/faq.tsx create mode 100644 web/platform/src/components/react/react-counter.tsx create mode 100644 web/platform/src/components/react/ui/image-slider.tsx rename {docs/src/components => web/platform/src/components/starlight}/PageFrame.astro (100%) rename {docs/src/components => web/platform/src/components/starlight}/svgpanzoom.ts (100%) create mode 100644 web/platform/src/content/config.ts create mode 100644 web/platform/src/content/data/terms_of_use.ts rename {docs/src/content => web/platform/src/content/docs}/docs/config/basic-configs.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/config/production-config.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/contribute/bazel.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/contribute/cargo.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/contribute/nix.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/deployment-examples/on-prem-overview.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/explanations/architecture.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/explanations/history.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/faq/caching.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/faq/cost.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/faq/hermeticity.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/faq/lre.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/faq/nix.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/faq/remote-execution.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/faq/rust.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/faq/toolchains.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/index.mdx (79%) rename {docs/src/content => web/platform/src/content/docs}/docs/introduction/contributors.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/introduction/non-bre.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/introduction/on-prem.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/nativelink-cloud/Reclient.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/nativelink-cloud/api-key.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/nativelink-cloud/bazel.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/nativelink-cloud/pants.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/nativelink-cloud/rbe.mdx (100%) rename {docs/src/content => web/platform/src/content/docs}/docs/reference/glossary.mdx (100%) create mode 100644 web/platform/src/content/mails/template.ts create mode 100644 web/platform/src/content/posts/Announcement_NativeLink.md create mode 100644 web/platform/src/content/posts/Announcement_TraceMachina_Seedfunding.md create mode 100644 web/platform/src/content/posts/CaseStudy_CIQ.md create mode 100644 web/platform/src/content/posts/CaseStudy_Samsung.md rename {docs => web/platform}/src/env.d.ts (100%) create mode 100644 web/platform/src/layouts/Layout.astro create mode 100644 web/platform/src/layouts/MarkdownLayout.astro create mode 100644 web/platform/src/pages/api/mail.json.ts create mode 100644 web/platform/src/pages/community.astro create mode 100644 web/platform/src/pages/company.astro create mode 100644 web/platform/src/pages/compliance.astro create mode 100644 web/platform/src/pages/index.astro create mode 100644 web/platform/src/pages/pricing.astro create mode 100644 web/platform/src/pages/product.astro create mode 100644 web/platform/src/pages/resources/blog/[...slug].astro create mode 100644 web/platform/src/pages/resources/blog/index.astro create mode 100644 web/platform/src/pages/resources/index.astro create mode 100644 web/platform/src/pages/terms.astro rename {docs => web/platform}/starlight.conf.ts (96%) create mode 100644 web/platform/styles/custom.css create mode 100644 web/platform/styles/global.css create mode 100644 web/platform/styles/landing.css rename {docs/src => web/platform}/styles/tailwind.css (53%) create mode 100644 web/platform/tsconfig.json rename {docs/src => web/platform}/utils/md_to_mdx.ts (100%) rename {docs/src => web/platform}/utils/md_to_mdx_aot.ts (97%) rename {docs/src => web/platform}/utils/metaphase.ts (100%) rename {docs/src => web/platform}/utils/metaphase_aot.ts (92%) create mode 100644 web/platform/utils/resend.ts rename {docs/src => web/platform}/utils/rustdoc_types.ts (100%) diff --git a/.github/styles/config/vocabularies/TraceMachina/accept.txt b/.github/styles/config/vocabularies/TraceMachina/accept.txt index bb9a5a95d..5c8c9bc49 100644 --- a/.github/styles/config/vocabularies/TraceMachina/accept.txt +++ b/.github/styles/config/vocabularies/TraceMachina/accept.txt @@ -13,6 +13,7 @@ LLVM Machina [Mm]onorepo NVMe +hello@nativelink.com NativeLink OCI OSSF @@ -55,3 +56,15 @@ Grafana GitHub Deno shipstorm +hermiticity +performant +unscalable +Warewulf +Apptainer +Verissimo +Delangue +Lackriet +Wainer +Gert +Bruer +Eagan diff --git a/.github/workflows/docs.yaml b/.github/workflows/web.yaml similarity index 83% rename from .github/workflows/docs.yaml rename to .github/workflows/web.yaml index 5d6ecab67..7b9af6455 100644 --- a/.github/workflows/docs.yaml +++ b/.github/workflows/web.yaml @@ -1,10 +1,10 @@ --- -name: Deploy NativeLink Docs +name: Deploy NativeLink Web on: push: branches: [main] paths: - - 'docs/**' + - 'web/platform/**' - '**/*.md' - 'nativelink-config/**' - 'tools/**' @@ -13,7 +13,7 @@ on: pull_request: branches: [main] paths: - - 'docs/**' + - 'web/platform/**' - '**/*.md' - 'nativelink-config/**' - 'tools/**' @@ -29,7 +29,7 @@ jobs: matrix: os: [ ubuntu-24.04, macos-14 ] - name: Docs Deployment / ${{ matrix.os }} + name: Web Platform Deployment / ${{ matrix.os }} runs-on: ${{ matrix.os }} environment: production @@ -42,22 +42,6 @@ jobs: uses: >- # v4.1.1 actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 - - name: Install Nix - uses: >- # v10 - DeterminateSystems/nix-installer-action@de22e16c4711fca50c816cc9081563429d1cf563 - - - name: Cache Nix derivations - uses: >- # v4 - DeterminateSystems/magic-nix-cache-action@fc6aaceb40b9845a02b91e059ec147e78d1b4e41 - - - name: Test Build on Ubuntu - if: matrix.os == 'ubuntu-24.04' && github.event_name == 'pull_request' - working-directory: docs - run: | - nix develop --impure --command bash -c " - bun setup && bun docs && bun run build - " - - name: Free disk space uses: >- # v2.0.0 endersonmenezes/free-disk-space@3f9ec39ebae520864ac93467ee395f5237585c21 @@ -77,18 +61,37 @@ jobs: echo "Deleting iOS Simulator caches" sudo rm -rf ~/Library/Developer/CoreSimulator/Caches/* + - name: Install Nix + uses: >- # v10 + DeterminateSystems/nix-installer-action@de22e16c4711fca50c816cc9081563429d1cf563 + + - name: Cache Nix derivations + uses: >- # v4 + DeterminateSystems/magic-nix-cache-action@fc6aaceb40b9845a02b91e059ec147e78d1b4e41 + + - name: Test Build on Ubuntu + if: matrix.os == 'ubuntu-24.04' && github.event_name == 'pull_request' + working-directory: web/platform + run: | + nix develop --impure --command bash -c " + bun setup && bun docs && bun run build + " + - name: Test Build on macOS if: matrix.os == 'macos-14' && github.event_name == 'pull_request' - working-directory: docs + working-directory: web/platform run: | nix develop --impure --command bash -c "bun setup && bun run build" - name: Production deployment if: matrix.os == 'ubuntu-24.04' && github.ref == 'refs/heads/main' - working-directory: docs + working-directory: web/platform env: DENO_DEPLOY_TOKEN: ${{ secrets.DENO_DEPLOY_TOKEN }} + RESEND_API_KEY: ${{ secrets.RESEND_API_KEY }} run: | nix develop --impure --command bash -c " - bun prod --project=nativelink-docs --org=nativelink --token=$DENO_DEPLOY_TOKEN + bun prod --project=nativelink --org=nativelink \ + --token=$DENO_DEPLOY_TOKEN \ + --env=RESEND_API_KEY=$RESEND_API_KEY " diff --git a/README.md b/README.md index 6b69f3cb8..4de6e6334 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,9 @@