Bird
Raised Fist0
Denoframework~20 mins

CI/CD pipeline setup in Deno - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Deno CI/CD Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
💻 Command Output
intermediate
2:00remaining
Understanding Deno CI Pipeline Step Output
Given this Deno CI pipeline step configuration, what will be the output of the deno test command if all tests pass successfully?
Deno
steps:
  - name: Run tests
    run: deno test --unstable --allow-net
AAll tests passed. 0 failures.
BError: Permission denied for network access.
CSyntaxError: Unexpected token in test file.
DNo tests found to run.
Attempts:
2 left
💡 Hint
Think about what happens when tests run successfully with correct permissions.
❓ Configuration
intermediate
2:00remaining
Correct YAML for Deno CI Pipeline with Cache
Which YAML snippet correctly sets up a Deno CI pipeline step that caches the deno_dir directory to speed up dependencies installation?
A
steps:
  - uses: actions/cache@v3
    with:
      path: ./cache/deno_dir
      key: ${{ runner.os }}-deno-cache
  - run: deno cache main.ts
B
steps:
  - uses: actions/cache@v3
    with:
      path: ./deno_dir
      key: ${{ runner.os }}-deno-cache
  - run: deno cache main.ts
C
steps:
  - uses: actions/cache@v3
    with:
      path: ~/.deno
      key: ${{ runner.os }}-deno-cache
  - run: deno cache main.ts
D
steps:
  - uses: actions/cache@v3
    with:
      path: ~/.cache/deno
      key: ${{ runner.os }}-deno-cache
  - run: deno cache main.ts
Attempts:
2 left
💡 Hint
Deno stores cache in a hidden directory inside the user's home cache folder.
❓ Troubleshoot
advanced
2:00remaining
Diagnosing Permission Error in Deno CI Pipeline
A Deno CI pipeline step runs deno run server.ts but fails with the error: PermissionDenied: network access is not allowed. What is the most likely cause?
AThe <code>--allow-net</code> flag was not included in the run command.
BThe <code>server.ts</code> file has syntax errors preventing execution.
CThe <code>deno run</code> command requires <code>--unstable</code> flag for network access.
DThe CI environment does not support network access at all.
Attempts:
2 left
💡 Hint
Check if the command includes the correct permission flags.
🔀 Workflow
advanced
2:00remaining
Order of Steps in a Deno CI/CD Pipeline
What is the correct order of steps in a Deno CI/CD pipeline to ensure code quality and deployment?
A2,3,1,4
B2,1,3,4
C1,2,3,4
D3,2,1,4
Attempts:
2 left
💡 Hint
Think about caching before running tests to speed up dependency loading.
✅ Best Practice
expert
2:00remaining
Best Practice for Secrets Management in Deno CI/CD Pipelines
Which option describes the best practice for managing secrets like API keys in a Deno CI/CD pipeline?
ACommit secrets in the source code repository but restrict access to trusted team members.
BStore secrets directly in the pipeline YAML file as plain text for easy access.
CUse encrypted secrets storage provided by the CI platform and inject them as environment variables.
DPass secrets as command line arguments in the run step to keep them visible in logs.
Attempts:
2 left
💡 Hint
Think about security and avoiding exposure of sensitive data.

Practice

(1/5)
1. What is the main purpose of setting up a CI/CD pipeline for a Deno project?
easy
A. To automate testing and deployment processes
B. To write code faster manually
C. To increase the size of the project files
D. To disable automatic updates

Solution

  1. Step 1: Understand CI/CD pipeline purpose

    A CI/CD pipeline automates repetitive tasks like testing and deployment to save time and reduce errors.
  2. Step 2: Match purpose to options

    Only To automate testing and deployment processes describes automation of testing and deployment, which is the main goal.
  3. Final Answer:

    To automate testing and deployment processes -> Option A
  4. Quick 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
A. deno test
B. deno run test
C. deno build test
D. deno deploy test

Solution

  1. Step 1: Recall Deno test command

    The official command to run tests in Deno is deno test.
  2. Step 2: Compare options with correct syntax

    Only deno test matches the correct command syntax for running tests.
  3. Final Answer:

    deno test -> Option A
  4. Quick 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:
steps:
  - name: Run tests
    run: deno test --unstable
  - name: Bundle code
    run: deno bundle mod.ts bundle.js

What will be the result if tests fail?
medium
A. The pipeline skips tests and bundles code
B. The pipeline stops and does not bundle the code
C. The pipeline continues and bundles the code anyway
D. The pipeline deletes the bundle.js file

Solution

  1. 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.
  2. Step 2: Apply to given steps

    If deno test --unstable fails, the next step to bundle code will not run.
  3. Final Answer:

    The pipeline stops and does not bundle the code -> Option B
  4. Quick 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:
steps:
  - name: Bundle code
    run: deno bundle mod.ts -o bundle.js

But the pipeline fails with an error. What is the likely cause?
medium
A. The pipeline requires 'deno test' before bundling
B. The file 'mod.ts' does not exist
C. The 'run' keyword is misspelled
D. The '-o' flag is not valid for 'deno bundle'

Solution

  1. Step 1: Check 'deno bundle' syntax

    The correct syntax to specify output file is: deno bundle input.ts output.js without '-o' flag.
  2. Step 2: Identify error cause

    Using '-o' causes an error because 'deno bundle' does not support it.
  3. Final Answer:

    The '-o' flag is not valid for 'deno bundle' -> Option D
  4. Quick 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
A. steps: - run: deno bundle mod.ts bundle.js - run: deno test - run: deploy.sh
B. steps: - run: deploy.sh - run: deno test - run: deno bundle mod.ts bundle.js
C. steps: - run: deno test - run: deno bundle mod.ts bundle.js - run: deploy.sh
D. steps: - run: deno test - run: deploy.sh - run: deno bundle mod.ts bundle.js

Solution

  1. Step 1: Determine correct order for CI/CD steps

    Tests must run first to verify code, then bundle code, then deploy if tests pass.
  2. 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.
  3. Final Answer:

    Tests first, then bundle, then deploy -> Option C
  4. Quick 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
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard