{"id":39696,"date":"2020-07-16T06:00:28","date_gmt":"2020-07-16T13:00:28","guid":{"rendered":"https:\/\/devblogs.microsoft.com\/premier-developer\/?p=39696"},"modified":"2020-07-16T13:51:40","modified_gmt":"2020-07-16T20:51:40","slug":"github-actions-overview","status":"publish","type":"post","link":"https:\/\/devblogs.microsoft.com\/premier-developer\/github-actions-overview\/","title":{"rendered":"GitHub Actions Overview"},"content":{"rendered":"<p>In this post, App Dev Managers <a href=\"https:\/\/www.linkedin.com\/in\/bernardapolinario\/\">Bernard Apolinario<\/a>, <a href=\"https:\/\/www.linkedin.com\/in\/sujithrn\/\">Sujith Nair<\/a>, and <a href=\"https:\/\/www.linkedin.com\/in\/latha-natarajan-08710311\/\">Latha Natarajan<\/a> give a thorough overview of GitHub Actions.<\/p>\n<hr \/>\n<p>GitHub Actions enables you to create custom workflows directly in your GitHub repository. You can discover, create, and share actions to perform any job you&#8217;d like, including CI\/CD, and combine actions in a completely customized workflow. You can create continuous integration (CI) workflows that build, and test projects written in different programming languages.<\/p>\n<p><a href=\"https:\/\/help.github.com\/en\/actions\/language-and-framework-guides\/github-actions-for-javascript-and-typescript\">GitHub Actions for JavaScript and TypeScript<\/a><\/p>\n<p><a href=\"https:\/\/help.github.com\/en\/actions\/language-and-framework-guides\/github-actions-for-python\">GitHub Actions for Python<\/a><\/p>\n<p><a href=\"https:\/\/help.github.com\/en\/actions\/language-and-framework-guides\/github-actions-for-java\">GitHub Actions for Java<\/a><\/p>\n<p><a href=\"https:\/\/help.github.com\/en\/actions\/language-and-framework-guides\/github-actions-for-docker\">GitHub Actions for Docker<\/a><\/p>\n<p>Workflows run in Linux, macOS, Windows, and containers on GitHub-hosted machines, called &#8216;runners&#8217;. Alternatively, you can also host your own runners to run workflows on machines you own or manage. For more information see, &#8220;<a href=\"https:\/\/help.github.com\/en\/actions\/automating-your-workflow-with-github-actions\/about-self-hosted-runners\">About self-hosted runners<\/a>.&#8221;<\/p>\n<h2>Workflows<\/h2>\n<p>A workflow is a configurable automated process made up of one or more jobs. You can setup workflows in your repository to build, test, package, release, or deploy any project on GitHub. Workflows are stored in the <strong>.github\/workflows<\/strong> directory in the root of your repository. There is a requirement to have at least one job in a workflow. A job contains a set of steps that perform tasks (Commands or Actions)<\/p>\n<p>Workflows can be configured to start when:<\/p>\n<ul>\n<li>An event occurs on GitHub\n<ul>\n<li>a commit is pushed<\/li>\n<li>issue or pull is requested<\/li>\n<\/ul>\n<\/li>\n<li>A scheduled event begins<\/li>\n<li>An external event occurs<\/li>\n<\/ul>\n<p>More details on workflow triggers can be found <a href=\"https:\/\/help.github.com\/en\/actions\/reference\/events-that-trigger-workflows\">here<\/a><\/p>\n<p>Workflows in GitHub Actions are created as YAML files and saved in your repository. Once the workflow has been created and triggered, the logs, test results, artifacts, and the status for each step will be available for review. For more information see &#8220;<a href=\"https:\/\/help.github.com\/en\/articles\/managing-a-workflow-run\">Managing a workflow run<\/a>.&#8221;<\/p>\n<h2>Matrix builds<\/h2>\n<p>GitHub Actions saves you time by allowing you to test on multiple operating systems, platforms, and language versions at the same time using a build matrix.<\/p>\n<p>You can create a matrix to run workflows on more than one operating system. You can also specify more than one matrix configuration. This example creates a matrix of 6 jobs:<\/p>\n<ul>\n<li>2 operating systems specified in the\u00a0os\u00a0array<\/li>\n<li>3 Node.js versions specified in the\u00a0node\u00a0array<\/li>\n<\/ul>\n<p>When you define a matrix of operating systems, you must set the value of\u00a0runs-on\u00a0to the\u00a0<strong>matrix.os<\/strong>\u00a0context property you defined.<\/p>\n<p><img decoding=\"async\" width=\"401\" height=\"243\" class=\"wp-image-39701\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/a-screenshot-of-a-cell-phone-description-automati.png\" alt=\"A screenshot of a cell phone Description automatically generated\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/a-screenshot-of-a-cell-phone-description-automati.png 401w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/a-screenshot-of-a-cell-phone-description-automati-300x182.png 300w\" sizes=\"(max-width: 401px) 100vw, 401px\" \/><\/p>\n<p>Supported configurations options for GitHub hosted runner can be found at &#8220;<a href=\"https:\/\/help.github.com\/en\/actions\/automating-your-workflow-with-github-actions\/virtual-environments-for-github-hosted-runners\">Virtual environments for GitHub-hosted runners<\/a>.&#8221;<\/p>\n<h2>Live logs<\/h2>\n<p>GitHub Actions allows you to see your workflow run in real-time. If your workflow run fails, you can see the step that caused the failure and review the failed steps build logs. The duration for each step is logged. A link to the specific line in the log file is shareable with your team when troubleshooting. The full build logs and artifacts for a workflow run is available for 90 days. (Read-level access can perform this function)<\/p>\n<p>To review the logs:<\/p>\n<ol>\n<li>On GitHub, navigate to the main page of the repository.<\/li>\n<li>Under your repository name, click\u00a0<strong>Actions<\/strong>.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1000\" height=\"104\" class=\"wp-image-39702\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation.png\" alt=\"Actions tab in the main repository navigation\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation.png 1000w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation-300x31.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation-768x80.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<ol>\n<li>In the left sidebar, click the workflow you want to see.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1431\" height=\"355\" class=\"wp-image-39703\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar.png\" alt=\"Workflow list in left sidebar\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar.png 1431w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-300x74.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-1024x254.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-768x191.png 768w\" sizes=\"(max-width: 1431px) 100vw, 1431px\" \/><\/p>\n<ol>\n<li>Under &#8220;Workflow runs&#8221;, click the name of the run you want to see.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1431\" height=\"354\" class=\"wp-image-39704\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run.png\" alt=\"Name of workflow run\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run.png 1431w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-300x74.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-1024x253.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-768x190.png 768w\" sizes=\"(max-width: 1431px) 100vw, 1431px\" \/><\/p>\n<ol>\n<li>In the left sidebar, click the job you want to see.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1429\" height=\"303\" class=\"wp-image-39705\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/list-of-jobs-in-left-sidebar.png\" alt=\"List of jobs in left sidebar\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/list-of-jobs-in-left-sidebar.png 1429w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/list-of-jobs-in-left-sidebar-300x64.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/list-of-jobs-in-left-sidebar-1024x217.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/list-of-jobs-in-left-sidebar-768x163.png 768w\" sizes=\"(max-width: 1429px) 100vw, 1429px\" \/><\/p>\n<ol>\n<li>To expand the log for a failed step, click the step.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1429\" height=\"325\" class=\"wp-image-39706\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/failed-step-name.png\" alt=\"Failed step name\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/failed-step-name.png 1429w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/failed-step-name-300x68.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/failed-step-name-1024x233.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/failed-step-name-768x175.png 768w\" sizes=\"(max-width: 1429px) 100vw, 1429px\" \/><\/p>\n<ol>\n<li>Optionally, to get a link to a specific line in the logs, click on the step&#8217;s line number. You can copy the link from the address bar of your web browser.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1428\" height=\"398\" class=\"wp-image-39707\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/button-to-copy-link.png\" alt=\"Button to copy link\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/button-to-copy-link.png 1428w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/button-to-copy-link-300x84.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/button-to-copy-link-1024x285.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/button-to-copy-link-768x214.png 768w\" sizes=\"(max-width: 1428px) 100vw, 1428px\" \/><\/p>\n<p>Build logs are also searchable. You can search the build logs for a specific step. Only expanded steps are included in the results. (Read-level access can perform this function)<\/p>\n<ol>\n<li>On GitHub, navigate to the main page of the repository.<\/li>\n<li>Under your repository name, click\u00a0<strong>Actions<\/strong>.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1000\" height=\"104\" class=\"wp-image-39708\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation-1.png\" alt=\"Actions tab in the main repository navigation\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation-1.png 1000w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation-1-300x31.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation-1-768x80.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<ol>\n<li>In the left sidebar, click the workflow you want to see.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1431\" height=\"355\" class=\"wp-image-39709\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-1.png\" alt=\"Workflow list in left sidebar\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-1.png 1431w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-1-300x74.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-1-1024x254.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-1-768x191.png 768w\" sizes=\"(max-width: 1431px) 100vw, 1431px\" \/><\/p>\n<ol>\n<li>Under &#8220;Workflow runs&#8221;, click the name of the run you want to see.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1431\" height=\"354\" class=\"wp-image-39710\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-1.png\" alt=\"Name of workflow run\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-1.png 1431w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-1-300x74.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-1-1024x253.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-1-768x190.png 768w\" sizes=\"(max-width: 1431px) 100vw, 1431px\" \/><\/p>\n<ol>\n<li>In the left sidebar, click the job you want to see.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1429\" height=\"303\" class=\"wp-image-39711\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/list-of-jobs-in-left-sidebar-1.png\" alt=\"List of jobs in left sidebar\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/list-of-jobs-in-left-sidebar-1.png 1429w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/list-of-jobs-in-left-sidebar-1-300x64.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/list-of-jobs-in-left-sidebar-1-1024x217.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/list-of-jobs-in-left-sidebar-1-768x163.png 768w\" sizes=\"(max-width: 1429px) 100vw, 1429px\" \/><\/p>\n<ol>\n<li>To expand each step, you want to include in your search, click the step.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1429\" height=\"325\" class=\"wp-image-39712\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/step-name.png\" alt=\"Step name\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/step-name.png 1429w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/step-name-300x68.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/step-name-1024x233.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/step-name-768x175.png 768w\" sizes=\"(max-width: 1429px) 100vw, 1429px\" \/><\/p>\n<ol>\n<li>In the upper-right corner of the log output, in the\u00a0<strong>Search logs<\/strong>\u00a0search box, type a search query.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1429\" height=\"285\" class=\"wp-image-39713\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/search-box-to-search-logs.png\" alt=\"Search box to search logs\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/search-box-to-search-logs.png 1429w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/search-box-to-search-logs-300x60.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/search-box-to-search-logs-1024x204.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/search-box-to-search-logs-768x153.png 768w\" sizes=\"(max-width: 1429px) 100vw, 1429px\" \/><\/p>\n<p>As mentioned earlier, the logs are available for review for up to 90 days. If you need to keep the logs as well as the artifacts longer, you can download them from your workflow run. (Read-level access can perform this function)<\/p>\n<ol>\n<li>On GitHub, navigate to the main page of the repository.<\/li>\n<li>Under your repository name, click\u00a0<strong>Actions<\/strong>.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1000\" height=\"104\" class=\"wp-image-39714\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation-2.png\" alt=\"Actions tab in the main repository navigation\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation-2.png 1000w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation-2-300x31.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation-2-768x80.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<ol>\n<li>In the left sidebar, click the workflow you want to see.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1431\" height=\"355\" class=\"wp-image-39715\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-2.png\" alt=\"Workflow list in left sidebar\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-2.png 1431w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-2-300x74.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-2-1024x254.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-2-768x191.png 768w\" sizes=\"(max-width: 1431px) 100vw, 1431px\" \/><\/p>\n<ol>\n<li>Under &#8220;Workflow runs&#8221;, click the name of the run you want to see.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1431\" height=\"354\" class=\"wp-image-39716\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-2.png\" alt=\"Name of workflow run\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-2.png 1431w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-2-300x74.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-2-1024x253.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-2-768x190.png 768w\" sizes=\"(max-width: 1431px) 100vw, 1431px\" \/><\/p>\n<ol>\n<li>To download logs, use the\u00a0<strong>Download logs<\/strong>\u00a0drop-down menu, and select the logs you want to download.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1430\" height=\"207\" class=\"wp-image-39717\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/download-logs-drop-down-menu.png\" alt=\"Download logs drop-down menu\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/download-logs-drop-down-menu.png 1430w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/download-logs-drop-down-menu-300x43.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/download-logs-drop-down-menu-1024x148.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/download-logs-drop-down-menu-768x111.png 768w\" sizes=\"(max-width: 1430px) 100vw, 1430px\" \/><\/p>\n<p>For more information, see &#8220;<a href=\"https:\/\/help.github.com\/en\/actions\/automating-your-workflow-with-github-actions\/persisting-workflow-data-using-artifacts\">Persisting workflow data using artifacts<\/a>.&#8221;<\/p>\n<p>If the need arises to delete logs, you can delete them from your workflow run by following the steps below: (Write-level access is required to perform this function)<\/p>\n<ol>\n<li>On GitHub, navigate to the main page of the repository.<\/li>\n<li>Under your repository name, click\u00a0<strong>Actions<\/strong>.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1000\" height=\"104\" class=\"wp-image-39718\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation-3.png\" alt=\"Actions tab in the main repository navigation\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation-3.png 1000w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation-3-300x31.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/actions-tab-in-the-main-repository-navigation-3-768x80.png 768w\" sizes=\"(max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<ol>\n<li>In the left sidebar, click the workflow you want to see.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1431\" height=\"355\" class=\"wp-image-39719\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-3.png\" alt=\"Workflow list in left sidebar\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-3.png 1431w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-3-300x74.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-3-1024x254.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/workflow-list-in-left-sidebar-3-768x191.png 768w\" sizes=\"(max-width: 1431px) 100vw, 1431px\" \/><\/p>\n<ol>\n<li>Under &#8220;Workflow runs&#8221;, click the name of the run you want to see.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1431\" height=\"354\" class=\"wp-image-39720\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-3.png\" alt=\"Name of workflow run\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-3.png 1431w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-3-300x74.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-3-1024x253.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/name-of-workflow-run-3-768x190.png 768w\" sizes=\"(max-width: 1431px) 100vw, 1431px\" \/><\/p>\n<ol>\n<li>To delete the log files, click the\u00a0<strong>Delete all logs<\/strong>\u00a0button and review the confirmation prompt.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"1432\" height=\"380\" class=\"wp-image-39721\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/delete-all-logs.png\" alt=\"Delete all logs\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/delete-all-logs.png 1432w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/delete-all-logs-300x80.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/delete-all-logs-1024x272.png 1024w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/delete-all-logs-768x204.png 768w\" sizes=\"(max-width: 1432px) 100vw, 1432px\" \/> \u00a0After deleting logs, the\u00a0<strong>Delete all logs<\/strong>\u00a0button is removed to indicate that no log files remain in the workflow run.<\/p>\n<h2>Built-in secret store<\/h2>\n<p>Secrets are encrypted variables that you create in a repository or organization. The secrets created are used within the GitHub Action workflows. The secrets could be login credentials, configuration settings, or any sensitive value that would be used by the workflow tasks. You can securely connect to an Azure subscription using a service principal generated via the Azure CLI. The encrypted secret output of the command can be safely stored in the GitHub Actions built-in secret store. The access to secrets can be for all repositories or limited to only private repositories or a list of repositories.<\/p>\n<ul>\n<li>To create secrets at the organization level, you must have\u00a0admin\u00a0access.<\/li>\n<li>To create secrets for a user account repository, you must be the repository owner.<\/li>\n<li>To create secrets using the REST API, you must have \u201cwrite\u201d access to the repository. For more information, see &#8220;<a href=\"https:\/\/help.github.com\/en\/v3\/actions\/secrets\">GitHub Actions secrets API<\/a>.&#8221;<\/li>\n<\/ul>\n<p>Follow the steps below to add a new secret:<\/p>\n<ol>\n<li>On GitHub, navigate to the main page of the repository.<\/li>\n<li>Under your repository name, click\u00a0\u00a0<strong>Settings<\/strong>.<\/li>\n<\/ol>\n<p><img decoding=\"async\" width=\"998\" height=\"108\" class=\"wp-image-39722\" src=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/repository-settings-button.png\" alt=\"Repository settings button\" srcset=\"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/repository-settings-button.png 998w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/repository-settings-button-300x32.png 300w, https:\/\/devblogs.microsoft.com\/premier-developer\/wp-content\/uploads\/sites\/31\/2020\/07\/repository-settings-button-768x83.png 768w\" sizes=\"(max-width: 998px) 100vw, 998px\" \/><\/p>\n<ol>\n<li>In the left sidebar, click\u00a0<strong>Secrets<\/strong>.<\/li>\n<li>Click\u00a0<strong>Add a new secret<\/strong>.<\/li>\n<li>Type a name for your secret in the\u00a0<strong>Name<\/strong>\u00a0input box.<\/li>\n<li>Enter the value for your secret.<\/li>\n<li>Click\u00a0<strong>Add secret<\/strong>.<\/li>\n<\/ol>\n<h2>Community-powered workflows<\/h2>\n<p>One of the important features of GitHub Actions is the ability to re-use existing workflows or build on thousands of free community created actions. You can extend and improve your GitHub workflows by utilizing free and paid tools. GitHub has partnered with industry leading solution providers to include:<\/p>\n<ul>\n<li>Atlassian for automating\u00a0<a href=\"https:\/\/github.com\/marketplace?utf8=%E2%9C%93&amp;type=actions&amp;query=jira\">JIRA<\/a><\/li>\n<li><a href=\"https:\/\/github.com\/marketplace\/actions\/twilio-sms\">Twilio<\/a>\u00a0for sending SMS messages in your workflow<\/li>\n<li><a href=\"https:\/\/github.com\/marketplace\/actions\/github-action-for-cloudflare-workers\">Cloudflare<\/a>\u00a0for deploying a Cloudflare Worker<\/li>\n<li><a href=\"https:\/\/github.com\/marketplace\/actions\/sonarcloud-scan\">SonarCloud<\/a>\u00a0for scanning code quality<\/li>\n<li><a href=\"https:\/\/github.com\/marketplace\/actions\/setup-jfrog-cli\">JFrog<\/a>\u00a0for setting up and configuring the JFrog CLI<\/li>\n<li><a href=\"https:\/\/github.com\/marketplace\/actions\/run-mabl-tests\">Mabl<\/a>\u00a0for automated functional testing<\/li>\n<\/ul>\n<p>As of April 2020, GitHub Marketplace has over 3200 Actions. Some of the favorites are:<\/p>\n<ul>\n<li><a href=\"https:\/\/github.com\/peaceiris\/actions-label-commenter\">Actions Label Commenter<\/a> &#8211; Automatically adds a label based on a templated message.<\/li>\n<li><a href=\"https:\/\/github.com\/nwtgck\/actions-comment-run\">Actions Comment Run<\/a> &#8211; Allows you to run any script in a GitHub issue comment. Program your bot to say \u201chello, world\u201d, post an image or gif, add links, run a command, and more.<\/li>\n<li><a href=\"https:\/\/github.com\/sobolevn\/misspell-fixer-action\">Misspell Fixer<\/a> &#8211; Automatically fixes typos and mistakes in your source code and docs<\/li>\n<li><a href=\"https:\/\/github.com\/alstr\/todo-to-issue-action\">TODO to Issue\u00a0<\/a> &#8211; Converts your #TODO comments to GitHub issues when a new comment is added<\/li>\n<\/ul>\n<p>If you\u2019ve created an action that you think would be useful for other users, you can list free and paid tools in the <a href=\"https:\/\/github.com\/marketplace?type=actions\">GitHub Marketplace<\/a>. Anyone can publish an action in GitHub Marketplace as long it meets the <a href=\"https:\/\/help.github.com\/en\/github\/site-policy\/github-marketplace-terms-of-service\">GitHub Marketplace Terms of Service<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this post, App Dev Managers Bernard Apolinario, Sujith Nair, and Latha Natarajan gives a thorough overview of GitHub Actions.<\/p>\n","protected":false},"author":582,"featured_media":39701,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[35,22,1],"tags":[64,79],"class_list":["post-39696","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-alm","category-devops","category-permierdev","tag-cloud","tag-github"],"acf":[],"blog_post_summary":"<p>In this post, App Dev Managers Bernard Apolinario, Sujith Nair, and Latha Natarajan gives a thorough overview of GitHub Actions.<\/p>\n","_links":{"self":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/39696","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/users\/582"}],"replies":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/comments?post=39696"}],"version-history":[{"count":0,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/posts\/39696\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media\/39701"}],"wp:attachment":[{"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/media?parent=39696"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/categories?post=39696"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/devblogs.microsoft.com\/premier-developer\/wp-json\/wp\/v2\/tags?post=39696"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}