[{"data":1,"prerenderedAt":211},["ShallowReactive",2],{"term-j\u002Fjob":3,"related-j\u002Fjob":194},{"id":4,"title":5,"acronym":6,"body":7,"category":175,"description":176,"difficulty":177,"extension":178,"letter":179,"meta":180,"navigation":105,"path":181,"related":182,"seo":188,"sitemap":189,"stem":192,"subcategory":6,"__hash__":193},"terms\u002Fterms\u002Fj\u002Fjob.md","Job",null,{"type":8,"value":9,"toc":169},"minimark",[10,15,19,23,31,35,158,162,165],[11,12,14],"h2",{"id":13},"eli5-the-vibe-check","ELI5 — The Vibe Check",[16,17,18],"p",{},"A job is one chunk of work in your pipeline, running on its own machine. If your pipeline is a school day, jobs are the different classes — math, english, science — each happening in a different room. Jobs can run at the same time (parallel) or one after another (sequential).",[11,20,22],{"id":21},"real-talk","Real Talk",[16,24,25,26,30],{},"A job is a set of steps that execute on the same runner in a CI\u002FCD workflow. Jobs within a workflow can run in parallel by default, or sequentially using ",[27,28,29],"code",{},"needs:"," dependencies. Each job gets a fresh environment, so you must explicitly share files between jobs via artifacts.",[11,32,34],{"id":33},"show-me-the-code","Show Me The Code",[36,37,42],"pre",{"className":38,"code":39,"language":40,"meta":41,"style":41},"language-yaml shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","jobs:\n  test:\n    runs-on: ubuntu-latest\n    steps:\n      - run: npm test\n\n  deploy:\n    needs: test  # Only runs if test passes\n    runs-on: ubuntu-latest\n    steps:\n      - run: npm run deploy\n","yaml","",[27,43,44,57,65,78,86,100,107,115,130,139,146],{"__ignoreMap":41},[45,46,49,53],"span",{"class":47,"line":48},"line",1,[45,50,52],{"class":51},"swJcz","jobs",[45,54,56],{"class":55},"sMK4o",":\n",[45,58,60,63],{"class":47,"line":59},2,[45,61,62],{"class":51},"  test",[45,64,56],{"class":55},[45,66,68,71,74],{"class":47,"line":67},3,[45,69,70],{"class":51},"    runs-on",[45,72,73],{"class":55},":",[45,75,77],{"class":76},"sfazB"," ubuntu-latest\n",[45,79,81,84],{"class":47,"line":80},4,[45,82,83],{"class":51},"    steps",[45,85,56],{"class":55},[45,87,89,92,95,97],{"class":47,"line":88},5,[45,90,91],{"class":55},"      -",[45,93,94],{"class":51}," run",[45,96,73],{"class":55},[45,98,99],{"class":76}," npm test\n",[45,101,103],{"class":47,"line":102},6,[45,104,106],{"emptyLinePlaceholder":105},true,"\n",[45,108,110,113],{"class":47,"line":109},7,[45,111,112],{"class":51},"  deploy",[45,114,56],{"class":55},[45,116,118,121,123,126],{"class":47,"line":117},8,[45,119,120],{"class":51},"    needs",[45,122,73],{"class":55},[45,124,125],{"class":76}," test",[45,127,129],{"class":128},"sHwdD","  # Only runs if test passes\n",[45,131,133,135,137],{"class":47,"line":132},9,[45,134,70],{"class":51},[45,136,73],{"class":55},[45,138,77],{"class":76},[45,140,142,144],{"class":47,"line":141},10,[45,143,83],{"class":51},[45,145,56],{"class":55},[45,147,149,151,153,155],{"class":47,"line":148},11,[45,150,91],{"class":55},[45,152,94],{"class":51},[45,154,73],{"class":55},[45,156,157],{"class":76}," npm run deploy\n",[11,159,161],{"id":160},"when-youll-hear-this","When You'll Hear This",[16,163,164],{},"\"The deploy job is blocked because the test job failed.\" \u002F \"Run the lint and test jobs in parallel to save time.\"",[166,167,168],"style",{},"html pre.shiki code .swJcz, html code.shiki .swJcz{--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sHwdD, html code.shiki .sHwdD{--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":41,"searchDepth":59,"depth":59,"links":170},[171,172,173,174],{"id":13,"depth":59,"text":14},{"id":21,"depth":59,"text":22},{"id":33,"depth":59,"text":34},{"id":160,"depth":59,"text":161},"cicd","A job is one chunk of work in your pipeline, running on its own machine.","beginner","md","j",{},"\u002Fterms\u002Fj\u002Fjob",[183,184,185,186,187],"Workflow","Step","Pipeline","Runner","Action",{"title":5,"description":176},{"changefreq":190,"priority":191},"weekly",0.7,"terms\u002Fj\u002Fjob","CHxuGjs_wYvmlhrkV3Aa8SzpD9RSMpqvewJOCPqovLs",[195,198,201,205,208],{"title":187,"path":196,"acronym":6,"category":175,"difficulty":177,"description":197},"\u002Fterms\u002Fa\u002Faction","An action is a reusable mini-program that does one specific thing inside your pipeline. Instead of writing the same 20 lines to set up Node.",{"title":185,"path":199,"acronym":6,"category":175,"difficulty":177,"description":200},"\u002Fterms\u002Fp\u002Fpipeline","A pipeline is like an assembly line at a factory.",{"title":186,"path":202,"acronym":6,"category":175,"difficulty":203,"description":204},"\u002Fterms\u002Fr\u002Frunner","intermediate","A runner is the actual computer that does the work when your pipeline runs.",{"title":184,"path":206,"acronym":6,"category":175,"difficulty":177,"description":207},"\u002Fterms\u002Fs\u002Fstep","A step is the smallest unit of work in a pipeline — a single command or action.",{"title":183,"path":209,"acronym":6,"category":175,"difficulty":177,"description":210},"\u002Fterms\u002Fw\u002Fworkflow","A workflow is a recipe for your robot assistant — it tells CI exactly what to do when something happens. 'When someone pushes code, run tests.",1776518290156]