ci-cd-workflow-guide Flashcards

(18 cards)

1
Q

What is the purpose of the CI/CD pipeline for the Uplifty project?

A

To automate the deployment process and enforce code quality checks

The pipeline includes automated checks on pull requests and requires manual approval for deployments.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

What happens every time a pull request is made to dev?

A

Automated checks run: lint, typecheck, tests, build, and Firebase Robo test

Only PRs that pass all checks can be merged into dev.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

What is the role of Workflow A in the CI/CD pipeline?

A

Runs checks on pull requests: lint, typecheck, unit tests, builds APK, and runs Firebase Robo test

This workflow does not require environment secrets or approval.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

What does Workflow B do in the CI/CD pipeline?

A

Triggers on push to dev, deploys Supabase edge functions, and publishes APK to Firebase

This workflow requires manual approval and uses environment-scoped secrets.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

What is the function of the GitHub Environment called ‘testing’?

A

Pauses jobs for manual approval and provides access to environment-scoped secrets

Required reviewers must approve jobs that specify this environment.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

What are the required reviewers for the ‘testing’ environment?

A
  • Yourself
  • Scott
  • Any code owners

Reviewers must approve jobs before they can proceed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

What is the file path for Workflow A?

A

.github/workflows/pr-checks.yml

This workflow validates code quality before merging.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

What is the trigger for Workflow B?

A

Push to dev (after a PR is merged)

This workflow handles deployment tasks.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

What must be enabled in the branch protection rules for the dev branch?

A
  • Require a pull request before merging
  • Require approvals (1+)
  • Require status checks to pass
  • Require branch to be up to date
  • Include administrators

These settings ensure code quality and review before merging.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

What is the purpose of adding secrets in the testing environment?

A

To store required credentials securely for the deploy workflow

Environment secrets are isolated from repository-level secrets.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

What are the required secrets for Supabase in the testing environment?

A
  • SUPABASE_ACCESS_TOKEN
  • SUPABASE_PROJECT_REF

These secrets are necessary for deploying Supabase functions.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

What is the required secret at the repository level for the PR Checks workflow?

A

FIREBASE_SERVICE_ACCOUNT_JSON

This secret is needed for the Robo tests without using environment secrets.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What does the deploy workflow use to deploy Supabase functions?

A

supabase functions deploy (deploy all)

This command deploys every function under supabase/functions/.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

What is the purpose of the validation checklist?

A

To verify that the CI/CD process works correctly before announcing to the team

It includes checks for each step of the workflow.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

What should be communicated to the team regarding the new CI/CD rules?

A
  • All feature work must go through a PR targeting dev
  • CI must pass all checks before merging
  • Merges trigger deployment with manual approval
  • No direct pushes allowed

These rules ensure a structured and secure development process.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

What is the status of the Supabase functions structure in the repository?

A

Correct, with each function having its own directory and necessary files

This structure allows the CLI to discover and deploy them properly.

17
Q

What is the critical YAML configuration line for enforcing the approval gate?

A

environment: testing

This line ensures that jobs require manual approval and access to environment secrets.

18
Q

What is the first step in configuring the GitHub environment?

A

Navigate to your GitHub repository and go to Settings → Environments

Create or edit the ‘testing’ environment to set up required reviewers.