I've found that in many CICD pipelines such as Azure DevOps pipeline or GitHub action, there is always a checkout branch action. for Azure DevOps pipeline example
jobs:
- job: test
displayName: Integration Test
steps:
- checkout: self
lfs: true
...
for GitHub Action example
on: [push]
jobs:
build:
runs-on: ubuntu-latest
steps:
# checkout the repo
- uses: actions/checkout@master
- uses: Azure/login@v1
with:
creds: ${{ secrets.AZURE_CREDENTIALS }}
...
What's the use of those checkouts? To clean the branch for the CICD pipeline?