# Why and how to adopt actions/checkout@v3 in your GitHub Action workflow

Nearly all [GitHub Action workflows](https://docs.github.com/en/actions/using-workflows/about-workflows) need to checkout a Git repository at a particular version.

If you still use [actions/checkout@v2](https://github.com/actions/checkout), **it is time to update!**

## Why

Because the latest `v2` version (= v2.5.0) still uses `node12`.

> **Node 12 has been out of support since April 2022, as a result we have started the deprecation process of Node 12 for GitHub Actions**.

> We plan to migrate all actions to run on Node16 by Summer 2023. We will monitor the progress of the migration and listen to the community for how things are going before we define a final date.

> To raise awareness of the upcoming change, we are adding a warning into workflows which contain Actions running on Node 12. This will come into effect starting on September 27th.

Source: [GitHub Actions: All Actions will begin running on Node16 instead of Node12
](https://github.blog/changelog/2022-09-22-github-actions-all-actions-will-begin-running-on-node16-instead-of-node12/9)

## How


You might have several GitHub repositories and each of them can contain multiple workflow files. 

You can easily replace `actions/checkout@v2` with `actions/checkout@v3` in all your local yml files, within a folder hierarchy, with the following command:


```bash
find . -type f -name "*.yml" -print0 | xargs -0 sed -i '' -e 's/actions\/checkout@v2/actions\/checkout@v3/g'
```
