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

[turborepo] file hashing taking 2 minutes before failing #5773

Open
toto1384 opened this issue Aug 22, 2023 · 20 comments
Open

[turborepo] file hashing taking 2 minutes before failing #5773

toto1384 opened this issue Aug 22, 2023 · 20 comments
Assignees
Labels
kind: bug Something isn't working linear: turbo Issues to sync to Linear for Turborepo team needs: author input

Comments

@toto1384
Copy link

toto1384 commented Aug 22, 2023

What version of Turborepo are you using?

1.10.12

What package manager are you using / does the bug impact?

pnpm

What operating system are you using?

Linux

Describe the Bug

Whenever i run any turbo command, it takes approx 2 minutes for turbo to boot up. The error doesn't happen on my mac machine but it happens on the server and it's annoying having downtime until the app builds. The error appeared after a couple of months of it functioning fine.

Screenshot 2023-08-22 at 08 17 56

Also saw this after everything build: Failed to mark outputs as cached for crm#build: rpc error: code = Unknown desc = timed out waiting for cookie

Expected Behavior

To not load 2 minutes for no reason

To Reproduce

Run turborepo on linux for a couple of months until the performance degrades

Reproduction Repo

No response

TURBO-1397

@toto1384 toto1384 added kind: bug Something isn't working needs: triage New issues get this label. Remove it after triage owned-by: turborepo labels Aug 22, 2023
@chris-olszewski
Copy link
Member

Can you run turbo daemon clean and see if the issue persists. If it does you can run your command with --no-daemon and it will disable the daemon completely.

@chris-olszewski chris-olszewski changed the title [turborepo] [turborepo] daemon connection taking 2 minutes before failing Aug 22, 2023
@chris-olszewski chris-olszewski removed the needs: triage New issues get this label. Remove it after triage label Aug 22, 2023
@toto1384
Copy link
Author

Thank you for fixing my title, I forgot about it

running turbo daemon clean didn't do anything, as well as --no-daemon

@chris-olszewski
Copy link
Member

Interesting, can you run your command with -vvv and also try running turbo daemon -vvv in another terminal and give the logs? Very confused as what's happening since the error you're linking should only get thrown after a 500ms timeout, but I'm unsure if we're somehow extending that.

@toto1384
Copy link
Author

npx turbo run build -vvv:

2023-08-31T10:00:53.453+0000 [DEBUG] turborepo_lib::shim: Global turbo version: 1.10.12
2023-08-31T10:00:53.481+0000 [DEBUG] turborepo_lib::shim: No local turbo binary found at: /home/alex/gj-monorepo/node_modules/turbo-linux-64/bin/turbo
2023-08-31T10:00:53.481+0000 [DEBUG] turborepo_lib::shim: No local turbo binary found at: /home/alex/gj-monorepo/node_modules/turbo/node_modules/turbo-linux-64/bin/turbo
2023-08-31T10:00:53.482+0000 [DEBUG] turborepo_lib::shim: Local turbo path: /home/alex/gj-monorepo/node_modules/.pnpm/turbo-linux-64@1.10.12/node_modules/turbo-linux-64/bin/turbo
2023-08-31T10:00:53.482+0000 [DEBUG] turborepo_lib::shim: Local turbo version: 1.10.12
2023-08-31T10:00:53.482+0000 [DEBUG] turborepo_lib::shim: Repository Root: /home/alex/gj-monorepo
╭────────────────────────────────────────────────────────────────────────╮
│ │
│ Update available v1.10.12 ≫ v1.10.13 │
│ Changelog: https://github.com/vercel/turbo/releases/tag/v1.10.13
│ Run "npx @turbo/codemod update" to update │
│ │
│ Follow @turborepo for updates: https://twitter.com/turborepo
╰────────────────────────────────────────────────────────────────────────╯
2023-08-31T10:00:53.483+0000 [DEBUG] turborepo_lib::shim: Running local turbo binary in /home/alex/gj-monorepo/node_modules/.pnpm/turbo-linux-64@1.10.12/node_modules/turbo-linux-64/bin/turbo

2023-08-31T10:00:53.484+0000 [DEBUG] turborepo_lib::shim: supports_skip_infer_and_single_package true
2023-08-31T10:00:53.485+0000 [DEBUG] turborepo_lib::shim: Global turbo version: 1.10.12
2023-08-31T10:00:53.488+0000 [TRACE] log: registering event source with poller: token=Token(2147483649), interests=READABLE
2023-08-31T10:00:53.494+0000 [DEBUG] turborepo_lib::cli: pkg_inference_root set to ""
2023-08-31T10:00:53.496+0000 [TRACE] turborepo_lib::execution_state: Found pnpm as package manager
2023-08-31T10:00:53.496+0000 [DEBUG] turbo: Found go binary at "/home/alex/gj-monorepo/node_modules/.pnpm/turbo-linux-64@1.10.12/node_modules/turbo-linux-64/bin/go-turbo"
2023-08-31T10:00:53.496+0000 [TRACE] turbo: Invoking go binary with {"api_client_config":{"token":null,"team_id":null,"team_slug":null,"api_url":"https://vercel.com/api","use_preflight":false,"timeout":20},"package_manager":"pnpm","cli_args":{"api":null,"color":false,"cpu_profile":null,"cwd":"/home/alex/gj-monorepo","heap":null,"login":null,"no_color":false,"preflight":false,"remote_cache_timeout":null,"team":null,"token":null,"trace":null,"verbosity":3,"test_run":false,"command":{"Run":{"cache_dir":null,"cache_workers":10,"concurrency":null,"continue_execution":false,"dry_run":null,"single_package":false,"filter":[],"force":null,"framework_inference":true,"global_deps":[],"graph":null,"env_mode":"Infer","ignore":[],"include_dependencies":false,"no_cache":false,"no_daemon":false,"no_deps":false,"output_logs":null,"log_order":"auto","only":false,"parallel":false,"pkg_inference_root":"","profile":null,"remote_only":false,"scope":[],"since":null,"summarize":null,"log_prefix":"auto","tasks":["build"],"pass_through_args":[],"experimental_space_id":null}}}}
2023-08-31T10:00:53.522Z [DEBUG] turbo: build tag: rust
2023-08-31T10:00:53.666Z [DEBUG] turbo: running in daemon mode
2023-08-31T10:00:53.669Z [DEBUG] turbo: global hash env vars: vars=[]
2023-08-31T10:00:53.675Z [DEBUG] turbo: global hash: value=584b92e4b97d5cb2
2023-08-31T10:00:53.675Z [DEBUG] turbo: local cache folder: path=""

Here it is the point where it gets stuck for like 2 minutes
Then it continues

Packages in scope: crm, eslint-config-custom, shared, tsconfig, validation-objects, web
• Running build in 6 packages
• Remote caching disabled
2023-08-31T10:06:09.830Z [DEBUG] turbo: task hash env vars for eslint-config-custom:build: vars=[]
2023-08-31T10:06:09.831Z [DEBUG] turbo: task hash env vars for tsconfig:build: vars=[]
2023-08-31T10:06:09.831Z [DEBUG] turbo.: start
2023-08-31T10:06:09.831Z [DEBUG] turbo: task hash: value=8831c6030ac9acc8
2023-08-31T10:06:09.831Z [DEBUG] turbo.: no task in package, skipping
2023-08-31T10:06:09.831Z [DEBUG] turbo.: done: status=skipped duration=0s
2023-08-31T10:06:09.831Z [DEBUG] turbo.: start
2023-08-31T10:06:09.831Z [DEBUG] turbo: task hash: value=8a4bbd2cc808bf81
2023-08-31T10:06:09.832Z [DEBUG] turbo.: no task in package, skipping
2023-08-31T10:06:09.832Z [DEBUG] turbo.: done: status=skipped duration=0s
2023-08-31T10:06:09.832Z [DEBUG] turbo: task hash env vars for validation-objects:build: vars=[]
2023-08-31T10:06:09.832Z [DEBUG] turbo.: start
2023-08-31T10:06:09.832Z [DEBUG] turbo: task hash: value=96ef4960c8d4a9b5
2023-08-31T10:06:09.832Z [DEBUG] turbo.: no task in package, skipping
2023-08-31T10:06:09.832Z [DEBUG] turbo.: done: status=skipped duration=0s
2023-08-31T10:06:09.832Z [DEBUG] turbo: task hash env vars for shared:build: vars=[]
2023-08-31T10:06:09.832Z [DEBUG] turbo.: start
2023-08-31T10:06:09.832Z [DEBUG] turbo: task hash: value=8418e51387415542
2023-08-31T10:06:09.832Z [DEBUG] turbo.: no task in package, skipping
2023-08-31T10:06:09.832Z [DEBUG] turbo.: done: status=skipped duration=0s
2023-08-31T10:06:09.832Z [DEBUG] turbo: auto detected framework for web: framework=nextjs env_prefix=["NEXT_PUBLIC_"]
2023-08-31T10:06:09.832Z [DEBUG] turbo: auto detected framework for crm: framework=nextjs env_prefix=["NEXT_PUBLIC_
"]
2023-08-31T10:06:09.833Z [DEBUG] turbo: task hash env vars for crm:build: vars=[]
2023-08-31T10:06:09.833Z [DEBUG] turbo.: start
2023-08-31T10:06:09.833Z [DEBUG] turbo: task hash: value=a2579192940a05a1
2023-08-31T10:06:09.833Z [DEBUG] turbo: task hash env vars for web:build: vars=[]
2023-08-31T10:06:09.833Z [DEBUG] turbo.: start
2023-08-31T10:06:09.833Z [DEBUG] turbo: task hash: value=866467f5ec5af118
2023-08-31T10:06:17.760Z [DEBUG] turbo.: log file: path=/home/alex/gj-monorepo/apps/crm/.turbo/turbo-build.log

@toto1384
Copy link
Author

Also turbo daemon -vvv

2023-08-31T11:55:39.794+0000 [DEBUG] turborepo_lib::shim: Global turbo version: 1.10.12
2023-08-31T11:55:39.858+0000 [DEBUG] turborepo_lib::shim: No local turbo binary found at: /home/alex/gj-monorepo/node_modules/turbo-linux-64/bin/turbo
2023-08-31T11:55:39.858+0000 [DEBUG] turborepo_lib::shim: No local turbo binary found at: /home/alex/gj-monorepo/node_modules/turbo/node_modules/turbo-linux-64/bin/turbo
2023-08-31T11:55:39.862+0000 [DEBUG] turborepo_lib::shim: Local turbo path: /home/alex/gj-monorepo/node_modules/.pnpm/turbo-linux-64@1.10.12/node_modules/turbo-linux-64/bin/turbo
2023-08-31T11:55:39.862+0000 [DEBUG] turborepo_lib::shim: Local turbo version: 1.10.12
2023-08-31T11:55:39.862+0000 [DEBUG] turborepo_lib::shim: Repository Root: /home/alex/gj-monorepo
╭────────────────────────────────────────────────────────────────────────╮
│ │
│ Update available v1.10.12 ≫ v1.10.13 │
│ Changelog: https://github.com/vercel/turbo/releases/tag/v1.10.13
│ Run "npx @turbo/codemod update" to update │
│ │
│ Follow @turborepo for updates: https://twitter.com/turborepo
╰────────────────────────────────────────────────────────────────────────╯
2023-08-31T11:55:39.865+0000 [DEBUG] turborepo_lib::shim: Running local turbo binary in /home/alex/gj-monorepo/node_modules/.pnpm/turbo-linux-64@1.10.12/node_modules/turbo-linux-64/bin/turbo

2023-08-31T11:55:39.868+0000 [DEBUG] turborepo_lib::shim: supports_skip_infer_and_single_package true
2023-08-31T11:55:39.872+0000 [DEBUG] turborepo_lib::shim: Global turbo version: 1.10.12
2023-08-31T11:55:39.878+0000 [TRACE] log: registering event source with poller: token=Token(2147483649), interests=READABLE
2023-08-31T11:55:39.882+0000 [TRACE] turborepo_lib::execution_state: Found pnpm as package manager
2023-08-31T11:55:39.882+0000 [DEBUG] turbo: Found go binary at "/home/alex/gj-monorepo/node_modules/.pnpm/turbo-linux-64@1.10.12/node_modules/turbo-linux-64/bin/go-turbo"
2023-08-31T11:55:39.882+0000 [TRACE] turbo: Invoking go binary with {"api_client_config":{"token":null,"team_id":null,"team_slug":null,"api_url":"https://vercel.com/api","use_preflight":false,"timeout":20},"package_manager":"pnpm","cli_args":{"api":null,"color":false,"cpu_profile":null,"cwd":"/home/alex/gj-monorepo","heap":null,"login":null,"no_color":false,"preflight":false,"remote_cache_timeout":null,"team":null,"token":null,"trace":null,"verbosity":3,"test_run":false,"command":{"Daemon":{"idle_time":"4h0m0s"}}}}
2023-08-31T11:55:42.169Z [ERROR] turbod: error failed to lock the pid file at . Is another turbo daemon running?: Locked by other process
2023-08-31T11:55:42.170Z [INFO] turbod.rpc server.FileWatcher: Events channel closed. Exiting watch loop
2023-08-31T11:55:42.170Z [WARN] turbod.rpc server.GlobWatcher: GlobWatching is closing due to file watching closing
Turbo error: failed to lock the pid file at . Is another turbo daemon running?: Locked by other process

@toto1384
Copy link
Author

toto1384 commented Sep 5, 2023

Update - it started taking like 4 minutes instead of 2 🫠

@chris-olszewski
Copy link
Member

Looking at the where the hang happens, I'm wondering if this isn't daemon related at all, but instead related to file hashing. A few pieces of info that could help me:

  • Output of git rev-parse --show-cdup from the directory you're running turbo from
  • The following all get at the same information, but are sorted by how much information they share (unsure what you can share)
    • A reproduction repo (or the repo itself)
    • A run summary file produced by turbo build --summarize
    • Your turbo.json: I'm wondering if there's an input glob that's capturing too many files and we're hashing a ton of them. A run summary would be able to confirm this, but that will also show the file names in your repository.

@toto1384
Copy link
Author

toto1384 commented Sep 6, 2023

git rev-parse --show-cdup returns nothing
turbo build --summarize took too long to run i think it got stuck, I'll try running it again

here is the contents of my turbo.json file

{
    "$schema": "https://turborepo.org/schema.json",
    "pipeline": {
        "build": {
            "dependsOn": [
                "^build"
            ],
            "outputs": [
                "dist/**",
                ".next/**"
            ]
        },
        "lint": {
            "outputs": []
        },
        "test": {
            "cache": false
        },
        "test:pre": {},
        "dev": {
            "cache": false
        },
        "start": {
            "cache": false
        },
        "startt": {
            "cache": false
        }
    },
    "globalDependencies": [
        ".env.local",
        "tsconfig.json"
    ]
}

@toto1384
Copy link
Author

toto1384 commented Sep 6, 2023

Update. I ran the turbo build --summarize and it gave me a summary file:
Here are its contents

{
  "id": "2V0y0LBnhkPNhxjoKPF1FvKDWGo",
  "version": "1",
  "turboVersion": "1.10.12",
  "monorepo": true,
  "globalCacheInputs": {
    "rootKey": "You don't understand! I coulda had class. I coulda been a contender. I could've been somebody, instead of a bum, which is what I am.",
    "files": {},
    "hashOfExternalDependencies": "e072ceb4bda1004c",
    "globalDotEnv": null,
    "environmentVariables": {
      "specified": {
        "env": [],
        "passThroughEnv": null
      },
      "configured": [],
      "inferred": [],
      "passthrough": null
    }
  },
  "packages": [
    "crm",
    "eslint-config-custom",
    "shared",
    "tsconfig",
    "validation-objects",
    "web"
  ],
  "envMode": "infer",
  "frameworkInference": true,
  "execution": {
    "command": "turbo run build",
    "repoPath": "",
    "success": 0,
    "failed": 0,
    "cached": 2,
    "attempted": 2,
    "startTime": 1693986848340,
    "endTime": 1693987071024,
    "exitCode": 0
  },
  "tasks": [
    {
      "taskId": "crm#build",
      "task": "build",
      "package": "crm",
      "hash": "07a098b571bc8a5b",
      "inputs": {
        ".eslintignore": "76add878f8dd778c3381fb3da45c8140db7db510",
        ".eslintrc.js": "d0a875e0aa84b296f75f632d8520f5a94cf02f74",
        ".gitignore": "c1b573e0ad8a7c9bd8cc90e448e39c479513b876",
        "README.md": "b51ce481b27f2d5a749c31a328ddb36f71865f7f",
        "bugget.json": "baf64d657325613f6b8205b0399e6fa5c3380d33",
        "components/appBarComponents.tsx": "be60bc9cc81ab3a30ee91b21e3dc712b28781fe1",
        "components/tableComponents.tsx": "9cb0370f706ede2337324b9fac53293021d49d02",
        "core.4047": "115c4b7a3433978e42e888fc36b5e2a0daf9eb0c",
        "cypress.config.ts": "d2d0d9e96fb81610309491f7f80de92f2ca1c36e",
        "cypress/component/ComponentName.cy.ts": "23f6d432ad8afd7e9deaca4d895dc162d5a6a07a",
        "cypress/e2e/spec-copy-1.cy.ts": "47120badd760ed2858c6006c010432a391bdabe8",
        "cypress/e2e/spec.cy.ts": "47120badd760ed2858c6006c010432a391bdabe8",
        "cypress/fixtures/example.json": "02e4254378e9785f013be7cc8d94a8229dcbcbb7",
        "cypress/support/commands.ts": "faff5286327794abbc3db145deef2d340f4e3f55",
        "cypress/support/component-index.html": "3e16e9b07db1a668af79422c1f43856aafd7a682",
        "cypress/support/component.ts": "37f59edbe5fc7680bef877f89eba92e549815281",
        "cypress/support/e2e.ts": "f80f74f8e1f7b4754f5900620d812cde385187d4",
        "jest.config.js": "ccb863ebb26193171341869c8007d6b0459fc23a",
        "next-env.d.ts": "4f11a03dc6cc37f2b5105c08f2e7b24c603ab2f4",
        "next.config.js": "19ca4ea9c32997157c952eea020da2533f9545a3",
        "package.json": "804ddf147802b098bbaa09e1730363c6df1a7e42",
        "pages/_app.tsx": "4e1678b6fbe61c375c6f9b5d53949419fcd7dafc",
        "pages/api/misc.test.ts": "98f79cc10d4729867e209691d5938018c9d5a0e2",
        "pages/api/sendMail/[mail].ts": "b3216080bd54df430d5ca2656f0335657d591dba",
        "pages/api/trpc/[trpc].ts": "92e9786567501e7d1acb48f667716424b1e4abec",
        "pages/applicants/index.tsx": "4e9cf3b7fdf90376e7a4c20d74fafa054dcc9a60",
        "pages/candidates/[id]/[[...subChild]].tsx": "ac9dcc1f10e2bd680c93a613145d4214596b9f75",
        "pages/candidates/index.tsx": "2b6d98b5a4cc36294d1aafa6a788f1b466a11088",
        "pages/companies/[id]/[[...subChild]].tsx": "170c701b6e025ffd5b945e468a8a1c8b6b0c6232",
        "pages/companies/duplicates.tsx": "0e54d256e6380dc2fa033885bb3023cfc727e705",
        "pages/companies/index.tsx": "85deb19dd00311f228b33916e93809a106a673c3",
        "pages/index.tsx": "f1dcc3e0dae07b0e040bd439b74883c2d7861433",
        "pages/jobs/[id]/applicants.tsx": "27387d0d855f524911860a0d7968adeda08b2c89",
        "pages/jobs/[id]/index.tsx": "174ba85b26f70989e7080dfa29849cbe483c568a",
        "pages/jobs/duplicates.tsx": "40557f98f9a553f21d1f9dfc1e26183af9369ca9",
        "pages/jobs/search/[[...slug]].tsx": "008ee7312fd00b90331994a03a372c8572b2f172",
        "pages/login.tsx": "f1e033f09ce0e5725ad74f00113513355ca33817",
        "pages/logins/[[...subChild]].tsx": "ab01e91ab11a17323abce794dec2771174fc6087",
        "pages/logs/[id].tsx": "1b04232455fe01b35c61f09e6b812d1ab1cc94d7",
        "pages/logs/imports.tsx": "94d5dbf15086dd8d863924c279e063397ef90877",
        "pages/logs/index.tsx": "0ffa6104be612423f2e5f31543dc45c17d46ab01",
        "pages/mail-p/[mail].tsx": "a5b7cc3d9f560c1118bb45a78c887630eb4afc2c",
        "pages/mails/index.tsx": "d380a18a27d08b0694ba90785d32d03d6f0d3eb0",
        "pages/mails/test.tsx": "56c81ac11cf24c56ed582ea6734cfa614abe6ea6",
        "pages/payments.tsx": "ebde9d4fdcb6a2937f45fadb28f29ae68b5c1168",
        "pages/register.tsx": "c80b3c6901553e3ee9786fe60d75bce187f5b9b8",
        "pages/specializations.tsx": "521f3c28136f44582c95f20b930e84a93e969da7",
        "pages/users/[id]/[[...subChild]].tsx": "3fe0de5d91a5ab30fb95e8b7fdad165bdbe6a483",
        "pages/users/crm/index.tsx": "35d1ebb0033ce5a3c83dc5227213102a8bd81cee",
        "pages/users/index.tsx": "3ea757cece8dfa28e0a8b413f2e369126884190b",
        "postcss.config.js": "d982d8644ae513f082bff2285902962fe236e7b7",
        "public/android-chrome-192x192.png": "9534c6b50e415b966cddb3e55d08910404470dd8",
        "public/android-chrome-512x512.png": "85f218b70a68b492d50692a913edb9d3d8caaacc",
        "public/apple-touch-icon.png": "32cb41ca2c852c4ea9f308261fd71db5a8e8155f",
        "public/empty-logo.jpg": "48cb514c7555baaef97287a71a15a8e0eb95934c",
        "public/favicon-16x16.png": "f28429bc6639096346c2ca0a91c5d05dd0a0924a",
        "public/favicon-32x32.png": "c11b619e1df27cbe02e856bd17f29975bf2ecba6",
        "public/favicon.ico": "d3fad7ad78deba27c414f85d2ee5e4a535cbd386",
        "public/illustration.svg": "1476dff745f62999965c47896668a9a3fd017459",
        "public/logo.jpg": "2abc3d6e6990cfe3961cd4cc0fa9113486556d56",
        "public/noindex/company.png": "5b9f3493a0b2932e5a0f66ba88fb853c04db4493",
        "public/noindex/done-time.png": "bd37734f35dc14f36d1d68639c84da684358207e",
        "public/noindex/email.png": "8834bea5fec51b4909851be16dc4c4268842ef9b",
        "public/noindex/google-focused.png": "510e6192fda859b4faaadc6797ce019f16df11e6",
        "public/noindex/google-normal.png": "c1e2c5c7d2fd44bf9babaf95f859aaae3f09d7c6",
        "public/noindex/google-pressed.png": "d01521e8a3ea944073b9fcd5ea657676c70a1618",
        "public/noindex/location.png": "7210617bb6ee2031adf82051bb27f2f605abc9fa",
        "public/noindex/payments.png": "30ab2711201c39780eb1260756ee70b5eeed601d",
        "public/noindex/phone.png": "3126a1fffde5b461a1ff65eb08257657c61e01e6",
        "public/noindex/ro.svg": "fabf12eaa6a1909c2ded80f37525308fda1bc9c8",
        "public/noindex/search.svg": "6e6e823e11925150eacc09deef8e0e1195715f23",
        "public/noindex/sent-email.svg": "a10bfceb7e28c1fdb1094ea12a486c714e6f206d",
        "public/noindex/us.svg": "dc427e711a6fc9691585f678fb24734b830ff081",
        "public/noindex/youtube.jpg": "7b9b1c02795ccc687ea1454abdb93579e260909e",
        "public/site.webmanifest": "9404b7160cfe998857df4f6d3383d37a091111a9",
        "tailwind.config.cjs": "17a461b96199c6eab4ca52ccdef6aab921c1bd0e",
        "tsconfig.json": "79db6f5aa53aac9dc1e9f12207ac93eb9b6468f8",
        "utils/backend/adminUsers.ts": "579be9a42dcadcf1119699e9b3c2d00f7a1366c6",
        "utils/backend/applicantsRouter.ts": "5a501274239e952cfd1309e4cb831977a317c3d1",
        "utils/backend/auth.ts": "f574eed8d0e6735f3619353d33b4cd4bf25c0a70",
        "utils/backend/backendMain.ts": "19dd86177e5883f4395085aa6a207a4e3eda1492",
        "utils/backend/candidatesRouter.ts": "83f3350a850d2af8cc42646063c33421459e5a39",
        "utils/backend/companiesRouter.ts": "748545634d8c91e644005693a8c5d18ebcc96740",
        "utils/backend/jobRouter.ts": "a6ab8258fcb7186a9e1bec5953cda58ae77f9a6d",
        "utils/backend/miscRouter.ts": "8b37f497bb306fad3245ef8eaffc4a6572e90e81",
        "utils/backend/usersRouter.ts": "ddf8c10e2da858a209d30155eaf084fb7b2a4844",
        "utils/data/accountStore.tsx": "dd9f77c253ee7cbb2f5d10a9597fd2488ac6c09d",
        "utils/data/trpc.ts": "ff3b1aad6fffb1959a76929d6cf7afe80a3bc3b3",
        "utils/data/trpcServer.ts": "32f36f1bc4345ca7be3e6632ba4b3a777d5fde5e",
        "utils/data/utils.ts": "e8876a38d83514d85a5077575be1bda13fe58e6d"
      },
      "hashOfExternalDependencies": "98a1434622c945f8",
      "cache": {
        "local": true,
        "remote": false,
        "status": "HIT",
        "source": "LOCAL",
        "timeSaved": 137796
      },
      "command": "next build",
      "cliArguments": [],
      "outputs": [
        ".next/**",
        "dist/**"
      ],
      "excludedOutputs": null,
      "logFile": "apps/crm/.turbo/turbo-build.log",
      "directory": "apps/crm",
      "dependencies": [
        "eslint-config-custom#build",
        "shared#build",
        "tsconfig#build",
        "validation-objects#build"
      ],
      "dependents": [],
      "resolvedTaskDefinition": {
        "outputs": [
          ".next/**",
          "dist/**"
        ],
        "cache": true,
        "dependsOn": [
          "^build"
        ],
        "inputs": [],
        "outputMode": "full",
        "persistent": false,
        "env": [],
        "passThroughEnv": null,
        "dotEnv": null
      },
      "expandedOutputs": [],
      "framework": "nextjs",
      "envMode": "loose",
      "environmentVariables": {
        "specified": {
          "env": [],
          "passThroughEnv": null
        },
        "configured": [],
        "inferred": [],
        "passthrough": null
      },
      "dotEnv": null,
      "execution": {
        "startTime": 1693987067933,
        "endTime": 1693987067942,
        "exitCode": 0
      }
    },
    {
      "taskId": "web#build",
      "task": "build",
      "package": "web",
      "hash": "f9910203cac06a02",
      "inputs": {
        ".eslintignore": "76add878f8dd778c3381fb3da45c8140db7db510",
        ".eslintrc.js": "1d07f858e1334a36d44a927ab04f4af48c44d3e8",
        ".gitignore": "3e2407bdb17e6ed3e7be547d15542687dbeb4d6e",
        "README.md": "dc0346f131f37c8fc83849a151a389bc96310bc9",
        "bugget.json": "baf64d657325613f6b8205b0399e6fa5c3380d33",
        "components/basics/appBarComponents.tsx": "dc1e4ccf0957ee9a7720574c5015b2dfefedef73",
        "components/login/forgot_password.tsx": "f678a37f3d215868b20ac7ae3768004a07efead6",
        "components/login/sign_in_button.tsx": "ee9a7396c3f7a1636ec14a376166dda387d048b8",
        "components/misc/buyCvPopup.tsx": "0edec95d66d00641ddc8a1a8b1c649386d90e429",
        "components/misc/cookies.tsx": "693dd87406b2934c1c95334e19fb1e108bb97ae0",
        "components/misc/cvComponents.tsx": "ce6f34e00556f8436c5062706b9e0afe107d4826",
        "components/misc/faq.tsx": "3b6b352638179af23a253f3c13dafd94e1e293e8",
        "components/misc/folders.tsx": "35334fd83745061537dbdc53463517760ab02353",
        "components/misc/terms.tsx": "2deeaf0ee6427ddc522251bb27bc0164a4bd314a",
        "core.2632698": "0010451d96a9192cc1c3cf16c66ffdc10a0d881d",
        "core.2635985": "4948624c45ef25d892012901e383850797e19712",
        "core.2642526": "de18c2023b5c6996824ad6b2a8fc0dc12f4b5f7e",
        "core.2670279": "bb63563642716a3e5df53f92f110d94952b8faec",
        "core.2698517": "0e54da07f0d6796aa9aec5a998a1854b8c8f0f95",
        "core.2726617": "8345b124eaf6d4823dee3a827f4d5bc8ac194d7b",
        "core.2755077": "2167881540ed7470b7c3f35029b07debcec2fd1d",
        "core.2782805": "203b5406fc1848ac79319297ef89c1cdc5a82735",
        "core.2811252": "fd6d9a41f7faebf4c87e1edcec1e6bd111a12573",
        "cypress.config.ts": "732db5250e6ede832a1cb9e1f2952ff66fd104e0",
        "cypress/component/unit.cy.ts": "b373c3ed82871aa4c4e1ea2b8f9ea94effe2770f",
        "cypress/downloads/resume.pdf": "ac17c58c7bce24141bfd3de78fe31e52f6c1402c",
        "cypress/e2e/companyEdit.cy.ts": "1769eb319db7def2cb88d175fd0b0d4fad1d4999",
        "cypress/e2e/editProfile.cy.ts": "a41d51bd0f0b8632e74a8bc9602e20614b053df1",
        "cypress/e2e/jobsCandidate.cy.ts": "0295d462e857f96e87f74f4dd73f557a14acad85",
        "cypress/e2e/jobsCompany.cy.ts": "96e8dce766e2779f010d98d3066820f9c1c271f9",
        "cypress/e2e/registerDeleteApplyCVs.cy.ts": "643f55c162e506c6a1f94c90f1fb5f1f6dbf4a88",
        "cypress/e2e/spec.cy.ts": "f796d2ed543d5fecd36009e420637ac023ff79d9",
        "cypress/fixtures/empty-logo.jpg": "48cb514c7555baaef97287a71a15a8e0eb95934c",
        "cypress/fixtures/example.json": "02e4254378e9785f013be7cc8d94a8229dcbcbb7",
        "cypress/fixtures/payment_intent.json": "3a85c2d9e851a89a2fa68ae964d94429e400a0a0",
        "cypress/plugins/data.ts": "66eaf7b9d0bbd9441b42af66178b921dcb408d4e",
        "cypress/plugins/email-account.ts": "6a0dd52e5ee6d9a6149abdf41054545d62a2922b",
        "cypress/plugins/mongo-test.ts": "e8ad2b29b7facee514cc22aa87f71c832a940daf",
        "cypress/support/commands.ts": "a73a7c20805a82d3d13d7bfa791c61861c3f548f",
        "cypress/support/component-index.html": "3e16e9b07db1a668af79422c1f43856aafd7a682",
        "cypress/support/component.ts": "37f59edbe5fc7680bef877f89eba92e549815281",
        "cypress/support/e2e.ts": "f80f74f8e1f7b4754f5900620d812cde385187d4",
        "jest.config.js": "ccb863ebb26193171341869c8007d6b0459fc23a",
        "migrations/initial.ts": "3577d108ae00e82498efb557ead9132ad9dcfea6",
        "migrations/migration-one.ts": "9301a657d163bbad3337b00565fb565fb413017b",
        "migrations/old-locations/cities1.json": "0a4a5179b540738a3f03cba1280aa73f3a0d7194",
        "migrations/old-locations/cities2.json": "d1b907a6ad4ceb1c0eb4ea4782f8a64976aa7179",
        "migrations/old-locations/cities3.json": "953dcf6e462834bd600f770cc5f72282cc1e1523",
        "migrations/old-locations/oldLocations.ts": "73db41a98dd48296319e11153416b6019b91b0cd",
        "multi-reporter-config.json": "4dab5ee5669608ac958db94e04f0ae8b1981d465",
        "next-env.d.ts": "4f11a03dc6cc37f2b5105c08f2e7b24c603ab2f4",
        "next.config.js": "d8ea1ca93b5ddced20aea7b8ad9c53904af0ec0d",
        "old_terraform/ex.tff": "ba99bf3536514d61877f530282f34e441ab502e4",
        "old_terraform/main.tf": "0dc1f40711f53bab569eebdc71db29e1f09add29",
        "package.json": "cbca15f1e245d037430d39b1b893886d9dcf0894",
        "pages/404.tsx": "6fa9b037d674d17a6304345f6d71829b61fb39bd",
        "pages/500.tsx": "09c8e2dda088c5203693a413f8e54f45eb482844",
        "pages/_app.tsx": "e0f4069045a44ee6e3d2e873e23390a213e90bfb",
        "pages/_document.tsx": "8e60325ed90944dab29780debd42c2ff26a67d97",
        "pages/account/[[...subChild]].tsx": "2b7b85e885d2ce115503ae0fbf8984f9cde8acbd",
        "pages/ajutor-pentru-a-gasi-loc-de-munca-si-traducere-cv-in-engleza.tsx": "e6a0c46ae5e9aa9623b0793b35854a41761fe24d",
        "pages/api/crons/companyImport.ts": "74f1a070210abb99b6e0b93bf2e231c7a4a6c579",
        "pages/api/crons/mnjImport.ts": "b7b109c37a9712c0f499d635b6fb367fbf68ac0e",
        "pages/api/crons/neuvooImport.ts": "275b8fe9457256794c778d509a4009aaf6f70494",
        "pages/api/crons/openai.ts": "b400e5f7e4c265f15367eb90f34aae68693d5d25",
        "pages/api/crons/rotation.ts": "4055d348b7a999e2a335aaf9154e848d2e602101",
        "pages/api/neuvooXml.ts": "414a8072560e185ad3351f7260510a3711ef5c1f",
        "pages/api/sitemap/articles.ts": "aff2f5cb8b560f118fe6c357164c2fb00568f828",
        "pages/api/sitemap/collaboration-types.ts": "0daf396f89c646d9c63a3a1da4ca1636acb90f45",
        "pages/api/sitemap/companies.ts": "a5d4bda8d7efb455ed511f71e199cea49731892f",
        "pages/api/sitemap/educations.ts": "781e652a00d61f78061e960d1991ccb206360a17",
        "pages/api/sitemap/employment-types.ts": "8c966a4f0f15d97d6247d2a21160f270492853de",
        "pages/api/sitemap/fields.ts": "5e3f304bbe30c0f184a365ccfb13fea344b8a8cf",
        "pages/api/sitemap/index.ts": "6781659870ec6cf9f6f82fe5ae8c3c7cf64dd66c",
        "pages/api/sitemap/industries.ts": "e6ca16b27ce8b3804459c02ab8dfeaa4c8915669",
        "pages/api/sitemap/jobs/[offset].ts": "f3173a9d8f42a411d0a7ff08ebc3db89a42f6dbd",
        "pages/api/sitemap/jobs/by-eu-countries.ts": "f5da828a2a727c66db9067926c607f7887cbc814",
        "pages/api/sitemap/jobs/by-romania-cities.ts": "e7e5bd5664688484854b0cca33af3de3559d57ff",
        "pages/api/sitemap/jobs/by-romania-counties.ts": "dcafc39e3457a430c2cc8e7241c80c7c1f6888c1",
        "pages/api/sitemap/jobs/locations-sitemap.test.ts": "2c3dc9a1a930f3ef1efd3ac814032a1697e3a76b",
        "pages/api/sitemap/locations-industries.ts": "46509fa9e356818e9351b82507d93610e486271a",
        "pages/api/sitemap/static-pages.ts": "9599cdbad84906c7d24917bb306bee03c1f7e51a",
        "pages/api/stripe-webhook.ts": "5a3601c82ea3a2ef6cf7f21bcba197e867714a19",
        "pages/api/trpc/[trpc].ts": "367bca395e68b7dfe5c6ca31ed1668561f7ce7b6",
        "pages/applied.tsx": "e16d8ee802c84b5af2de15187e2fb895dd67c170",
        "pages/articles.tsx": "789873b1ca66fd31daebc294e7daba253d6dfef4",
        "pages/cart/[stage].tsx": "5662620d92e5d694bb1a056ed4d00755f9f79a28",
        "pages/cele-mai-bune-locuri-de-munca-din-romania-si-strainatate.tsx": "38f764105f8c74ffa1c5da96ef8a535a9ed27512",
        "pages/company/[name]/[id].tsx": "d88f23e5ce08b1c3de97e993e4b88f7e972e129f",
        "pages/company/[name]/index.tsx": "3db15ecc5e078a42753943fd367fe00f9bdaddaf",
        "pages/company/applicants.tsx": "414a8525feaf39e72d58e0f06380307299318efa",
        "pages/company/dashboard.tsx": "7b3d6ba628bac4fcd40de1224000ed8190a280ec",
        "pages/company/edit/[[...subChild]].tsx": "c04b4a7d0dbd92e3b75745d6f520b505abf62748",
        "pages/company/jobs/[id].tsx": "7b3f7dc1572a39bb17fb3cabac20c4dd03ea255f",
        "pages/company/jobs/add.tsx": "6a465133ad32cde5c9012eba3f0a629ec0321245",
        "pages/company/jobs/applications/[id].tsx": "8a1647e7eddf4c53bcc5dd93876c83349da9d6b9",
        "pages/company/jobs/edit/[id].tsx": "560434baf79c2209e59e52e40ced2a9a1d088242",
        "pages/company/jobs/index.tsx": "88ea4dfa02bd1542160c28492ba31a6479748b57",
        "pages/confirm-account.tsx": "14580e8b4241a012034d176a14b46dcf4531d729",
        "pages/confirm-change-email.tsx": "d4c5289fdeb1dd0a1ce19b00ef0a0db0a606a5d2",
        "pages/contact.tsx": "363df5f6341348212a90f9a48197206786def300",
        "pages/cookies.tsx": "53a78ff7166d6b99a4147ceb480a89c8395c00fa",
        "pages/cvs/[[...subChild]].tsx": "8f60897e6d023a6eabcef1b90bfd588a352a443d",
        "pages/europe-countries.tsx": "e41f8316f9a11fe5e56d89fc93df1f9b01b356ee",
        "pages/faq/[[...faq]].tsx": "644e40a70704ad675210b79188f4972f912c95ae",
        "pages/fields-and-industries.tsx": "f375d66e5ae8d0a512d39c7d4eb3a74068a57696",
        "pages/getloc.tsx": "19114536aea64fce0d1f0f81250b55e93a9c997a",
        "pages/index.tsx": "3787324b8767e8329844aa4149c587a8ae7f683b",
        "pages/job/[location]/[name]/[id].tsx": "789481821b9c5fa5ffacebfbf305cfda98c9977e",
        "pages/job/[location]/[name]/index.tsx": "50efd833d9829cafacd412c8f7bc82b06a2fcc91",
        "pages/jobs/[[...slug]].tsx": "6ceddd0b1762e106c8b2b4e891aad0c5867d9163",
        "pages/login.tsx": "9cca36e6063b4a2e1b4a615d4ccfb5ecd76c562c",
        "pages/mail-p/[mail].tsx": "d1f309dd31b3f3c066c8f76d7d52561b69812e52",
        "pages/payments/[[...subChild]].tsx": "c55d4ba557b41778ed3e2cb8777e60f0f3373ad5",
        "pages/playground.tsx": "ec3c449ae5a4025079d04250505f17981be4edea",
        "pages/pricing.tsx": "fe7e013dc57953c1e1757cac472aed89af5fc79d",
        "pages/profile/[[...subChild]].tsx": "1bc80b4389250934295873865d1a0e5201a1a204",
        "pages/register/candidate.tsx": "e2fb18cf3a844d86cdc87b3aeb57ede8174b53b2",
        "pages/register/company.tsx": "6eaa1bdf78b32f2f742462e073c4c6f88b700d18",
        "pages/register/index.tsx": "354998b9305ebba0d3597cedfcae3dbadc2347cb",
        "pages/reset-password.tsx": "09dc2e822a4e6aa4502b9b33c0d151ac3d1ab056",
        "pages/romania-counties.tsx": "fc6a0fa5270cc26592d4352c610bee9f6f4ad2ff",
        "pages/saved/[[...subChild]].tsx": "97040ddb55912e6cf47fccb2304700b76b88a5f3",
        "pages/specializations.tsx": "e953d3e62eed03c7b5a079e4c10366d15418ee81",
        "pages/terms-and-conditions.tsx": "967b39bd1573796b04fd7913a417e1f887fe5967",
        "postcss.config.js": "d982d8644ae513f082bff2285902962fe236e7b7",
        "public/android-chrome-192x192.png": "9534c6b50e415b966cddb3e55d08910404470dd8",
        "public/android-chrome-512x512.png": "85f218b70a68b492d50692a913edb9d3d8caaacc",
        "public/apple-touch-icon.png": "32cb41ca2c852c4ea9f308261fd71db5a8e8155f",
        "public/empty-logo.jpg": "48cb514c7555baaef97287a71a15a8e0eb95934c",
        "public/favicon-16x16.png": "f28429bc6639096346c2ca0a91c5d05dd0a0924a",
        "public/favicon-32x32.png": "c11b619e1df27cbe02e856bd17f29975bf2ecba6",
        "public/favicon.ico": "d3fad7ad78deba27c414f85d2ee5e4a535cbd386",
        "public/favicon.png": "9534c6b50e415b966cddb3e55d08910404470dd8",
        "public/googlefe186b13d977d70c.html": "092b376ca1058b6fd007f76e2c28011a482ba831",
        "public/illustration.svg": "1476dff745f62999965c47896668a9a3fd017459",
        "public/logo.jpg": "2abc3d6e6990cfe3961cd4cc0fa9113486556d56",
        "public/noindex/404.svg": "814a6ed7a30f70f89b44018a1704e49949515293",
        "public/noindex/500.svg": "e90edc0ef7203989079fc0a851737d29c065301b",
        "public/noindex/cards/americanexpress.png": "f5efd16bc6d958b5289b4248184176dd5a20d274",
        "public/noindex/cards/dinersclub.jpg": "3858db209d1b524ff628bd3cd8a7c1b3c4e8db39",
        "public/noindex/cards/discover.jpg": "969b1e8611c701a803a4ce331313649b29cae678",
        "public/noindex/cards/elo.png": "54de00dabd2bfa14f93756510c110b9bc1601fa3",
        "public/noindex/cards/hiper.png": "54e66da389ba4a289916f4a33eb8f37d309680d1",
        "public/noindex/cards/jcb.png": "9278e618b33e0b577f2591183f53a80bd7857fb2",
        "public/noindex/cards/mastercard.png": "42239cfa2432043e085532ddd03cee2151b2a305",
        "public/noindex/cards/mir.png": "e3ff6aa44df88d6f570926538d2132d5cc659bd6",
        "public/noindex/cards/unionpay.png": "1c2168fcf769d12b0540acb2a9cbd36d87c37411",
        "public/noindex/cards/visa.png": "0a0198bfb76a28dddb13a82ff4a3ee76256a1f2e",
        "public/noindex/company.png": "5b9f3493a0b2932e5a0f66ba88fb853c04db4493",
        "public/noindex/done-time.png": "bd37734f35dc14f36d1d68639c84da684358207e",
        "public/noindex/email.png": "8834bea5fec51b4909851be16dc4c4268842ef9b",
        "public/noindex/google-focused.png": "510e6192fda859b4faaadc6797ce019f16df11e6",
        "public/noindex/google-normal.png": "c1e2c5c7d2fd44bf9babaf95f859aaae3f09d7c6",
        "public/noindex/google-pressed.png": "d01521e8a3ea944073b9fcd5ea657676c70a1618",
        "public/noindex/location.png": "7210617bb6ee2031adf82051bb27f2f605abc9fa",
        "public/noindex/money.png": "7f2042ad05373a5454a4cc418f050141fe83e28f",
        "public/noindex/payments.png": "30ab2711201c39780eb1260756ee70b5eeed601d",
        "public/noindex/phone.png": "3126a1fffde5b461a1ff65eb08257657c61e01e6",
        "public/noindex/ro.svg": "fabf12eaa6a1909c2ded80f37525308fda1bc9c8",
        "public/noindex/search.svg": "6e6e823e11925150eacc09deef8e0e1195715f23",
        "public/noindex/sent-email.svg": "a10bfceb7e28c1fdb1094ea12a486c714e6f206d",
        "public/noindex/time.png": "dc65410591f08eebbfcd1e95a57acdc662aa8aff",
        "public/noindex/us.svg": "dc427e711a6fc9691585f678fb24734b830ff081",
        "public/noindex/work.png": "865fbf55ee2251bc9a0a7ffd3ea06373b1cf8e62",
        "public/noindex/youtube.jpg": "7b9b1c02795ccc687ea1454abdb93579e260909e",
        "public/robots.txt": "7b1ba1dc74ad63ada9fa65755607ff24664edaa0",
        "public/site.webmanifest": "9404b7160cfe998857df4f6d3383d37a091111a9",
        "public/~partytown/debug/partytown-atomics.js": "96685b5be8348209f5832e07fd19018e013c16f5",
        "public/~partytown/debug/partytown-media.js": "f71fadb06f115b261470815ebfe1c9231374f15b",
        "public/~partytown/debug/partytown-sandbox-sw.js": "44b9657c0265834b275b5f6b12d1fe7116832e29",
        "public/~partytown/debug/partytown-sw.js": "38101ade54fa235a37a2682e203528facdd714d2",
        "public/~partytown/debug/partytown-ww-atomics.js": "b9f8aa4f7cd2ce780812ff3a2ddd04d808ec895a",
        "public/~partytown/debug/partytown-ww-sw.js": "12d58ae12e040d622ce99f820e3b62f182b5f75d",
        "public/~partytown/debug/partytown.js": "897a458f6b6c5ed3ef8aabfe4e9824fd9efd6a60",
        "public/~partytown/partytown-atomics.js": "efc6036aa78e238d806719d823a9df5abd98a20f",
        "public/~partytown/partytown-media.js": "04cd5bba3bab3b1da0b6d762ae3ac002a72ef318",
        "public/~partytown/partytown-sw.js": "9e9cab35e6c36a31dcc92fc57e11db5702fc8535",
        "public/~partytown/partytown.js": "e64e9727f8cad660e036304277f021c620500176",
        "runner-results/cypress_e2e_editProfile.cy.ts.json": "e19bc425383985d0ce3a35a24892c2282ded872c",
        "runner-results/cypress_e2e_jobsCompany.cy.ts.json": "52d443ec764d422e5c7ddd51cb203da2f7fb57bf",
        "runner-results/cypress_e2e_registerAndDelete.cy.ts.json": "4c2e743efa4f42d1064775570c4d7381bec261f7",
        "runner-results/cypress_e2e_spec.cy.ts.json": "ce5e49584cd0cc056fb791fdbafe84993f213843",
        "sentry.client.config.js": "60b44f530d1aa4ccb7699876c58af8186fb2705b",
        "sentry.properties": "94223c438928569ef77f98405a4e12ed74265eef",
        "sentry.server.config.js": "e8d3b896de067806af0f58dac22e7df7ee7dfdb0",
        "tailwind.config.cjs": "17a461b96199c6eab4ca52ccdef6aab921c1bd0e",
        "tsconfig.json": "79db6f5aa53aac9dc1e9f12207ac93eb9b6468f8",
        "unlighthouse.config.ts": "7dfd42a2964b033e206fd7850f8d282e3414df79",
        "utils/backend/applyJob.ts": "ee5faf08883ca3965bde662944b37b0c63474580",
        "utils/backend/auth.ts": "79e5d88cdff44f2211937490c704b1f931cf665b",
        "utils/backend/backendMain.ts": "d10bf0888506f123321f59ecf4c958f4e397538a",
        "utils/backend/candidateProfileRouter.ts": "5e3addb8a052675828f8cbfcf5a93c6ea9231c48",
        "utils/backend/candidateRouter.ts": "f40cf27e09bfa7ab3ef8d7e2067b73694cc39842",
        "utils/backend/companyRouter.ts": "04ffa768c37a635ec10580676c2afcc6a42cef55",
        "utils/backend/fetchJobs.test.ts": "cf14f596c65f75990078a23e0f128489d56fa2be",
        "utils/backend/payments.ts": "b8cd5fbec607385525765ccb89bd0efa85f2230a",
        "utils/backend/paymentsRouter.ts": "d7a8798a0d78ba20bf7c6cbe71bd94ae4037280c",
        "utils/backend/usersRouter.ts": "87de2243398d664d12048ac944b9846d7c98360e",
        "utils/data/accountStore.ts": "ca7a7ebcb1bc95bec32dad0aa3df1354a130a41e",
        "utils/data/trpc.ts": "b3fff32b5236e187a241efa4e7601786d7ea9941",
        "utils/data/trpcServer.ts": "db267f8ea1bc69384d9635449a3c5bf1029545d5",
        "utils/data/utils.ts": "960786fc7bdfe472c317b19b0406f25760b9ccd5",
        "utils/seo.ts": "6e2cec0b7d83cd722814294966238565abdf299e"
      },
      "hashOfExternalDependencies": "49214d6b53d7b7d7",
      "cache": {
        "local": true,
        "remote": false,
        "status": "HIT",
        "source": "LOCAL",
        "timeSaved": 152208
      },
      "command": "npm run partytown \u0026\u0026 next build",
      "cliArguments": [],
      "outputs": [
        ".next/**",
        "dist/**"
      ],
      "excludedOutputs": null,
      "logFile": "apps/web/.turbo/turbo-build.log",
      "directory": "apps/web",
      "dependencies": [
        "eslint-config-custom#build",
        "shared#build",
        "tsconfig#build",
        "validation-objects#build"
      ],
      "dependents": [],
      "resolvedTaskDefinition": {
        "outputs": [
          ".next/**",
          "dist/**"
        ],
        "cache": true,
        "dependsOn": [
          "^build"
        ],
        "inputs": [],
        "outputMode": "full",
        "persistent": false,
        "env": [],
        "passThroughEnv": null,
        "dotEnv": null
      },
      "expandedOutputs": [
        "apps/web/.next",
        "apps/web/.next/BUILD_ID",
        "apps/web/.next/build-manifest.json",
        "apps/web/.next/cache",
        "apps/web/.next/cache/.tsbuildinfo",
        "apps/web/.next/cache/eslint",
        "apps/web/.next/cache/eslint/.cache_us4wsh",
        "apps/web/.next/cache/next-server.js.nft.json",
        "apps/web/.next/cache/swc",
        "apps/web/.next/cache/swc/plugins",
        "apps/web/.next/cache/swc/plugins/v4",
        "apps/web/.next/cache/webpack",
        "apps/web/.next/cache/webpack/client-production",
        "apps/web/.next/cache/webpack/client-production/0.pack",
        "apps/web/.next/cache/webpack/client-production/index.pack",
        "apps/web/.next/cache/webpack/server-production",
        "apps/web/.next/cache/webpack/server-production/0.pack",
        "apps/web/.next/cache/webpack/server-production/index.pack",
        "apps/web/.next/export-marker.json",
        "apps/web/.next/images-manifest.json",
        "apps/web/.next/next-server.js.nft.json",
        "apps/web/.next/package.json",
        "apps/web/.next/prerender-manifest.json",
        "apps/web/.next/react-loadable-manifest.json",
        "apps/web/.next/required-server-files.json",
        "apps/web/.next/routes-manifest.json",
        "apps/web/.next/server",
        "apps/web/.next/server/chunks",
        "apps/web/.next/server/chunks/1066.js",
        "apps/web/.next/server/chunks/1101.js",
        "apps/web/.next/server/chunks/1126.js",
        "apps/web/.next/server/chunks/1246.js",
        "apps/web/.next/server/chunks/1445.js",
        "apps/web/.next/server/chunks/1757.js",
        "apps/web/.next/server/chunks/2090.js",
        "apps/web/.next/server/chunks/2105.js",
        "apps/web/.next/server/chunks/211.js",
        "apps/web/.next/server/chunks/2437.js",
        "apps/web/.next/server/chunks/2471.js",
        "apps/web/.next/server/chunks/253.js",
        "apps/web/.next/server/chunks/2652.js",
        "apps/web/.next/server/chunks/2699.js",
        "apps/web/.next/server/chunks/2869.js",
        "apps/web/.next/server/chunks/2924.js",
        "apps/web/.next/server/chunks/3060.js",
        "apps/web/.next/server/chunks/3100.js",
        "apps/web/.next/server/chunks/3155.js",
        "apps/web/.next/server/chunks/3505.js",
        "apps/web/.next/server/chunks/3762.js",
        "apps/web/.next/server/chunks/3849.js",
        "apps/web/.next/server/chunks/3927.js",
        "apps/web/.next/server/chunks/4590.js",
        "apps/web/.next/server/chunks/4632.js",
        "apps/web/.next/server/chunks/4637.js",
        "apps/web/.next/server/chunks/4668.js",
        "apps/web/.next/server/chunks/4789.js",
        "apps/web/.next/server/chunks/4911.js",
        "apps/web/.next/server/chunks/4929.js",
        "apps/web/.next/server/chunks/5025.js",
        "apps/web/.next/server/chunks/5109.js",
        "apps/web/.next/server/chunks/5257.js",
        "apps/web/.next/server/chunks/5277.js",
        "apps/web/.next/server/chunks/5438.js",
        "apps/web/.next/server/chunks/5575.js",
        "apps/web/.next/server/chunks/5588.js",
        "apps/web/.next/server/chunks/5738.js",
        "apps/web/.next/server/chunks/5889.js",
        "apps/web/.next/server/chunks/6158.js",
        "apps/web/.next/server/chunks/6396.js",
        "apps/web/.next/server/chunks/6494.js",
        "apps/web/.next/server/chunks/6533.js",
        "apps/web/.next/server/chunks/7086.js",
        "apps/web/.next/server/chunks/7133.js",
        "apps/web/.next/server/chunks/7199.js",
        "apps/web/.next/server/chunks/7621.js",
        "apps/web/.next/server/chunks/7625.js",
        "apps/web/.next/server/chunks/8046.js",
        "apps/web/.next/server/chunks/8129.js",
        "apps/web/.next/server/chunks/8331.js",
        "apps/web/.next/server/chunks/8350.js",
        "apps/web/.next/server/chunks/8768.js",
        "apps/web/.next/server/chunks/8772.js",
        "apps/web/.next/server/chunks/8985.js",
        "apps/web/.next/server/chunks/9008.js",
        "apps/web/.next/server/chunks/9120.js",
        "apps/web/.next/server/chunks/923.js",
        "apps/web/.next/server/chunks/9330.js",
        "apps/web/.next/server/chunks/9358.js",
        "apps/web/.next/server/chunks/9380.js",
        "apps/web/.next/server/chunks/font-manifest.json",
        "apps/web/.next/server/font-manifest.json",
        "apps/web/.next/server/middleware-build-manifest.js",
        "apps/web/.next/server/middleware-manifest.json",
        "apps/web/.next/server/middleware-react-loadable-manifest.js",
        "apps/web/.next/server/pages",
        "apps/web/.next/server/pages-manifest.json",
        "apps/web/.next/server/pages/404.js.nft.json",
        "apps/web/.next/server/pages/500.js.nft.json",
        "apps/web/.next/server/pages/_app.js",
        "apps/web/.next/server/pages/_app.js.nft.json",
        "apps/web/.next/server/pages/_document.js",
        "apps/web/.next/server/pages/_document.js.nft.json",
        "apps/web/.next/server/pages/_error.js",
        "apps/web/.next/server/pages/_error.js.nft.json",
        "apps/web/.next/server/pages/account",
        "apps/web/.next/server/pages/account/[[...subChild]].js",
        "apps/web/.next/server/pages/account/[[...subChild]].js.nft.json",
        "apps/web/.next/server/pages/ajutor-pentru-a-gasi-loc-de-munca-si-traducere-cv-in-engleza.js.nft.json",
        "apps/web/.next/server/pages/api",
        "apps/web/.next/server/pages/api/crons",
        "apps/web/.next/server/pages/api/crons/companyImport.js",
        "apps/web/.next/server/pages/api/crons/companyImport.js.nft.json",
        "apps/web/.next/server/pages/api/crons/mnjImport.js",
        "apps/web/.next/server/pages/api/crons/mnjImport.js.nft.json",
        "apps/web/.next/server/pages/api/crons/neuvooImport.js",
        "apps/web/.next/server/pages/api/crons/neuvooImport.js.nft.json",
        "apps/web/.next/server/pages/api/crons/openai.js",
        "apps/web/.next/server/pages/api/crons/openai.js.nft.json",
        "apps/web/.next/server/pages/api/crons/rotation.js",
        "apps/web/.next/server/pages/api/crons/rotation.js.nft.json",
        "apps/web/.next/server/pages/api/neuvooXml.js",
        "apps/web/.next/server/pages/api/neuvooXml.js.nft.json",
        "apps/web/.next/server/pages/api/sitemap",
        "apps/web/.next/server/pages/api/sitemap.js",
        "apps/web/.next/server/pages/api/sitemap.js.nft.json",
        "apps/web/.next/server/pages/api/sitemap/articles.js",
        "apps/web/.next/server/pages/api/sitemap/articles.js.nft.json",
        "apps/web/.next/server/pages/api/sitemap/collaboration-types.js",
        "apps/web/.next/server/pages/api/sitemap/collaboration-types.js.nft.json",
        "apps/web/.next/server/pages/api/sitemap/companies.js",
        "apps/web/.next/server/pages/api/sitemap/companies.js.nft.json",
        "apps/web/.next/server/pages/api/sitemap/educations.js",
        "apps/web/.next/server/pages/api/sitemap/educations.js.nft.json",
        "apps/web/.next/server/pages/api/sitemap/employment-types.js",
        "apps/web/.next/server/pages/api/sitemap/employment-types.js.nft.json",
        "apps/web/.next/server/pages/api/sitemap/fields.js",
        "apps/web/.next/server/pages/api/sitemap/fields.js.nft.json",
        "apps/web/.next/server/pages/api/sitemap/industries.js",
        "apps/web/.next/server/pages/api/sitemap/industries.js.nft.json",
        "apps/web/.next/server/pages/api/sitemap/jobs",
        "apps/web/.next/server/pages/api/sitemap/jobs/[offset].js",
        "apps/web/.next/server/pages/api/sitemap/jobs/[offset].js.nft.json",
        "apps/web/.next/server/pages/api/sitemap/jobs/by-eu-countries.js",
        "apps/web/.next/server/pages/api/sitemap/jobs/by-eu-countries.js.nft.json",
        "apps/web/.next/server/pages/api/sitemap/jobs/by-romania-cities.js",
        "apps/web/.next/server/pages/api/sitemap/jobs/by-romania-cities.js.nft.json",
        "apps/web/.next/server/pages/api/sitemap/jobs/by-romania-counties.js",
        "apps/web/.next/server/pages/api/sitemap/jobs/by-romania-counties.js.nft.json",
        "apps/web/.next/server/pages/api/sitemap/jobs/locations-sitemap.test.js",
        "apps/web/.next/server/pages/api/sitemap/jobs/locations-sitemap.test.js.nft.json",
        "apps/web/.next/server/pages/api/sitemap/locations-industries.js",
        "apps/web/.next/server/pages/api/sitemap/locations-industries.js.nft.json",
        "apps/web/.next/server/pages/api/sitemap/static-pages.js",
        "apps/web/.next/server/pages/api/sitemap/static-pages.js.nft.json",
        "apps/web/.next/server/pages/api/stripe-webhook.js",
        "apps/web/.next/server/pages/api/stripe-webhook.js.nft.json",
        "apps/web/.next/server/pages/api/trpc",
        "apps/web/.next/server/pages/api/trpc/[trpc].js",
        "apps/web/.next/server/pages/api/trpc/[trpc].js.nft.json",
        "apps/web/.next/server/pages/applied.js",
        "apps/web/.next/server/pages/applied.js.nft.json",
        "apps/web/.next/server/pages/articles.js.nft.json",
        "apps/web/.next/server/pages/cart",
        "apps/web/.next/server/pages/cart/[stage].js",
        "apps/web/.next/server/pages/cart/[stage].js.nft.json",
        "apps/web/.next/server/pages/cele-mai-bune-locuri-de-munca-din-romania-si-strainatate.js.nft.json",
        "apps/web/.next/server/pages/company",
        "apps/web/.next/server/pages/company/[name]",
        "apps/web/.next/server/pages/company/[name].js",
        "apps/web/.next/server/pages/company/[name].js.nft.json",
        "apps/web/.next/server/pages/company/[name]/[id].js",
        "apps/web/.next/server/pages/company/[name]/[id].js.nft.json",
        "apps/web/.next/server/pages/company/applicants.js",
        "apps/web/.next/server/pages/company/applicants.js.nft.json",
        "apps/web/.next/server/pages/company/dashboard.js",
        "apps/web/.next/server/pages/company/dashboard.js.nft.json",
        "apps/web/.next/server/pages/company/edit",
        "apps/web/.next/server/pages/company/edit/[[...subChild]].js",
        "apps/web/.next/server/pages/company/edit/[[...subChild]].js.nft.json",
        "apps/web/.next/server/pages/company/jobs",
        "apps/web/.next/server/pages/company/jobs.js",
        "apps/web/.next/server/pages/company/jobs.js.nft.json",
        "apps/web/.next/server/pages/company/jobs/[id].js",
        "apps/web/.next/server/pages/company/jobs/[id].js.nft.json",
        "apps/web/.next/server/pages/company/jobs/add.js",
        "apps/web/.next/server/pages/company/jobs/add.js.nft.json",
        "apps/web/.next/server/pages/company/jobs/applications",
        "apps/web/.next/server/pages/company/jobs/applications/[id].js",
        "apps/web/.next/server/pages/company/jobs/applications/[id].js.nft.json",
        "apps/web/.next/server/pages/company/jobs/edit",
        "apps/web/.next/server/pages/company/jobs/edit/[id].js",
        "apps/web/.next/server/pages/company/jobs/edit/[id].js.nft.json",
        "apps/web/.next/server/pages/confirm-account.js",
        "apps/web/.next/server/pages/confirm-account.js.nft.json",
        "apps/web/.next/server/pages/confirm-change-email.js",
        "apps/web/.next/server/pages/confirm-change-email.js.nft.json",
        "apps/web/.next/server/pages/contact.js",
        "apps/web/.next/server/pages/contact.js.nft.json",
        "apps/web/.next/server/pages/cookies.js.nft.json",
        "apps/web/.next/server/pages/cvs",
        "apps/web/.next/server/pages/cvs/[[...subChild]].js",
        "apps/web/.next/server/pages/cvs/[[...subChild]].js.nft.json",
        "apps/web/.next/server/pages/en",
        "apps/web/.next/server/pages/en/404.html",
        "apps/web/.next/server/pages/en/500.html",
        "apps/web/.next/server/pages/en/ajutor-pentru-a-gasi-loc-de-munca-si-traducere-cv-in-engleza.html",
        "apps/web/.next/server/pages/en/articles.html",
        "apps/web/.next/server/pages/en/cele-mai-bune-locuri-de-munca-din-romania-si-strainatate.html",
        "apps/web/.next/server/pages/en/cookies.html",
        "apps/web/.next/server/pages/en/faq",
        "apps/web/.next/server/pages/en/faq/[[...faq]].html",
        "apps/web/.next/server/pages/en/terms-and-conditions.html",
        "apps/web/.next/server/pages/europe-countries.js",
        "apps/web/.next/server/pages/europe-countries.js.nft.json",
        "apps/web/.next/server/pages/faq",
        "apps/web/.next/server/pages/faq/[[...faq]].js.nft.json",
        "apps/web/.next/server/pages/fields-and-industries.js",
        "apps/web/.next/server/pages/fields-and-industries.js.nft.json",
        "apps/web/.next/server/pages/getloc.js",
        "apps/web/.next/server/pages/getloc.js.nft.json",
        "apps/web/.next/server/pages/index.js",
        "apps/web/.next/server/pages/index.js.nft.json",
        "apps/web/.next/server/pages/job",
        "apps/web/.next/server/pages/job/[location]",
        "apps/web/.next/server/pages/job/[location]/[name]",
        "apps/web/.next/server/pages/job/[location]/[name].js",
        "apps/web/.next/server/pages/job/[location]/[name].js.nft.json",
        "apps/web/.next/server/pages/job/[location]/[name]/[id].js",
        "apps/web/.next/server/pages/job/[location]/[name]/[id].js.nft.json",
        "apps/web/.next/server/pages/jobs",
        "apps/web/.next/server/pages/jobs/[[...slug]].js",
        "apps/web/.next/server/pages/jobs/[[...slug]].js.nft.json",
        "apps/web/.next/server/pages/login.js",
        "apps/web/.next/server/pages/login.js.nft.json",
        "apps/web/.next/server/pages/mail-p",
        "apps/web/.next/server/pages/mail-p/[mail].js",
        "apps/web/.next/server/pages/mail-p/[mail].js.nft.json",
        "apps/web/.next/server/pages/payments",
        "apps/web/.next/server/pages/payments/[[...subChild]].js",
        "apps/web/.next/server/pages/payments/[[...subChild]].js.nft.json",
        "apps/web/.next/server/pages/playground.js",
        "apps/web/.next/server/pages/playground.js.nft.json",
        "apps/web/.next/server/pages/pricing.js",
        "apps/web/.next/server/pages/pricing.js.nft.json",
        "apps/web/.next/server/pages/profile",
        "apps/web/.next/server/pages/profile/[[...subChild]].js",
        "apps/web/.next/server/pages/profile/[[...subChild]].js.nft.json",
        "apps/web/.next/server/pages/register",
        "apps/web/.next/server/pages/register.js",
        "apps/web/.next/server/pages/register.js.nft.json",
        "apps/web/.next/server/pages/register/candidate.js",
        "apps/web/.next/server/pages/register/candidate.js.nft.json",
        "apps/web/.next/server/pages/register/company.js",
        "apps/web/.next/server/pages/register/company.js.nft.json",
        "apps/web/.next/server/pages/reset-password.js",
        "apps/web/.next/server/pages/reset-password.js.nft.json",
        "apps/web/.next/server/pages/ro",
        "apps/web/.next/server/pages/ro/404.html",
        "apps/web/.next/server/pages/ro/500.html",
        "apps/web/.next/server/pages/ro/ajutor-pentru-a-gasi-loc-de-munca-si-traducere-cv-in-engleza.html",
        "apps/web/.next/server/pages/ro/articles.html",
        "apps/web/.next/server/pages/ro/cele-mai-bune-locuri-de-munca-din-romania-si-strainatate.html",
        "apps/web/.next/server/pages/ro/cookies.html",
        "apps/web/.next/server/pages/ro/faq",
        "apps/web/.next/server/pages/ro/faq/[[...faq]].html",
        "apps/web/.next/server/pages/ro/terms-and-conditions.html",
        "apps/web/.next/server/pages/romania-counties.js",
        "apps/web/.next/server/pages/romania-counties.js.nft.json",
        "apps/web/.next/server/pages/saved",
        "apps/web/.next/server/pages/saved/[[...subChild]].js",
        "apps/web/.next/server/pages/saved/[[...subChild]].js.nft.json",
        "apps/web/.next/server/pages/specializations.js",
        "apps/web/.next/server/pages/specializations.js.nft.json",
        "apps/web/.next/server/pages/terms-and-conditions.js.nft.json",
        "apps/web/.next/server/webpack-api-runtime.js",
        "apps/web/.next/server/webpack-runtime.js",
        "apps/web/.next/static",
        "apps/web/.next/static/3jH9nfe6WQo9fz32t3cei",
        "apps/web/.next/static/3jH9nfe6WQo9fz32t3cei/_buildManifest.js",
        "apps/web/.next/static/3jH9nfe6WQo9fz32t3cei/_ssgManifest.js",
        "apps/web/.next/static/chunks",
        "apps/web/.next/static/chunks/100d2278.767c7a9dc73cee57.js",
        "apps/web/.next/static/chunks/11294790-0cf97c354fdd029c.js",
        "apps/web/.next/static/chunks/1313-a23608a9dc609b39.js",
        "apps/web/.next/static/chunks/1681-15867ea9a3f872d5.js",
        "apps/web/.next/static/chunks/180-3034ac6d7020a82b.js",
        "apps/web/.next/static/chunks/1860.ac93f9a7d87f70d0.js",
        "apps/web/.next/static/chunks/212-01c97d24ca9b7831.js",
        "apps/web/.next/static/chunks/2782-191d6844d30393ac.js",
        "apps/web/.next/static/chunks/2942-65ab66fbc688b8ab.js",
        "apps/web/.next/static/chunks/3265.6a4a0ee7b818da5f.js",
        "apps/web/.next/static/chunks/3325-2eb015872900f53c.js",
        "apps/web/.next/static/chunks/3599-b81c6351d5eee1ab.js",
        "apps/web/.next/static/chunks/3709-00477ce73b6ccb0b.js",
        "apps/web/.next/static/chunks/39d77213.edc1bd102cb31795.js",
        "apps/web/.next/static/chunks/4049-3315a7f775af594e.js",
        "apps/web/.next/static/chunks/4668-252f89f7969a3b51.js",
        "apps/web/.next/static/chunks/4769fa6d.3fb69d8c379eca64.js",
        "apps/web/.next/static/chunks/4809-d6bce0248bcb1c08.js",
        "apps/web/.next/static/chunks/4928-a500fb0db5f6c6b4.js",
        "apps/web/.next/static/chunks/519-5d7ba6d1a2012065.js",
        "apps/web/.next/static/chunks/57-d3c43420d51899e2.js",
        "apps/web/.next/static/chunks/6020-c47cf8c862aaa6e9.js",
        "apps/web/.next/static/chunks/6127-4467e9b04618289f.js",
        "apps/web/.next/static/chunks/6190-070407fc9db8f61e.js",
        "apps/web/.next/static/chunks/6216-30f3b6b1905f3a7a.js",
        "apps/web/.next/static/chunks/6376-2bc40ea92e977491.js",
        "apps/web/.next/static/chunks/6597.a748edcac702734d.js",
        "apps/web/.next/static/chunks/6754-44a2c73055275d76.js",
        "apps/web/.next/static/chunks/6968-e8d36fd8749f7d5a.js",
        "apps/web/.next/static/chunks/7433-f1332f59a048dc86.js",
        "apps/web/.next/static/chunks/8098-e4ea375af8213953.js",
        "apps/web/.next/static/chunks/82382cf3-486a3656c4ed63f0.js",
        "apps/web/.next/static/chunks/8596-6019c56fab40d76c.js",
        "apps/web/.next/static/chunks/8642-1fa1982fe96f2f02.js",
        "apps/web/.next/static/chunks/8861-d28c609aaa4cff18.js",
        "apps/web/.next/static/chunks/88929249-e9013ae6833a4502.js",
        "apps/web/.next/static/chunks/898.2ebb96105c800dfc.js",
        "apps/web/.next/static/chunks/8997-b347677e66ce6777.js",
        "apps/web/.next/static/chunks/9156-1c5482fcd0819381.js",
        "apps/web/.next/static/chunks/9199-80d7b0d67ca0a376.js",
        "apps/web/.next/static/chunks/9296-2c86a4d2b17d6fa6.js",
        "apps/web/.next/static/chunks/9509-f92c73e8a7c90bd8.js",
        "apps/web/.next/static/chunks/9879-7b1a69d2221dbae3.js",
        "apps/web/.next/static/chunks/99c730b3-fdad286be2554a45.js",
        "apps/web/.next/static/chunks/dff00bfe-d37833d5e57fd483.js",
        "apps/web/.next/static/chunks/framework-355844ca5f2fa68f.js",
        "apps/web/.next/static/chunks/main-8876dfbf74780a36.js",
        "apps/web/.next/static/chunks/pages",
        "apps/web/.next/static/chunks/pages/404-cd11a5b0faea9563.js",
        "apps/web/.next/static/chunks/pages/500-377e729dc1f0a639.js",
        "apps/web/.next/static/chunks/pages/_app-2cd6424122509cdb.js",
        "apps/web/.next/static/chunks/pages/_error-45a39de1515f0a1f.js",
        "apps/web/.next/static/chunks/pages/account",
        "apps/web/.next/static/chunks/pages/account/[[...subChild]]-c0fc68ba10b88368.js",
        "apps/web/.next/static/chunks/pages/ajutor-pentru-a-gasi-loc-de-munca-si-traducere-cv-in-engleza-5852009911d48e46.js",
        "apps/web/.next/static/chunks/pages/applied-8bd8ac7d27ab461f.js",
        "apps/web/.next/static/chunks/pages/articles-44a68346bd332ca3.js",
        "apps/web/.next/static/chunks/pages/cart",
        "apps/web/.next/static/chunks/pages/cart/[stage]-5bf204120b6bbbe1.js",
        "apps/web/.next/static/chunks/pages/cele-mai-bune-locuri-de-munca-din-romania-si-strainatate-10004e570ce79578.js",
        "apps/web/.next/static/chunks/pages/company",
        "apps/web/.next/static/chunks/pages/company/[name]",
        "apps/web/.next/static/chunks/pages/company/[name]-342ea6c37df78b16.js",
        "apps/web/.next/static/chunks/pages/company/[name]/[id]-1c9d600067bdef3b.js",
        "apps/web/.next/static/chunks/pages/company/applicants-785458f5b7713502.js",
        "apps/web/.next/static/chunks/pages/company/dashboard-b43cd3037c70bc36.js",
        "apps/web/.next/static/chunks/pages/company/edit",
        "apps/web/.next/static/chunks/pages/company/edit/[[...subChild]]-9f4f33ce90f0b8c8.js",
        "apps/web/.next/static/chunks/pages/company/jobs",
        "apps/web/.next/static/chunks/pages/company/jobs-be8c588175fe5444.js",
        "apps/web/.next/static/chunks/pages/company/jobs/[id]-404803bbe5b82f85.js",
        "apps/web/.next/static/chunks/pages/company/jobs/add-417fad5f16551c7b.js",
        "apps/web/.next/static/chunks/pages/company/jobs/applications",
        "apps/web/.next/static/chunks/pages/company/jobs/applications/[id]-12b049d25ce18134.js",
        "apps/web/.next/static/chunks/pages/company/jobs/edit",
        "apps/web/.next/static/chunks/pages/company/jobs/edit/[id]-2945021e9d5aa16d.js",
        "apps/web/.next/static/chunks/pages/confirm-account-218f001b94f1ff70.js",
        "apps/web/.next/static/chunks/pages/confirm-change-email-3d65b87174e4a39b.js",
        "apps/web/.next/static/chunks/pages/contact-e491f9342891c146.js",
        "apps/web/.next/static/chunks/pages/cookies-5f19cc5e2846938f.js",
        "apps/web/.next/static/chunks/pages/cvs",
        "apps/web/.next/static/chunks/pages/cvs/[[...subChild]]-fa327e4d9a2ad6de.js",
        "apps/web/.next/static/chunks/pages/europe-countries-6f6da6c6dd22d51f.js",
        "apps/web/.next/static/chunks/pages/faq",
        "apps/web/.next/static/chunks/pages/faq/[[...faq]]-18a38fb19c9df35f.js",
        "apps/web/.next/static/chunks/pages/fields-and-industries-5891a1d0a7a09043.js",
        "apps/web/.next/static/chunks/pages/getloc-26dab4050503a83e.js",
        "apps/web/.next/static/chunks/pages/index-50eca49e7dd353b3.js",
        "apps/web/.next/static/chunks/pages/job",
        "apps/web/.next/static/chunks/pages/job/[location]",
        "apps/web/.next/static/chunks/pages/job/[location]/[name]",
        "apps/web/.next/static/chunks/pages/job/[location]/[name]-3a5c445c8117e7a8.js",
        "apps/web/.next/static/chunks/pages/job/[location]/[name]/[id]-b6cb609df45fac85.js",
        "apps/web/.next/static/chunks/pages/jobs",
        "apps/web/.next/static/chunks/pages/jobs/[[...slug]]-bfaf9c5437ffed2b.js",
        "apps/web/.next/static/chunks/pages/login-d4dc362410fce927.js",
        "apps/web/.next/static/chunks/pages/mail-p",
        "apps/web/.next/static/chunks/pages/mail-p/[mail]-3c4398d5ba908025.js",
        "apps/web/.next/static/chunks/pages/payments",
        "apps/web/.next/static/chunks/pages/payments/[[...subChild]]-0e664dec205faf0e.js",
        "apps/web/.next/static/chunks/pages/playground-79c7bc404df17e12.js",
        "apps/web/.next/static/chunks/pages/pricing-1d9789fa3ead243b.js",
        "apps/web/.next/static/chunks/pages/profile",
        "apps/web/.next/static/chunks/pages/profile/[[...subChild]]-3f5e878d90abb353.js",
        "apps/web/.next/static/chunks/pages/register",
        "apps/web/.next/static/chunks/pages/register-3b24f07adc036abb.js",
        "apps/web/.next/static/chunks/pages/register/candidate-1a91b5729f5b4330.js",
        "apps/web/.next/static/chunks/pages/register/company-1966dd4e98bb6e93.js",
        "apps/web/.next/static/chunks/pages/reset-password-0993ed28099f78f9.js",
        "apps/web/.next/static/chunks/pages/romania-counties-5aa751784cb58ed8.js",
        "apps/web/.next/static/chunks/pages/saved",
        "apps/web/.next/static/chunks/pages/saved/[[...subChild]]-84979051077172f4.js",
        "apps/web/.next/static/chunks/pages/specializations-59ce073ca3fc5b59.js",
        "apps/web/.next/static/chunks/pages/terms-and-conditions-6dc51de52e32e152.js",
        "apps/web/.next/static/chunks/polyfills-c67a75d1b6f99dc8.js",
        "apps/web/.next/static/chunks/webpack-bf72b5bfe3ad5b6e.js",
        "apps/web/.next/static/css",
        "apps/web/.next/static/css/65ad1cc9284c673d.css",
        "apps/web/.next/static/media",
        "apps/web/.next/static/media/logo.b8685448.jpg",
        "apps/web/.next/trace",
        "apps/web/.turbo/turbo-build.log"
      ],
      "framework": "nextjs",
      "envMode": "loose",
      "environmentVariables": {
        "specified": {
          "env": [],
          "passThroughEnv": null
        },
        "configured": [],
        "inferred": [],
        "passthrough": null
      },
      "dotEnv": null,
      "execution": {
        "startTime": 1693987067923,
        "endTime": 1693987071024,
        "exitCode": 0
      }
    }
  ],
  "user": "",
  "scm": {
    "type": "git",
    "sha": "da628260679474e14ca0697f34503860b493a0e7",
    "branch": "development"
  }
}

@nathanhammond
Copy link
Contributor

nathanhammond commented Sep 7, 2023

@toto1384 Just an update, we're investigating which code path it is taking through the build. In the mean time, I hypothesize that if you pin your turbo version to 1.10.3 the issue will go away. Can you try that and report back?

If that doesn't resolve it, I'd try 1.9.5. It is almost certainly good. (I'm not 100% sure which change we made impacted your use case.)

In the next little bit we'll be getting additional debug logging in place in order to identify precisely what the issue is with the latest releases.

(For context, I'm making informed guesses by choosing points in the history of files in this crate: https://github.com/vercel/turbo/commits/main/crates/turborepo-scm/src)

@nathanhammond nathanhammond changed the title [turborepo] daemon connection taking 2 minutes before failing [turborepo] file hashing taking 2 minutes before failing Sep 7, 2023
@toto1384
Copy link
Author

toto1384 commented Sep 8, 2023

Hey Nathan, thanks for the help. But 1.9.5 is still taking a looooong time

@nathanhammond
Copy link
Contributor

@toto1384: Interesting, can you get me the timing for these, run from the repository root?

time git ls-tree -r -z HEAD
time git status --untracked-files --no-renames -z -- .

@nathanhammond
Copy link
Contributor

If 1.9.5 is slow that would likely mean that something about your actual Linux box is strange and turbo isn't interacting with that well.

For example, here is somebody reporting that pinning 1.9.5 resolving their performance issue: #5908

We'd still like to understand what that is, if we can, so that we can not be slow in whatever situation.

We have two code paths here:

  • One does manual hashing.
  • One does hashing by calling out to git.

Based on your turbo.json you should be getting hashing by calling out to git so long as calling out to git isn't erroring. That's why I'm trying to check git timing here.

@toto1384
Copy link
Author

toto1384 commented Sep 9, 2023

Starting everything from scratch would not be realistic, since the site is live.

I'll be waiting for a fix in the meantime. If you have any other ideas, feel free to let me know. Thanks for the help

@toto1384
Copy link
Author

toto1384 commented Sep 10, 2023

time git status --untracked-files --no-renames -z -- .

Also the timing for them:

  1. time git ls-tree -r -z HEAD
real    0m0.051s
user    0m0.002s
sys     0m0.007s
  1. time git status --untracked-files --no-renames -z -- .
real    0m0.037s
user    0m0.002s
sys     0m0.008s

@nathanhammond
Copy link
Contributor

Okay, that's the kind of performance you should be seeing. 😅 We would expect the section of the code where you're seeing the stall to run in .051s + .037s = .088s.

Just to triple-check: those numbers come from the Linux box?

So, given:

  • Those git calls didn't error.
  • Your turbo.json doesn't have includes.

Something is very strange. We'll get additional debug logging in place and ship a canary for you so we can get more data!

@nathanhammond
Copy link
Contributor

@toto1384 are you using Arch, by chance? Trying to find out if #5908 is possibly the same root cause.

@toto1384
Copy link
Author

To triple check: yes, that's my ubuntu vm where I'm running those commands from.

@toto1384
Copy link
Author

Also, if it helps you with the troubleshooting, I upgraded the version back from 1.9.5 to 1.10.13 and the 1.10.13 version is significantly faster (2 minutes vs. 5+ minutes)

@nathanhammond nathanhammond added the linear: turbo Issues to sync to Linear for Turborepo team label Oct 3, 2023
@gsoltis gsoltis self-assigned this Oct 3, 2023
@gsoltis
Copy link
Contributor

gsoltis commented Oct 3, 2023

@toto1384 Still looking into this, although we're currently unable to reproduce it.

Perhaps we can narrow down the problem through. If you build individual workspaces, can you determine if there's one particular workspace that causes the build to hang? e.g. build only web or only crm, or only one of their dependencies, and see if we can find a particular workspace to ask about and see what might be different from the other workspaces.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind: bug Something isn't working linear: turbo Issues to sync to Linear for Turborepo team needs: author input
Projects
None yet
Development

No branches or pull requests

5 participants