Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Yandex турбо страницы #99

Closed
2 tasks done
Nelfimov opened this issue Sep 17, 2024 · 21 comments · Fixed by #115, #182 or #191
Closed
2 tasks done

Yandex турбо страницы #99

Nelfimov opened this issue Sep 17, 2024 · 21 comments · Fixed by #115, #182 or #191
Assignees
Labels
enhancement New feature or request

Comments

@Nelfimov
Copy link
Contributor

Nelfimov commented Sep 17, 2024

С чем связан запрос на фичу?

Необходимо изучить и внедрить Yandex турбо страницы в site и blog

Расскажите как вы это себе видите

Приложите пример реализаций

No response

@kirill-ivanovvv
Copy link
Contributor

  1. нужно будет сделать дополнительный route-group - yandex-turbo (shdwor.pro/yandex-turbo/${originalRoute})
  2. по запросу на этот роут возвращать страницу, сверстанную по требованиям yandex-turbo
  • есть спецефичные требования, пока не понимаю по всем ли мы проходим. возможно, нужно будет подбить верстку
  • например, требуют тег head и h1 (заголовок СТРАНИЦЫ) для каждой страницы - у нас вся верстка на div'ах
  • нужна спецефичная обертка для каждой страницы - https://yandex.ru/dev/turbo/doc/ru/rss/simple-rss#first-step . по запросу на yandex-turbo-route наш сайт должен возвращать не html, а rss по шаблону яндекса
  • сделаю для этого роута свой лейаут, в контентную часть помещу контент с готовых страниц
  1. нужна настройка через веб-мастер - https://yandex.ru/dev/turbo/doc/ru/rss/simple-rss#step-4 . @Nelfimov он подключен у нас?
  • если нет, то могу подключить, добавив meta в head - на свой аккаунт. потом поменяем, но нужно будет в прод забросить сайт с новым тегом
  • если да, то нужен доступ

https://yandex.ru/dev/turbo/doc/ru/rss/upload-and-update#upload

@Nelfimov
Copy link
Contributor Author

Nelfimov commented Nov 7, 2024

Пока сделай первые пункты, веб мастер позже

@Nelfimov
Copy link
Contributor Author

Nelfimov commented Nov 7, 2024

@TorinAsakura у нас есть веб-мастер?

https://yandex.ru/dev/turbo/doc/ru/rss/simple-rss#step-4

@kirill-ivanovvv
Copy link
Contributor

Текущий статус

  • сделал api-роут
  • написал для него весь функционал

  • делаем гет-запрос с серверной функции на страницу, получаем чистый html. (для того, чтобы сделать гет-запрос с серверной функции добавил env-переменную SITE_ORIGIN, с фоллбэком)
  • при помощи regex вытаскиваем из этого html body
  • подставляем эти данные + еще парочку вспомогательных в шаблон яндекса
  • отправляем xml

  • делал по вот этой инструкции - https://yandex.ru/dev/turbo/doc/ru/rss/simple-rss#step-4
  • в шаблон включил данные - link, header, h1 (заголовок страницы), body (контент странцы. пишут, что шаблонный должен совпадать с оригиналом)

Дальнейшие планы

  • получить доступ к вебмастеру
  • прописать урл всех страниц
  • протестировать

Актуальная ветка

@kirill-ivanovvv
Copy link
Contributor

@TorinAsakura у нас есть веб-мастер?

https://yandex.ru/dev/turbo/doc/ru/rss/simple-rss#step-4

@TorinAsakura подскажи что с вебмастером. можем заливать, тестировать

@TorinAsakura
Copy link
Member

@TorinAsakura у нас есть веб-мастер?
https://yandex.ru/dev/turbo/doc/ru/rss/simple-rss#step-4

@TorinAsakura подскажи что с вебмастером. можем заливать, тестировать

конечно есть, давайте мыло своё на Яндексе

@Nelfimov тебя на рабочую добавил

@kirill-ivanovvv
Copy link
Contributor

конечно есть, давайте мыло своё на Яндексе

[email protected]

@Nelfimov
Copy link
Contributor Author

Nelfimov commented Jan 9, 2025

@kirill-ivanovvv переоткрываю - надо проверить с новым UI китом

@kirill-ivanovvv
Copy link
Contributor

@Nelfimov

насколько подробно нужно переверстывать?
страницы работают, но выглядят вот так:

2025-01-091736425509.mp4
  • сейчас сделанно так, что мы запрашиваем верстку (простой гет-запрос по уже готовым роутам) в виде html, вытаскиваем body и оборачиваем в требуемую yandex-turbo обертку
    • верстку ни как не преобразуем
    • можно добавить в url-запроса search-param (например, version=yandex-turbo) для того, чтобы получать версию верстки для yandex-turbo
  • нужно весь контент с оригинального сайта продублировать на турбо-страницы
    image
    • интерактивные компоненты в верстке у нас дублируются (мобильная и десктопная версия), яндекс-турбо, соответственно, отрисовывает оба варианта
      image

@Nelfimov
Copy link
Contributor Author

Nelfimov commented Jan 9, 2025

  • интерактивные компоненты в верстке у нас дублируются (мобильная и десктопная версия), яндекс-турбо, соответственно, отрисовывает оба варианта

Давай как минимум вот это фильтровать.

Как сделаешь - перепроверимся с результатом

@kirill-ivanovvv
Copy link
Contributor

Что сделано:

  • добавил опциональный рендеринг для одного фрагмента в @site.
    • опциональный парамент передаю через searchQueries
  • вынес yandex-turbo-api-route в shared
  • добавил yandex-turbo-api-route для @blog

Что дальше:

  • делаю опциональный рендеринг для slider

Актуальная ветка:

@kirill-ivanovvv
Copy link
Contributor

Давай как минимум вот это фильтровать.

это профильтровал

Как сделаешь - перепроверимся с результатом

ты имеешь ввиду в проде затестить?

@Nelfimov
Copy link
Contributor Author

ты имеешь ввиду в проде затестить?

Да - убрали лишнее, отправили в прод, посмотрели состояние, пошли дальше убирать то что режет глаз.

@kirill-ivanovvv
Copy link
Contributor

@Nelfimov почему релиз не заканчивается?

на локалке запускал image pack - тоже не собирался. на последнем шаге завис на несколько минут, прервал процесс. прикладываю логи

logs

[operator@archlinux atls_shdvor]$ yarn workspaces foreach -A image pack
[shdvor]: Process started
[shdvor]: ➤ YN0000: Workspace shdvor not allowed for package.
[shdvor]: ➤ YN0000: Done in 0s 1ms
[shdvor]: Process exited (exit code 0), completed in 0s 240ms

[@blog/app]: Process started
[@blog/app]: ➤ YN0000: Package workspace @blog/app to /tmp/xfs-2ce15ca6
[@blog/app]: ➤ YN0036: Calling the "prepack" lifecycle script
[@blog/app]: ➤ YN0000: ┌ Resolution step
[@blog/app]: ➤ YN0085: │ + @apollo/client@npm:3.11.3, @atls/next-document-with-gtag@npm:0.1.1, @atls/next-document-with-helmet@npm:0.3.1, @emotion/react@npm:11.13.0, and 165 more.
[@blog/app]: ➤ YN0000: └ Completed in 3s 186ms
[@blog/app]: ➤ YN0000: ┌ Post-resolution validation
[@blog/app]: ➤ YN0060: │ next is listed by your project with version 14.2.21 (p3b029), which doesn't satisfy what @atls/next-document-with-gtag and other dependencies request (14.1.0).
[@blog/app]: ➤ YN0060: │ react is listed by your project with version 18.3.1 (p1d499), which doesn't satisfy what @atls/next-document-with-gtag and other dependencies request (but they have non-overlapping ranges!).
[@blog/app]: ➤ YN0060: │ react-dom is listed by your project with version 18.3.1 (pff105), which doesn't satisfy what @atls/next-document-with-gtag and other dependencies request (18.2.0).
[@blog/app]: ➤ YN0086: │ Some peer dependencies are incorrectly met by your project; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code.
[@blog/app]: ➤ YN0068: │ @sentry/opentelemetry ➤ dependencies ➤ @opentelemetry/core: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @sentry/opentelemetry ➤ dependencies ➤ @opentelemetry/sdk-trace-base: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @sentry/opentelemetry ➤ dependencies ➤ @opentelemetry/instrumentation: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls-ui-parts/text ➤ dependencies ➤ @vanilla-extract/css: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls-ui-parts/theme ➤ dependencies ➤ @vanilla-extract/css: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls-ui-parts/select ➤ dependencies ➤ @vanilla-extract/css: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls-ui-parts/link ➤ dependencies ➤ @vanilla-extract/css: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls-ui-parts/layout ➤ dependencies ➤ @vanilla-extract/css: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls-ui-parts/input ➤ dependencies ➤ @vanilla-extract/css: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls-ui-parts/checkbox ➤ dependencies ➤ @vanilla-extract/css: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls-ui-parts/button ➤ dependencies ➤ @vanilla-extract/css: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @vanilla-extract/recipes ➤ dependencies ➤ @vanilla-extract/css: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @svgr/core ➤ dependencies ➤ @svgr/plugin-svgo: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @svgr/core ➤ dependencies ➤ @svgr/plugin-jsx: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @svgr/core ➤ dependencies ➤ @svgr/plugin-prettier: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls/figma-theme-shadows-generator ➤ dependencies ➤ @atls/figma-theme-generator-common: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls/figma-theme-line-heights-generator ➤ dependencies ➤ @atls/figma-theme-generator-common: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls/figma-theme-fonts-generator ➤ dependencies ➤ @atls/figma-theme-generator-common: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls/figma-theme-radii-generator ➤ dependencies ➤ @atls/figma-theme-generator-common: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls/figma-theme-font-weights-generator ➤ dependencies ➤ @atls/figma-theme-generator-common: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls/figma-theme-font-sizes-generator ➤ dependencies ➤ @atls/figma-theme-generator-common: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls/figma-theme-borders-generator ➤ dependencies ➤ @atls/figma-theme-generator-common: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @apollo/experimental-nextjs-app-support ➤ dependencies ➤ next: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls-ui-parts/carousel ➤ dependencies ➤ @atls-ui-parts/dom: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @atls-ui-parts/carousel ➤ dependencies ➤ @vanilla-extract/css: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @aws-sdk/credential-provider-ini ➤ dependencies ➤ @aws-sdk/client-sts: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @aws-sdk/credential-provider-ini ➤ peerDependencies ➤ @aws-sdk/credential-provider-node: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @aws-sdk/credential-provider-web-identity ➤ dependencies ➤ @aws-sdk/client-sts: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @aws-sdk/credential-provider-web-identity ➤ peerDependencies ➤ @aws-sdk/credential-provider-node: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @aws-sdk/token-providers ➤ dependencies ➤ @aws-sdk/client-sso-oidc: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @aws-sdk/token-providers ➤ peerDependencies ➤ @aws-sdk/credential-provider-node: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @nestjs/common ➤ dependencies ➤ class-transformer: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @nestjs/common ➤ dependencies ➤ class-validator: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @nestjs/microservices ➤ dependencies ➤ @grpc/proto-loader: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @nestjs/platform-fastify ➤ dependencies ➤ @fastify/static: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @nestjs/platform-fastify ➤ dependencies ➤ @fastify/view: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @sentry/nextjs ➤ dependencies ➤ @sentry-internal/tracing: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ @tgsnake/parser ➤ dependencies ➤ @tgsnake/core: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ framer-motion ➤ dependencies ➤ @emotion/is-prop-valid: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ knex ➤ dependencies ➤ pg: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ knex ➤ dependencies ➤ pg-query-stream: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ nestjs-i18n ➤ dependencies ➤ hbs: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0068: │ swiper ➤ dependencies ➤ react: No matching package in the dependency tree; you may not need this rule anymore.
[@blog/app]: ➤ YN0000: └ Completed
[@blog/app]: ➤ YN0000: ┌ Fetch step
[@blog/app]: ➤ YN0000: └ Completed in 1m 32s
[@blog/app]: ➤ YN0000: ┌ Link step
[@blog/app]: ➤ YN0000: │ ESM support for PnP uses the experimental loader API and is therefore experimental
[@blog/app]: ➤ YN0007: │ sharp@npm:0.33.5 must be built because it never has been before or the last one failed
[@blog/app]: ➤ YN0000: └ Completed in 3s 442ms
project.toml [_]
schema-version = "0.2"
id = "blog-app"
name = "blog-app"
version = "0.0.1"

[io.buildpacks]
exclude = [ ".git", ".yarn/unplugged" ]
builder = "atlantislab/builder-base:22"

[[io.buildpacks.build.env]]
name = "WORKSPACE"
value = "@blog/app"

[[io.buildpacks.build.env]]
name = "CNB_USER_ID"
value = "1001"

Packing with args: [
  'build',
  '--trust-builder',
  'blog-app:c8dd5fe18347a6ef41afb7522f013c0d509f2bf3',
  '--descriptor',
  '/tmp/xfs-e994eae6/project.toml',
  '--buildpack',
  'atlantislab/buildpack-yarn-workspace:0.1.1',
  '--tag',
  'blog-app:latest',
  '--creation-time',
  'now',
  '--clear-cache',
  '--verbose'
]
[@blog/app]: 0.36.0+git-92bc87b.build-6201
[@blog/app]: Experimental features enabled!
[@blog/app]: Using project descriptor located at '/tmp/xfs-e994eae6/project.toml'
[@blog/app]: Builder 'atlantislab/builder-base:22' is trusted
[@blog/app]: Pulling image 'index.docker.io/atlantislab/builder-base:22'
[@blog/app]: 22: Pulling from atlantislab/builder-base
[@blog/app]: Digest: sha256:b07ca99930c0749cc5c0bc0aacf8d8d0b149a92a695d27104610786db6b90c5a
[@blog/app]: Status: Image is up to date for atlantislab/builder-base:22
[@blog/app]: CheckReadAccess succeeded for the run image atlantislab/stack-node:run
[@blog/app]: Selected run image 'atlantislab/stack-node:run'
[@blog/app]: Pulling image 'atlantislab/stack-node:run' with platform 'linux/amd64'
[@blog/app]: run: Pulling from atlantislab/stack-node
[@blog/app]: Digest: sha256:50fd20a34b415155bdba4c6c8fbb69e84cd443168da7a30c0c153a8f1b42ea61
[@blog/app]: Status: Image is up to date for atlantislab/stack-node:run
[@blog/app]: Downloading buildpack from image: 'atlantislab/buildpack-yarn-workspace:0.1.1'
[@blog/app]: Pulling image 'atlantislab/buildpack-yarn-workspace:0.1.1' with platform 'linux/amd64'
[@blog/app]: 0.1.1: Pulling from atlantislab/buildpack-yarn-workspace
[@blog/app]: Digest: sha256:95003edd185a0983af51100576ed1d6f018694aa8b6c4b6ed19b56834b181746
[@blog/app]: Status: Image is up to date for atlantislab/buildpack-yarn-workspace:0.1.1
[@blog/app]: Warning: Builder is trusted but additional modules were added; using the untrusted (5 phases) build flow
[@blog/app]: Pulling image 'docker.io/buildpacksio/lifecycle:0.20.3' with platform 'linux/amd64'
[@blog/app]: 0.20.3: Pulling from buildpacksio/lifecycle
[@blog/app]: Digest: sha256:6528df63e9cafd1747f04fc57cad7b3910dce6be0e6cf49e8174fb2aeda69ef6
[@blog/app]: Status: Image is up to date for buildpacksio/lifecycle:0.20.3
[@blog/app]: Creating ephemeral lifecycle from docker.io/buildpacksio/lifecycle:0.20.3 with uid 1001 and gid 1001. With workspace dir 
[@blog/app]: Selecting ephemeral lifecycle image pack.local/lifecycle/716e6f6d727a76656f75:latest for build
[@blog/app]: Adding buildpack 'tech.atlantislab.buildpacks.yarn-workspace' version '0.1.1' to builder
[@blog/app]: Adding buildpack 'tech.atlantislab.buildpacks.yarn-install' version '0.1.1' to builder
[@blog/app]: Adding buildpack 'tech.atlantislab.buildpacks.yarn-workspace-start' version '0.1.1' to builder
[@blog/app]: Adding buildpack 'tech.atlantislab.buildpacks.require-extension' version '0.1.1' to builder
[@blog/app]: Adding buildpack 'tech.atlantislab.buildpacks.yarn-cache' version '0.1.1' to builder
[@blog/app]: Setting custom order
[@blog/app]: Creating builder with the following buildpacks:
[@blog/app]: -> '[email protected]'
[@blog/app]: -> '[email protected]'
[@blog/app]: -> '[email protected]'
[@blog/app]: -> '[email protected]'
[@blog/app]: -> '[email protected]'
[@blog/app]: Adding buildpack '[email protected]' (diffID=sha256:60d52c893f17db2390dc1257a4c2092487e14cf3166819757d56edc98ba4a8e6)
[@blog/app]: Adding buildpack '[email protected]' (diffID=sha256:c7a6e7d2ecbc251845bbd16c9be13b7fc0f091e0ce776defc1844d7e40585485)
[@blog/app]: Adding buildpack '[email protected]' (diffID=sha256:0185ebf67a54e4a4267fea9208842d93df9fa7b39b528c63e6f9d9c53cb9e157)
[@blog/app]: Adding buildpack '[email protected]' (diffID=sha256:4e5550bdf74bb7677b93d895ccae332f63a9128e4b68ebf02cc141e70f74b16d)
[@blog/app]: Adding buildpack '[email protected]' (diffID=sha256:3a721a8289ea058b92873e6b1a2d48eb25e0ae3281820d08ced8a5b31e27c144)
[@blog/app]: Provided Environment Variables
[@blog/app]:   'CNB_USER_ID=1001
[@blog/app]:   WORKSPACE=@blog/app'
[@blog/app]: Using build cache volume 'pack-cache-library_blog-app_c8dd5fe18347a6ef41afb7522f013c0d509f2bf3-794de9be0fdd.build'
[@blog/app]: Build cache 'pack-cache-library_blog-app_c8dd5fe18347a6ef41afb7522f013c0d509f2bf3-794de9be0fdd.build' cleared
[@blog/app]: Created ephemeral bridge network pack.local-network-726b77616a6c62697877 with ID 3a7d8d9fda04c8c42d4bf0ea6d4a7a8b4eafa4846344581486c2e4b3dad5a10e
[@blog/app]: ===> ANALYZING
[@blog/app]: Running the 'analyzer' on OS 'linux' from image 'pack.local/lifecycle/716e6f6d727a76656f75:latest' with:
[@blog/app]: Container Settings:
[@blog/app]:   Args: '/cnb/lifecycle/analyzer -log-level debug -daemon -run /layers/run.toml -run-image atlantislab/stack-node:run -tag blog-app:latest -launch-cache /launch-cache -skip-layers blog-app:c8dd5fe18347a6ef41afb7522f013c0d509f2bf3'
[@blog/app]:   System Envs: 'CNB_USER_ID=1001 CNB_GROUP_ID=1001 CNB_PLATFORM_API=0.13'
[@blog/app]:   Image: 'pack.local/lifecycle/716e6f6d727a76656f75:latest'
[@blog/app]:   User: 'root'
[@blog/app]:   Labels: 'map[author:pack]'
[@blog/app]: Host Settings:
[@blog/app]:   Binds: '/var/run/docker.sock:/var/run/docker.sock pack-cache-library_blog-app_c8dd5fe18347a6ef41afb7522f013c0d509f2bf3-794de9be0fdd.launch:/launch-cache pack-layers-njdczxtnok:/layers pack-app-czciqypfgg:/workspace'
[@blog/app]:   Network Mode: 'pack.local-network-726b77616a6c62697877'
[@blog/app]: [analyzer] Starting analyzer...
[@blog/app]: [analyzer] Parsing inputs...
[@blog/app]: [analyzer] Ensuring privileges...
[@blog/app]: [analyzer] Executing command...
[@blog/app]: [analyzer] Timer: Analyzer started at 2025-01-13T09:01:56Z
[@blog/app]: [analyzer] Image with name "blog-app:c8dd5fe18347a6ef41afb7522f013c0d509f2bf3" not found
[@blog/app]: [analyzer] Found image with identifier "74e0a4628824f4ee2c1126a7a3046bd642a3ddcc379af7eba24beaf4c984c891"
[@blog/app]: [analyzer] Timer: Analyzer ran for 88.486µs and ended at 2025-01-13T09:01:56Z
[@blog/app]: [analyzer] Run image info in analyzed metadata is: 
[@blog/app]: [analyzer] {"Reference":"74e0a4628824f4ee2c1126a7a3046bd642a3ddcc379af7eba24beaf4c984c891","Image":"atlantislab/stack-node:run","Extend":false,"target":{"os":"linux","arch":"amd64","distro":{"name":"Debian","version":"bookworm"}}}
[@blog/app]: ===> DETECTING
[@blog/app]: Running the 'detector' on OS 'linux' from image 'pack.local/builder/7a746b756e6b74776e6e:latest' with:
[@blog/app]: Container Settings:
[@blog/app]:   Args: '/cnb/lifecycle/detector -app /workspace -log-level debug'
[@blog/app]:   System Envs: 'CNB_PLATFORM_API=0.13'
[@blog/app]:   Image: 'pack.local/builder/7a746b756e6b74776e6e:latest'
[@blog/app]:   User: ''
[@blog/app]:   Labels: 'map[author:pack]'
[@blog/app]: Host Settings:
[@blog/app]:   Binds: 'pack-layers-njdczxtnok:/layers pack-app-czciqypfgg:/workspace'
[@blog/app]:   Network Mode: 'pack.local-network-726b77616a6c62697877'
[@blog/app]: [detector] Starting detector...
[@blog/app]: [detector] Parsing inputs...
[@blog/app]: [detector] Ensuring privileges...
[@blog/app]: [detector] Executing command...
[@blog/app]: [detector] Timer: Detector started at 2025-01-13T09:02:00Z
[@blog/app]: [detector] Checking for match against descriptor: {linux amd64  []}
[@blog/app]: [detector] Checking for match against descriptor: {linux amd64  []}
[@blog/app]: [detector] Checking for match against descriptor: {linux amd64  []}
[@blog/app]: [detector] Checking for match against descriptor: {linux amd64  []}
[@blog/app]: [detector] Checking for match against descriptor: {linux amd64  []}
[@blog/app]: [detector] Checking for match against descriptor: {linux amd64  []}
[@blog/app]: [detector] ======== Output: [email protected] ========
[@blog/app]: [detector] curl extension plan_path: /tmp/plan.1169777592/plan.toml
[@blog/app]: [detector] ======== Output: [email protected] ========
[@blog/app]: [detector] Plan path: /tmp/plan.3015842531/plan.toml
[@blog/app]: [detector] BP_REQUIRE: 
[@blog/app]: [detector] BP_REQUIRE array: 
[@blog/app]: [detector] ======== Results ========
[@blog/app]: [detector] pass: [email protected]
[@blog/app]: [detector] pass: [email protected]
[@blog/app]: [detector] skip: [email protected]
[@blog/app]: [detector] skip: [email protected]
[@blog/app]: [detector] pass: [email protected]
[@blog/app]: [detector] pass: [email protected]
[@blog/app]: [detector] Resolving plan... (try #1)
[@blog/app]: [detector] skip: [email protected] provides unused curl
[@blog/app]: [detector] skip: [email protected] provides unused htop
[@blog/app]: [detector] 2 of 6 buildpacks participating
[@blog/app]: [detector] tech.atlantislab.buildpacks.yarn-workspace-start 0.1.1
[@blog/app]: [detector] tech.atlantislab.buildpacks.require-extension    0.1.1
[@blog/app]: [detector] Timer: Detector ran for 385.514775ms and ended at 2025-01-13T09:02:01Z
[@blog/app]: ===> RESTORING
[@blog/app]: Warning: failed to read generated directory, assuming no build image extensions: open /tmp/pack.tmp3711409844/generated: no such file or directory
[@blog/app]: Warning: failed to read generated directory, assuming no build image extensions: open /tmp/pack.tmp3711409844/generated: no such file or directory
[@blog/app]: Warning: failed to read generated directory, assuming no build image extensions: open /tmp/pack.tmp3711409844/generated: no such file or directory
[@blog/app]: Running the 'restorer' on OS 'linux' from image 'pack.local/lifecycle/716e6f6d727a76656f75:latest' with:
[@blog/app]: Container Settings:
[@blog/app]:   Args: '/cnb/lifecycle/restorer -skip-layers -cache-dir /cache -daemon -log-level debug'
[@blog/app]:   System Envs: 'CNB_USER_ID=1001 CNB_GROUP_ID=1001 CNB_PLATFORM_API=0.13'
[@blog/app]:   Image: 'pack.local/lifecycle/716e6f6d727a76656f75:latest'
[@blog/app]:   User: 'root'
[@blog/app]:   Labels: 'map[author:pack]'
[@blog/app]: Host Settings:
[@blog/app]:   Binds: 'pack-cache-library_blog-app_c8dd5fe18347a6ef41afb7522f013c0d509f2bf3-794de9be0fdd.build:/cache /var/run/docker.sock:/var/run/docker.sock pack-layers-njdczxtnok:/layers pack-app-czciqypfgg:/workspace'
[@blog/app]:   Network Mode: 'pack.local-network-726b77616a6c62697877'
[@blog/app]: [restorer] Starting restorer...
[@blog/app]: [restorer] Parsing inputs...
[@blog/app]: [restorer] Ensuring privileges...
[@blog/app]: [restorer] Executing command...
[@blog/app]: [restorer] Run image info in analyzed metadata is: 
[@blog/app]: [restorer] {"Reference":"74e0a4628824f4ee2c1126a7a3046bd642a3ddcc379af7eba24beaf4c984c891","Image":"atlantislab/stack-node:run","Extend":false,"target":{"os":"linux","arch":"amd64","distro":{"name":"Debian","version":"bookworm"}}}
[@blog/app]: [restorer] Timer: Restorer started at 2025-01-13T09:02:01Z
[@blog/app]: [restorer] Restoring Layer Metadata
[@blog/app]: [restorer] Skipping buildpack layer analysis
[@blog/app]: [restorer] Reading Buildpack Layers directory /layers
[@blog/app]: [restorer] Reading buildpack directory: /layers/tech.atlantislab.buildpacks.yarn-workspace-start
[@blog/app]: [restorer] Reading Buildpack Layers directory /layers
[@blog/app]: [restorer] Reading buildpack directory: /layers/tech.atlantislab.buildpacks.require-extension
[@blog/app]: [restorer] Timer: Restorer ran for 1.789715ms and ended at 2025-01-13T09:02:01Z
[@blog/app]: Warning: failed to read generated directory, assuming no build image extensions: open /tmp/pack.tmp3711409844/generated: no such file or directory
[@blog/app]: ===> BUILDING
[@blog/app]: Running the 'builder' on OS 'linux' from image 'pack.local/builder/7a746b756e6b74776e6e:latest' with:
[@blog/app]: Container Settings:
[@blog/app]:   Args: '/cnb/lifecycle/builder -app /workspace -log-level debug'
[@blog/app]:   System Envs: 'CNB_PLATFORM_API=0.13'
[@blog/app]:   Image: 'pack.local/builder/7a746b756e6b74776e6e:latest'
[@blog/app]:   User: ''
[@blog/app]:   Labels: 'map[author:pack]'
[@blog/app]: Host Settings:
[@blog/app]:   Binds: 'pack-layers-njdczxtnok:/layers pack-app-czciqypfgg:/workspace'
[@blog/app]:   Network Mode: 'pack.local-network-726b77616a6c62697877'
[@blog/app]: [builder] Starting builder...
[@blog/app]: [builder] Parsing inputs...
[@blog/app]: [builder] Ensuring privileges...
[@blog/app]: [builder] Executing command...
[@blog/app]: [builder] Timer: Builder started at 2025-01-13T09:02:02Z
[@blog/app]: [builder] Running build for buildpack [email protected]
[@blog/app]: [builder] Looking up buildpack
[@blog/app]: [builder] Finding plan
[@blog/app]: [builder] Creating plan directory
[@blog/app]: [builder] Preparing paths
[@blog/app]: [builder] Running build command
[@blog/app]: [builder] NODE_OPTIONS [
[@blog/app]: [builder]   '--require',
[@blog/app]: [builder]   '/workspace/.pnp.cjs',
[@blog/app]: [builder]   '--import',
[@blog/app]: [builder]   '/workspace/.pnp.loader.mjs'
[@blog/app]: [builder] ]
[@blog/app]: [builder] Processing layers
[@blog/app]: [builder] Updating environment
[@blog/app]: [builder] Reading output files
[@blog/app]: [builder] Updating buildpack processes
[@blog/app]: [builder] Updating process list
[@blog/app]: [builder] Finished running build for buildpack [email protected]
[@blog/app]: [builder] Running build for buildpack [email protected]
[@blog/app]: [builder] Looking up buildpack
[@blog/app]: [builder] Finding plan
[@blog/app]: [builder] Creating plan directory
[@blog/app]: [builder] Preparing paths
[@blog/app]: [builder] Running build command
[@blog/app]: [builder] Processing layers
[@blog/app]: [builder] Updating environment
[@blog/app]: [builder] Reading output files
[@blog/app]: [builder] Updating buildpack processes
[@blog/app]: [builder] Updating process list
[@blog/app]: [builder] Finished running build for buildpack [email protected]
[@blog/app]: [builder] Copying SBOM files
[@blog/app]: [builder] Creating SBOM files for legacy BOM
[@blog/app]: [builder] Listing processes
[@blog/app]: [builder] Timer: Builder ran for 111.452263ms and ended at 2025-01-13T09:02:02Z
[@blog/app]: ===> EXPORTING
[@blog/app]: Running the 'exporter' on OS 'linux' from image 'pack.local/lifecycle/716e6f6d727a76656f75:latest' with:
[@blog/app]: Container Settings:
[@blog/app]:   Args: '/cnb/lifecycle/exporter -daemon -launch-cache /launch-cache -log-level debug -app /workspace -cache-dir /cache -run /layers/run.toml blog-app:c8dd5fe18347a6ef41afb7522f013c0d509f2bf3 blog-app:latest'
[@blog/app]:   System Envs: 'CNB_USER_ID=1001 CNB_GROUP_ID=1001 SOURCE_DATE_EPOCH=1736758907 CNB_PLATFORM_API=0.13'
[@blog/app]:   Image: 'pack.local/lifecycle/716e6f6d727a76656f75:latest'
[@blog/app]:   User: 'root'
[@blog/app]:   Labels: 'map[author:pack]'
[@blog/app]: Host Settings:
[@blog/app]:   Binds: 'pack-cache-library_blog-app_c8dd5fe18347a6ef41afb7522f013c0d509f2bf3-794de9be0fdd.build:/cache /var/run/docker.sock:/var/run/docker.sock pack-cache-library_blog-app_c8dd5fe18347a6ef41afb7522f013c0d509f2bf3-794de9be0fdd.launch:/launch-cache pack-layers-njdczxtnok:/layers pack-app-czciqypfgg:/workspace'
[@blog/app]:   Network Mode: 'pack.local-network-726b77616a6c62697877'
[@blog/app]: [exporter] Starting exporter...
[@blog/app]: [exporter] Parsing inputs...
[@blog/app]: [exporter] Ensuring privileges...
[@blog/app]: [exporter] Executing command...
[@blog/app]: [exporter] Timer: Exporter started at 2025-01-13T09:02:02Z
[@blog/app]: [exporter] Copying SBOM lifecycle.sbom.cdx.json to /layers/sbom/build/buildpacksio_lifecycle/sbom.cdx.json
[@blog/app]: [exporter] Copying SBOM lifecycle.sbom.spdx.json to /layers/sbom/build/buildpacksio_lifecycle/sbom.spdx.json
[@blog/app]: [exporter] Copying SBOM lifecycle.sbom.syft.json to /layers/sbom/build/buildpacksio_lifecycle/sbom.syft.json
[@blog/app]: [exporter] Copying SBOM launcher.sbom.cdx.json to /layers/sbom/launch/buildpacksio_lifecycle/launcher/sbom.cdx.json
[@blog/app]: [exporter] Copying SBOM launcher.sbom.spdx.json to /layers/sbom/launch/buildpacksio_lifecycle/launcher/sbom.spdx.json
[@blog/app]: [exporter] Copying SBOM launcher.sbom.syft.json to /layers/sbom/launch/buildpacksio_lifecycle/launcher/sbom.syft.json
[@blog/app]: [exporter] Reading buildpack directory: /layers/tech.atlantislab.buildpacks.yarn-workspace-start
[@blog/app]: [exporter] Reading buildpack directory item: build.toml
[@blog/app]: [exporter] Reading buildpack directory item: launch.toml
[@blog/app]: [exporter] Reading buildpack directory item: node-options
[@blog/app]: [exporter] Reading buildpack directory item: node-options.toml
[@blog/app]: [exporter] Processing buildpack directory: /layers/tech.atlantislab.buildpacks.yarn-workspace-start
[@blog/app]: [exporter] Processing launch layer: /layers/tech.atlantislab.buildpacks.yarn-workspace-start/node-options
[@blog/app]: [exporter] Reusing tarball for layer "tech.atlantislab.buildpacks.yarn-workspace-start:node-options" with SHA: sha256:e61614bface8623b7f5abecd1abdad1df8194acfda719a8449ede281bc593327
[@blog/app]: [exporter] Adding layer 'tech.atlantislab.buildpacks.yarn-workspace-start:node-options'
[@blog/app]: [exporter] Layer 'tech.atlantislab.buildpacks.yarn-workspace-start:node-options' SHA: sha256:e61614bface8623b7f5abecd1abdad1df8194acfda719a8449ede281bc593327
[@blog/app]: [exporter] Reading buildpack directory: /layers/tech.atlantislab.buildpacks.require-extension
[@blog/app]: [exporter] Processing buildpack directory: /layers/tech.atlantislab.buildpacks.require-extension
[@blog/app]: [exporter] Found SBOM of type launch for at /layers/sbom/launch
[@blog/app]: [exporter] Reusing tarball for layer "buildpacksio/lifecycle:launch.sbom" with SHA: sha256:10c6ebd82111c74a84a070268ffa39134301c12b664c1491abe691e474e51ae5
[@blog/app]: [exporter] Adding layer 'buildpacksio/lifecycle:launch.sbom'
[@blog/app]: [exporter] Layer 'buildpacksio/lifecycle:launch.sbom' SHA: sha256:10c6ebd82111c74a84a070268ffa39134301c12b664c1491abe691e474e51ae5
[@blog/app]: [exporter] Adding app layers
[@blog/app]: [exporter] Layer 'slice-1' SHA: sha256:afcb300c3c8c5b5b1ad113cde8b557fc3426ecd7b23c977c98563e2166b190d0
[@blog/app]: [exporter] Added 1/1 app layer(s)
[@blog/app]: [exporter] Reusing tarball for layer "buildpacksio/lifecycle:launcher" with SHA: sha256:5fc62159449401f03b972dd2334eac57b9425fa7797dac20f3565e2f7820cb65
[@blog/app]: [exporter] Adding layer 'buildpacksio/lifecycle:launcher'
[@blog/app]: [exporter] Layer 'buildpacksio/lifecycle:launcher' SHA: sha256:5fc62159449401f03b972dd2334eac57b9425fa7797dac20f3565e2f7820cb65
[@blog/app]: [exporter] Reusing tarball for layer "buildpacksio/lifecycle:config" with SHA: sha256:7f95c4fa2f8c1736e0e151355bd19e13fd355b4674bef766e69d83e459e22a3a
[@blog/app]: [exporter] Adding layer 'buildpacksio/lifecycle:config'
[@blog/app]: [exporter] Layer 'buildpacksio/lifecycle:config' SHA: sha256:7f95c4fa2f8c1736e0e151355bd19e13fd355b4674bef766e69d83e459e22a3a
[@blog/app]: [exporter] Reusing tarball for layer "buildpacksio/lifecycle:process-types" with SHA: sha256:83d85471d9f8a3834b4e27cf701e3f0aef220cc816d9c173c7d32cd73909a590
[@blog/app]: [exporter] Adding layer 'buildpacksio/lifecycle:process-types'
[@blog/app]: [exporter] Layer 'buildpacksio/lifecycle:process-types' SHA: sha256:83d85471d9f8a3834b4e27cf701e3f0aef220cc816d9c173c7d32cd73909a590
[@blog/app]: [exporter] Adding label 'io.buildpacks.lifecycle.metadata'
[@blog/app]: [exporter] Adding label 'io.buildpacks.build.metadata'
[@blog/app]: [exporter] Adding label 'io.buildpacks.project.metadata'
[@blog/app]: [exporter] Setting CNB_LAYERS_DIR=/layers
[@blog/app]: [exporter] Setting CNB_APP_DIR=/workspace
[@blog/app]: [exporter] Setting CNB_PLATFORM_API=0.13
[@blog/app]: [exporter] Setting CNB_DEPRECATION_MODE=quiet
[@blog/app]: [exporter] Prepending /cnb/process and /cnb/lifecycle to PATH
[@blog/app]: [exporter] Setting WORKDIR: '/workspace'
[@blog/app]: [exporter] Setting default process type 'web'
[@blog/app]: [exporter] Setting ENTRYPOINT: '/cnb/process/web'
[@blog/app]: [exporter] Timer: Saving blog-app:c8dd5fe18347a6ef41afb7522f013c0d509f2bf3... started at 2025-01-13T09:02:25Z
[@blog/app]: [exporter] Saving blog-app:c8dd5fe18347a6ef41afb7522f013c0d509f2bf3...

@Nelfimov
Copy link
Contributor Author

@Nelfimov почему релиз не заканчивается?

ссыль.

на локалке запускал image pack - тоже не собирался. на последнем шаге завис на несколько минут, прервал процесс. прикладываю логи

Это что-то локальное - последним шагом он сохраняет образ тебе локально.

@kirill-ivanovvv
Copy link
Contributor

@Nelfimov почему релиз не заканчивается?

ссыль.

на локалке запускал image pack - тоже не собирался. на последнем шаге завис на несколько минут, прервал процесс. прикладываю логи

Это что-то локальное - последним шагом он сохраняет образ тебе локально.

https://github.com/torin-asakura/shdvor/runs/35513833471

@Nelfimov
Copy link
Contributor Author

Для примера откатись на мастер и сделай там же pack

@kirill-ivanovvv
Copy link
Contributor

Для примера откатись на мастер и сделай там же pack

  • были ошибки сборки - пофиксил
  • проверял при помощи prepack. собрать через image pack не получается, компьютер просто встает на этапе link
  • код готов тесту в проде
  • релиз крутится бесконечно. понять, почему так - не могу
    image

#182

@kirill-ivanovvv
Copy link
Contributor

image

@kirill-ivanovvv
Copy link
Contributor

@Nelfimov

@Nelfimov
Copy link
Contributor Author

  • с предупреждениями верстку обрабатвыает, см. первый пункт:

давай пофиксим какие можем

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
3 participants