Prev Next

DevOps / Github Interview questions

How does GitHub Actions decide which workflow to trigger for a given event?

GitHub scans every workflow file under .github/workflows/ in the repository and evaluates each one's on block against the incoming event independently; there's no single "the workflow" concept, and multiple workflows can trigger from the same event simultaneously if their conditions all match.

Matching happens on several axes at once: the event type itself (push, pull_request, schedule, workflow_dispatch, and dozens more), and, for many event types, additional filters like branches, tags, or paths. A workflow only runs if every specified filter condition is satisfied; a push trigger scoped to branches: [main] won't fire for a push to a feature branch, for instance.

Because evaluation is per-file and independent, it's entirely normal for a single push to trigger three separate workflow files at once, one for tests, one for linting, one for a container build, each defined and evaluated on its own rather than as steps within one master pipeline definition.

Can multiple workflow files trigger from the same single event?
A push trigger scoped to branches: [main] will:

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