Practice
1. What is the main purpose of setting up a CI/CD pipeline for a Deno project?
easy
Solution
Step 1: Understand CI/CD pipeline purpose
A CI/CD pipeline automates repetitive tasks like testing and deployment to save time and reduce errors.Step 2: Match purpose to options
Only To automate testing and deployment processes describes automation of testing and deployment, which is the main goal.Final Answer:
To automate testing and deployment processes -> Option AQuick Check:
CI/CD automates testing and deployment = A [OK]
Hint: CI/CD means automating build, test, and deploy steps [OK]
Common Mistakes:
- Thinking CI/CD is about writing code manually
- Confusing CI/CD with increasing file size
- Believing CI/CD disables updates
2. Which of the following is the correct command to run tests in a Deno CI/CD pipeline?
easy
Solution
Step 1: Recall Deno test command
The official command to run tests in Deno isdeno test.Step 2: Compare options with correct syntax
Only deno test matches the correct command syntax for running tests.Final Answer:
deno test -> Option AQuick Check:
Run tests with 'deno test' = A [OK]
Hint: Use 'deno test' to run tests, not 'deno run test' [OK]
Common Mistakes:
- Using 'deno run test' which runs a script, not tests
- Confusing build or deploy commands with test command
- Adding extra words like 'build' or 'deploy' incorrectly
3. Given this CI step in a Deno pipeline:
What will be the result if tests fail?
steps:
- name: Run tests
run: deno test --unstable
- name: Bundle code
run: deno bundle mod.ts bundle.jsWhat will be the result if tests fail?
medium
Solution
Step 1: Understand default pipeline behavior on failure
In most CI/CD systems, if a test step fails, the pipeline stops to prevent deploying broken code.Step 2: Apply to given steps
Ifdeno test --unstablefails, the next step to bundle code will not run.Final Answer:
The pipeline stops and does not bundle the code -> Option BQuick Check:
Failed tests stop pipeline = C [OK]
Hint: Failed tests usually stop pipeline to avoid bad deploys [OK]
Common Mistakes:
- Assuming pipeline continues after test failure
- Thinking tests are skipped automatically
- Believing files get deleted on test failure
4. You wrote this pipeline step:
But the pipeline fails with an error. What is the likely cause?
steps:
- name: Bundle code
run: deno bundle mod.ts -o bundle.jsBut the pipeline fails with an error. What is the likely cause?
medium
Solution
Step 1: Check 'deno bundle' syntax
The correct syntax to specify output file is:deno bundle input.ts output.jswithout '-o' flag.Step 2: Identify error cause
Using '-o' causes an error because 'deno bundle' does not support it.Final Answer:
The '-o' flag is not valid for 'deno bundle' -> Option DQuick Check:
Output file is positional, no '-o' flag = D [OK]
Hint: Use positional output filename, not '-o', with deno bundle [OK]
Common Mistakes:
- Adding '-o' flag like other bundlers
- Assuming file existence without checking
- Thinking 'run' keyword is wrong
- Believing tests must run before bundling always
5. You want to create a CI/CD pipeline that runs tests, bundles code, and then deploys only if tests pass. Which YAML snippet correctly represents this sequence?
hard
Solution
Step 1: Determine correct order for CI/CD steps
Tests must run first to verify code, then bundle code, then deploy if tests pass.Step 2: Match order with options
Only steps: - run: deno test - run: deno bundle mod.ts bundle.js - run: deploy.sh runs tests first, then bundles, then deploys.Final Answer:
Tests first, then bundle, then deploy -> Option CQuick Check:
Test -> Bundle -> Deploy = B [OK]
Hint: Test first, then bundle, then deploy in pipeline steps [OK]
Common Mistakes:
- Deploying before tests run
- Bundling before tests
- Changing step order incorrectly
