Prev Next

DevOps / Github Interview questions

What is the difference between "uses" and "run" in a GitHub Actions step?

run executes shell commands directly on the runner, the same as typing them into a terminal. uses invokes a pre-packaged, reusable action, either from the GitHub Marketplace, another repository, or a local path within the same repo, referenced by an owner/repo and version, like actions/checkout@v4.

steps:
  - name: Checkout code
    uses: actions/checkout@v4

  - name: Install dependencies
    run: npm install

  - name: Cache node modules
    uses: actions/cache@v4
    with:
      path: node_modules
      key: ${{ runner.os }}-modules-${{ hashFiles('package-lock.json') }}

  - name: Run tests
    run: npm test

In short: reach for uses when a well-maintained action already does what you need (checking out code, setting up a language runtime, caching), and reach for run for anything project-specific that's just a shell command, like installing dependencies or executing your own test script.

The run keyword in a workflow step is used to:
actions/checkout@v4 is an example of which keyword being used?

More Related questions...

What is GitHub? What is a GitHub repository? What is the difference between Git and GitHub? What is the difference between GitHub and GitLab? What are the main features of GitHub? What is a GitHub pull request? What is GitHub Actions? What is a GitHub Actions workflow file? What is a GitHub Actions runner? What are jobs and steps in a GitHub Actions workflow? What is GitHub Issues? What are GitHub Projects (boards)? What is a GitHub organization? What is GitHub Packages? What is GitHub Pages? What are branch protection rules in GitHub? What is GitHub Copilot? What is forking in GitHub? What are GitHub labels? What is the GitHub Wiki? What are the different GitHub plans? What is a GitHub Gist? What is GitHub Codespaces? What is a GitHub template repository? What are GitHub releases and tags? Explain the execution flow of a GitHub Actions workflow from push to deployment? Why would a team choose GitHub over GitLab for an open-source project? How does a GitHub pull request differ from a GitLab merge request? What is the difference between GitHub.com and GitHub Enterprise Server? How do you write a multi-job GitHub Actions workflow? When should you use repository secrets versus environment secrets in GitHub Actions? How do you troubleshoot a GitHub Actions job stuck queued? What is the difference between GitHub-hosted runners and self-hosted runners? How does GitHub enforce required reviewers with CODEOWNERS? Explain the internal working of GitHub Actions' merge queue? What is the difference between GitHub Actions and Jenkins? How do you implement GitOps with GitHub Actions and Kubernetes? Why use GitHub's Dependabot instead of manually tracking dependency updates? What is the difference between "uses" and "run" in a GitHub Actions step? How does GitHub Actions cache dependencies between workflow runs? When would you choose GitHub Enterprise Cloud over GitHub Team? How do you configure branch protection to enforce a pull-request-only workflow? What is the difference between GitHub Actions "on: pull_request" and "on: push" triggers? Explain the lifecycle of a GitHub issue from creation to closure? How do you optimize GitHub Actions workflow performance for a large monorepo? What is the difference between GitHub Packages and Docker Hub? How does GitHub Actions decide which workflow to trigger for a given event? Why should you use GitHub Environments to track deployments? What is the difference between repository-level and organization-level GitHub Actions secrets? How do you troubleshoot merge conflicts flagged in a GitHub pull request?
Show more question and Answers...


Comments & Discussions