You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
TL;DR — Most GitLab concepts have a direct GitHub equivalent (MR → PR, Group → Org, $CI_COMMIT_SHA → ${{ github.sha }}), but two things genuinely change: there are no stages (jobs run in parallel and you sequence them with needs:), and every job starts on a fresh VM with no shared state.
A side-by-sidereference for teams transitioning from GitLab to GitHub.
No stages — GitHub Actions uses a dependency graph (needs:) instead of sequential stages.
Each job runs on a fresh VM — Unlike GitLab where jobs in the same stage share an environment (with cache/artifacts), each GitHub Actions job starts clean.
Secrets are not echoed — GitHub masks secret values in logs; no need to set masked: true.
GITHUB_TOKEN is auto-provisioned — you get a token for the current repo automatically; no need to create a personal access token for basic CI operations.
Workflow files must be on the default branch — Changes to workflows in a branch PR won't run against main's rules until merged.