Practice
1. What is the main purpose of setting up a CI pipeline for a Remix app?
easy
Solution
Step 1: Understand CI pipeline purpose
A CI pipeline runs tests and builds automatically when code changes happen.Step 2: Identify correct purpose for Remix app
This helps catch errors early and ensures the app builds correctly before deployment.Final Answer:
To automatically run tests and build the app on code changes -> Option DQuick Check:
CI pipeline = auto test and build [OK]
Hint: CI pipelines run tests/build automatically on code changes [OK]
Common Mistakes:
- Thinking CI deploys manually
- Assuming CI writes code
- Confusing CI with UI design
2. Which of the following is the correct syntax to trigger a GitHub Actions workflow on every push to the main branch?
easy
Solution
Step 1: Review GitHub Actions trigger syntax
The correct YAML syntax uses 'on:' followed by the event and branches list.Step 2: Match syntax to options
on: push: branches: [main] matches the correct YAML format: 'on: push: branches: [main]'. Others are invalid syntax.Final Answer:
on: push: branches: [main] -> Option CQuick Check:
GitHub Actions trigger = on: push: branches: [main] [OK]
Hint: GitHub Actions triggers start with 'on:' keyword [OK]
Common Mistakes:
- Using 'trigger' instead of 'on'
- Missing YAML indentation
- Writing event as plain text
3. Given this GitHub Actions step in a Remix CI pipeline:
What will happen when this step runs?
- name: Install dependencies
run: npm installWhat will happen when this step runs?
medium
Solution
Step 1: Understand npm install command
Running 'npm install' downloads and installs all dependencies listed in package.json.Step 2: Match command effect to options
It installs all npm packages listed in package.json correctly describes this behavior. Other options describe unrelated actions.Final Answer:
It installs all npm packages listed in package.json -> Option AQuick Check:
npm install = install dependencies [OK]
Hint: 'npm install' installs packages from package.json [OK]
Common Mistakes:
- Confusing install with uninstall
- Thinking it runs the app
- Assuming it updates npm itself
4. You wrote this GitHub Actions workflow snippet but the pipeline fails to start on pushes:
What is the error causing the failure?
on:
push:
branch: mainWhat is the error causing the failure?
medium
Solution
Step 1: Check YAML keys for GitHub Actions triggers
The correct key to specify branches is 'branches' (plural), not 'branch'.Step 2: Identify error in snippet
Using 'branch' causes the trigger to be ignored, so the pipeline won't start on push.Final Answer:
The key 'branch' should be 'branches' (plural) in YAML -> Option AQuick Check:
Trigger key = branches (plural) [OK]
Hint: Use 'branches' not 'branch' for GitHub Actions push triggers [OK]
Common Mistakes:
- Using singular 'branch' instead of 'branches'
- Misnaming workflow files
- Incorrect indentation
5. You want your Remix app's CI pipeline to run tests only when files in the
app/ directory change. Which GitHub Actions trigger configuration achieves this?hard
Solution
Step 1: Understand GitHub Actions path filters
To trigger workflows only on changes in specific paths, use the 'paths' key under push.Step 2: Identify correct syntax for filtering 'app/' directory
on: push: branches: [main] paths: ["app/**"] uses 'paths: ["app/**"]' which matches all files in app/ and subfolders.Final Answer:
on: push: branches: [main] paths: ["app/**"] -> Option BQuick Check:
Use 'paths' to filter files in GitHub Actions triggers [OK]
Hint: Use 'paths' key to filter files triggering workflow [OK]
Common Mistakes:
- Using 'files' or 'only' instead of 'paths'
- Incorrect YAML indentation
- Missing quotes around path patterns
