[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:03.30,Default,,0000,0000,0000,,NARRATOR: Automation is key for streamlining your work processes Dialogue: 0,0:00:03.30,0:00:06.90,Default,,0000,0000,0000,,and GitHub Actions is the best way to supercharge your GitHub Workflow. Dialogue: 0,0:00:06.90,0:00:08.25,Default,,0000,0000,0000,,This enables you to create Dialogue: 0,0:00:08.25,0:00:13.20,Default,,0000,0000,0000,,custom software development life cycle workflows directly in your GitHub repository. Dialogue: 0,0:00:13.20,0:00:16.08,Default,,0000,0000,0000,,GitHub Actions is fully integrated into GitHub. Dialogue: 0,0:00:16.08,0:00:18.84,Default,,0000,0000,0000,,It's built-in from the merge box to the checks tab, Dialogue: 0,0:00:18.84,0:00:20.43,Default,,0000,0000,0000,,from the UI to the API. Dialogue: 0,0:00:20.43,0:00:22.60,Default,,0000,0000,0000,,It works the way that GitHub works. Dialogue: 0,0:00:22.60,0:00:26.28,Default,,0000,0000,0000,,Since GitHub Actions help you automate your software development workflows in Dialogue: 0,0:00:26.28,0:00:30.34,Default,,0000,0000,0000,,the same place you store code and collaborate on pull requests and issues, Dialogue: 0,0:00:30.34,0:00:31.86,Default,,0000,0000,0000,,you can discover, create, Dialogue: 0,0:00:31.86,0:00:35.20,Default,,0000,0000,0000,,and share actions to perform essentially any job that you'd like, Dialogue: 0,0:00:35.20,0:00:36.86,Default,,0000,0000,0000,,including CI and CD, Dialogue: 0,0:00:36.86,0:00:40.18,Default,,0000,0000,0000,,and then combine actions in a completely customized workflow. Dialogue: 0,0:00:40.18,0:00:42.36,Default,,0000,0000,0000,,To visualize how this can be useful, Dialogue: 0,0:00:42.36,0:00:44.92,Default,,0000,0000,0000,,let's take a quick look at the basic GitHub Flow, Dialogue: 0,0:00:44.92,0:00:49.02,Default,,0000,0000,0000,,a lightweight yet effective branch-based workflow commonly used on GitHub, Dialogue: 0,0:00:49.02,0:00:51.03,Default,,0000,0000,0000,,and then see how GitHub Actions fits in. Dialogue: 0,0:00:51.03,0:00:54.20,Default,,0000,0000,0000,,Now, when we want to make changes to our code in our GitHub Repository, Dialogue: 0,0:00:54.20,0:00:57.50,Default,,0000,0000,0000,,we branch off of main or the production branch, maker commits, Dialogue: 0,0:00:57.50,0:01:00.43,Default,,0000,0000,0000,,open up a pull request on GitHub to share our changes, Dialogue: 0,0:01:00.43,0:01:04.57,Default,,0000,0000,0000,,and then merge this branch into the main branch and then delete our feature branch. Dialogue: 0,0:01:04.57,0:01:06.04,Default,,0000,0000,0000,,Looking at the GitHub Flow, Dialogue: 0,0:01:06.04,0:01:08.89,Default,,0000,0000,0000,,where would this automation with GitHub Actions take place? Dialogue: 0,0:01:08.89,0:01:11.78,Default,,0000,0000,0000,,Well, the great thing about GitHub Actions is that you can apply Dialogue: 0,0:01:11.78,0:01:13.84,Default,,0000,0000,0000,,existing GitHub Actions or even create Dialogue: 0,0:01:13.84,0:01:17.24,Default,,0000,0000,0000,,your own GitHub Actions to essentially any stage in the GitHub Flow. Dialogue: 0,0:01:17.24,0:01:19.03,Default,,0000,0000,0000,,Do you want to include CICD? Dialogue: 0,0:01:19.03,0:01:20.64,Default,,0000,0000,0000,,Well, GitHub Actions can do that. Dialogue: 0,0:01:20.64,0:01:23.05,Default,,0000,0000,0000,,Do you want a specific automated tasks to run Dialogue: 0,0:01:23.05,0:01:25.45,Default,,0000,0000,0000,,when an issue is opened, labeled, or closed? Dialogue: 0,0:01:25.45,0:01:28.90,Default,,0000,0000,0000,,How about when a pull request is opened and you want automated reminders Dialogue: 0,0:01:28.90,0:01:32.54,Default,,0000,0000,0000,,created based on labels or reviewers from a code owners file? Dialogue: 0,0:01:32.54,0:01:34.45,Default,,0000,0000,0000,,Well, GitHub Actions enables you to create Dialogue: 0,0:01:34.45,0:01:37.32,Default,,0000,0000,0000,,these custom software development life cycle workflows Dialogue: 0,0:01:37.32,0:01:39.25,Default,,0000,0000,0000,,directly in your GitHub repository. Dialogue: 0,0:01:39.25,0:01:41.16,Default,,0000,0000,0000,,GitHub Actions are event-driven, Dialogue: 0,0:01:41.16,0:01:45.20,Default,,0000,0000,0000,,meaning that you can run a series of commands after a specified event has occurred. Dialogue: 0,0:01:45.20,0:01:48.86,Default,,0000,0000,0000,,For example, every time someone creates a pull request for a repository, Dialogue: 0,0:01:48.86,0:01:52.50,Default,,0000,0000,0000,,you can automatically run a command that executes a software testing script. Dialogue: 0,0:01:52.50,0:01:55.82,Default,,0000,0000,0000,,Instead of using CI or CD integrations, with GitHub Actions, Dialogue: 0,0:01:55.82,0:01:58.71,Default,,0000,0000,0000,,you can build end-to-end CI and CD capabilities, Dialogue: 0,0:01:58.71,0:02:00.36,Default,,0000,0000,0000,,and yes, you probably guessed it, Dialogue: 0,0:02:00.36,0:02:02.38,Default,,0000,0000,0000,,directly in your GitHub Repository. Dialogue: 0,0:02:02.38,0:02:05.42,Default,,0000,0000,0000,,This gives you the ultimate freedom to customize how your actions Dialogue: 0,0:02:05.42,0:02:09.11,Default,,0000,0000,0000,,work and automate tasks all along your software development life cycle. Dialogue: 0,0:02:09.11,0:02:11.93,Default,,0000,0000,0000,,Now that we can see where we can apply automation Dialogue: 0,0:02:11.93,0:02:14.87,Default,,0000,0000,0000,,using GitHub Actions within our software development workflow, Dialogue: 0,0:02:14.87,0:02:18.24,Default,,0000,0000,0000,,let's take a closer look into how GitHub Actions actually work. Dialogue: 0,0:02:18.24,0:02:22.56,Default,,0000,0000,0000,,GitHub Actions use YAML syntax to define the events, jobs, and steps. Dialogue: 0,0:02:22.56,0:02:24.17,Default,,0000,0000,0000,,These YAML files are stored in Dialogue: 0,0:02:24.17,0:02:28.18,Default,,0000,0000,0000,,your code repository in a directory called .github/workflows. Dialogue: 0,0:02:28.18,0:02:31.72,Default,,0000,0000,0000,,An event automatically triggers the workflow which contains a job. Dialogue: 0,0:02:31.72,0:02:35.26,Default,,0000,0000,0000,,The job then uses steps to control the order in which actions are run. Dialogue: 0,0:02:35.26,0:02:38.56,Default,,0000,0000,0000,,These actions are the commands that automate your software testing. Dialogue: 0,0:02:38.56,0:02:40.01,Default,,0000,0000,0000,,In this example workflow, Dialogue: 0,0:02:40.01,0:02:43.60,Default,,0000,0000,0000,,it automatically triggers a series of commands whenever code is pushed. Dialogue: 0,0:02:43.60,0:02:47.68,Default,,0000,0000,0000,,GitHub Actions checks out the pushed code, installs the software dependencies, Dialogue: 0,0:02:47.68,0:02:51.04,Default,,0000,0000,0000,,and runs bats-v to output the software version. Dialogue: 0,0:02:51.04,0:02:53.44,Default,,0000,0000,0000,,With GitHub Actions, you can also build, test, Dialogue: 0,0:02:53.44,0:02:56.36,Default,,0000,0000,0000,,and publish across multiple operating systems, Dialogue: 0,0:02:56.36,0:02:59.20,Default,,0000,0000,0000,,platforms, and languages all within the same workflow, Dialogue: 0,0:02:59.20,0:03:02.74,Default,,0000,0000,0000,,and then see the status checks displayed within your pull request. Dialogue: 0,0:03:02.74,0:03:03.77,Default,,0000,0000,0000,,With GitHub Actions, Dialogue: 0,0:03:03.77,0:03:06.62,Default,,0000,0000,0000,,you have the ability to create your own actions or leverage Dialogue: 0,0:03:06.62,0:03:10.67,Default,,0000,0000,0000,,these pre-built actions by the community found on the GitHub marketplace. Dialogue: 0,0:03:10.67,0:03:14.85,Default,,0000,0000,0000,,So if you've been itching to customize and automate your workflow from idea to production, Dialogue: 0,0:03:14.85,0:03:16.95,Default,,0000,0000,0000,,jump into GitHub Actions today and explore Dialogue: 0,0:03:16.95,0:03:20.83,Default,,0000,0000,0000,,the amazing community actions in the GitHub marketplace