{"id":28025,"date":"2019-11-27T00:11:00","date_gmt":"2019-11-26T23:11:00","guid":{"rendered":"https:\/\/blexin.com\/usare-le-github-actions-per-validare-una-pull-request\/"},"modified":"2021-08-04T15:58:50","modified_gmt":"2021-08-04T13:58:50","slug":"validate-pull-requests-using-github-actions","status":"publish","type":"post","link":"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/","title":{"rendered":"Validate Pull Requests using GitHub Actions"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"608\" data-attachment-id=\"28001\" data-permalink=\"https:\/\/blexin.com\/en\/image00\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-20.png?fit=1024%2C608&amp;ssl=1\" data-orig-size=\"1024,608\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image00\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-20.png?fit=1024%2C608&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-20.png?resize=1024%2C608&#038;ssl=1\" alt=\"\" class=\"wp-image-28001\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-20.png 1024w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-20-980x582.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-20-480x285.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">GitHub is the repository we use in Blexin to version our code. Accordingly to DevOps principles, most of these projects have one or more pipelines that help to improve the quality of the code and to reduce the technical debt. Among different DevOps practices, we adopted for most projects&nbsp;<strong>Continuous Integration<\/strong>&nbsp;processes, often related to&nbsp;<strong>Pull Requests (PR)<\/strong>.<br>The pull request process is critical for us: it is based on a review related to newly implemented features in order to improve it and to help developers increase their technical expertise.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">During the creation of a PR or after its closure, we set automation processes helping us to verify the correctness of the code compiling and the successful execution of tests. These automation processes are executed, at date, through Azure Pipelines, which allows us to set some&nbsp;<em>triggers<\/em>&nbsp;linked to given events (i.e., push, pull request), causing the launch of a build.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Following the takeover of GitHub by Microsoft and the introduction of GitHub Actions, I wonder if it could be possible to integrate some ongoing processes, as the validation process on a PR, directly on GitHub. In this article, I show you how I create this process for Raptor, the persistence layer, which uses our CMQ WebRight.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Before going on, we must distinguish Azure Pipelines from GitHub Actions: today, these lasts don\u2019t have the flexibility and the features we can find in the first ones. Actions would surely have a bright future, but Azure Pipelines remain the most suitable choice for structured workflows.<br>Another aspect to consider is the&nbsp;<a href=\"https:\/\/github.com\/features\/actions\" target=\"_blank\" rel=\"noreferrer noopener\">price<\/a>: it is free for public repositories, and for private repositories there\u2019s a free tier, with a limitation to 2000 minutes of build, enough to test and start practice.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In the following Figure 1, I show how I set an Action of ours. Once on GitHub, I select the new tab Actions in the repository:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"223\" height=\"108\" data-attachment-id=\"28005\" data-permalink=\"https:\/\/blexin.com\/en\/image01-14\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-14.png?fit=223%2C108&amp;ssl=1\" data-orig-size=\"223,108\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image01-14\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-14.png?fit=223%2C108&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image01-14.png?resize=223%2C108&#038;ssl=1\" alt=\"\" class=\"wp-image-28005\"\/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Figure 1<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I select the voice&nbsp;<strong>New Workflow<\/strong>&nbsp;on the opening page, and I arrive at the page in Figure 2. Here I find some template of workflow, based on the technology used in our project (Angular, in my case).<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"562\" data-attachment-id=\"28007\" data-permalink=\"https:\/\/blexin.com\/en\/image02-13\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-13.png?fit=1304%2C716&amp;ssl=1\" data-orig-size=\"1304,716\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image02-13\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-13.png?fit=1024%2C562&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-13.png?resize=1024%2C562&#038;ssl=1\" alt=\"\" class=\"wp-image-28007\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-13-980x538.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image02-13-480x264.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Figure 2<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">I select&nbsp;<strong>Simple workflow<\/strong>, and I can display an editor allowing me to modify the build-process at my will, and set required steps. The whole process is defined using YAML.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"460\" data-attachment-id=\"28009\" data-permalink=\"https:\/\/blexin.com\/en\/image03-12\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-12.png?fit=1614%2C725&amp;ssl=1\" data-orig-size=\"1614,725\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image03-12\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-12.png?fit=1024%2C460&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-12.png?resize=1024%2C460&#038;ssl=1\" alt=\"\" class=\"wp-image-28009\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-12-980x440.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image03-12-480x216.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Figure 3<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In figure 3, we can underline the following sections:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>A text box for the name of our YML file: we can give a name to our process<\/li><li>An operational editor, which helps us to define workflows, thanks to intellisense<\/li><li>A section with a list of available steps to insert in the action and a section related to the documentation. Most of the steps that can be imported in the action originate from the community, thanks to the presence of a&nbsp;<a href=\"https:\/\/github.com\/marketplace?type=actions\" target=\"_blank\" rel=\"noreferrer noopener\">marketplace<\/a><\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Inside the build process, I added the following command to those already present:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Install the Angular CLI on the agent to run the project build<\/li><li>Change the present directory moving in the project folder<\/li><li>Running the npm install<\/li><li>Running the build with the command&nbsp;<code>npm run-script build<\/code><\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Some interesting parameters in the process are:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>The section&nbsp;<strong>on<\/strong>&nbsp;(row 2), where it is possible to define some triggers of my workflow. In my case, the action starts with a push on a defined branch or with the creation of a PR on the branch master<\/li><li>The section&nbsp;<strong>runs-on<\/strong>, which defines which agent type runs my build. GitHub makes available different agent types, based on needs<\/li><li>The section&nbsp;<strong>matrix<\/strong>, where I can specify frameworks combinations on which I run my workflow (i.e., different versions of NodeJS)<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">This process allows me to compile the code and verify possible errors. I just need to save the YML file with a commit in an ad-hoc branch, which I call&nbsp;<strong>cicd<\/strong>&nbsp;and let the first build to run, as in Figure 4:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1012\" height=\"322\" data-attachment-id=\"28012\" data-permalink=\"https:\/\/blexin.com\/en\/image04-13\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-13.png?fit=1012%2C322&amp;ssl=1\" data-orig-size=\"1012,322\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image04-13\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-13.png?fit=1012%2C322&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-13.png?resize=1012%2C322&#038;ssl=1\" alt=\"\" class=\"wp-image-28012\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-13.png 1012w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-13-980x312.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image04-13-480x153.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1012px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Figure 4<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Summarizing, I can create a build in a few minutes, which allows me to validate the code used and submitted through a push operation, or in a PR. If we have a PR, during the creation process and at the end of the running of the action, the result would be similar to:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"492\" data-attachment-id=\"28014\" data-permalink=\"https:\/\/blexin.com\/en\/image05-12\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-12.png?fit=1874%2C900&amp;ssl=1\" data-orig-size=\"1874,900\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image05-12\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-12.png?fit=1024%2C492&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-12.png?resize=1024%2C492&#038;ssl=1\" alt=\"\" class=\"wp-image-28014\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-12-980x471.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2020\/12\/image05-12-480x231.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 1024px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Figure 5<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Finally, the aspect of Actions I most like is that they are not linked to the code validation, but many of them help to automate repetitive and boring tasks, such as those related to the&nbsp;<em>ChatOps<\/em>&nbsp;world (look at Figure 6)<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"987\" height=\"909\" data-attachment-id=\"28019\" data-permalink=\"https:\/\/blexin.com\/en\/image06\/\" data-orig-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2019\/11\/image06.png?fit=987%2C909&amp;ssl=1\" data-orig-size=\"987,909\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"image06\" data-image-description=\"\" data-image-caption=\"\" data-large-file=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2019\/11\/image06.png?fit=987%2C909&amp;ssl=1\" src=\"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2019\/11\/image06.png?resize=987%2C909&#038;ssl=1\" alt=\"\" class=\"wp-image-28019\" srcset=\"https:\/\/blexin.com\/wp-content\/uploads\/2019\/11\/image06.png 987w, https:\/\/blexin.com\/wp-content\/uploads\/2019\/11\/image06-980x903.png 980w, https:\/\/blexin.com\/wp-content\/uploads\/2019\/11\/image06-480x442.png 480w\" sizes=\"auto, (min-width: 0px) and (max-width: 480px) 480px, (min-width: 481px) and (max-width: 980px) 980px, (min-width: 981px) 987px, 100vw\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Figure 6<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Happy Actions to everyone!<\/em><\/p>\n\n\n\n\n","protected":false},"excerpt":{"rendered":"<p>How to use new GitHub Actions to validate a Pull Request<\/p>\n","protected":false},"author":196716243,"featured_media":28001,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","_coblocks_attr":"","_coblocks_dimensions":"","_coblocks_responsive_height":"","_coblocks_accordion_ie_support":"","inline_featured_image":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_wpcom_ai_launchpad_first_post":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"{title}\n\n{excerpt}\n\n{url}","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false},"categories":[688637524],"tags":[688637547,688637444],"class_list":["post-28025","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-en","tag-devops-it-en","tag-webright-en"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Validate Pull Requests using GitHub Actions - Blexin<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Validate Pull Requests using GitHub Actions - Blexin\" \/>\n<meta property=\"og:description\" content=\"How to use new GitHub Actions to validate a Pull Request\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/\" \/>\n<meta property=\"og:site_name\" content=\"Blexin\" \/>\n<meta property=\"article:published_time\" content=\"2019-11-26T23:11:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-08-04T13:58:50+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/i2.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-20.png?fit=1024%2C608&ssl=1\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"608\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Antonio Liccardi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Antonio Liccardi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/validate-pull-requests-using-github-actions\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/validate-pull-requests-using-github-actions\\\/\"},\"author\":{\"name\":\"Antonio Liccardi\",\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/#\\\/schema\\\/person\\\/e1e90a04ec265b5c0712c5918ba01e8d\"},\"headline\":\"Validate Pull Requests using GitHub Actions\",\"datePublished\":\"2019-11-26T23:11:00+00:00\",\"dateModified\":\"2021-08-04T13:58:50+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/validate-pull-requests-using-github-actions\\\/\"},\"wordCount\":762,\"image\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/validate-pull-requests-using-github-actions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/image00-20.png?fit=1024%2C608&ssl=1\",\"keywords\":[\"DevOps\",\"Webright\"],\"articleSection\":[\"Blog\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/validate-pull-requests-using-github-actions\\\/\",\"url\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/validate-pull-requests-using-github-actions\\\/\",\"name\":\"Validate Pull Requests using GitHub Actions - Blexin\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/validate-pull-requests-using-github-actions\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/validate-pull-requests-using-github-actions\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/image00-20.png?fit=1024%2C608&ssl=1\",\"datePublished\":\"2019-11-26T23:11:00+00:00\",\"dateModified\":\"2021-08-04T13:58:50+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/#\\\/schema\\\/person\\\/e1e90a04ec265b5c0712c5918ba01e8d\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/validate-pull-requests-using-github-actions\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/validate-pull-requests-using-github-actions\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/validate-pull-requests-using-github-actions\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/image00-20.png?fit=1024%2C608&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/blexin.com\\\/wp-content\\\/uploads\\\/2020\\\/12\\\/image00-20.png?fit=1024%2C608&ssl=1\",\"width\":1024,\"height\":608},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/blog-en\\\/validate-pull-requests-using-github-actions\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blexin.com\\\/en\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Validate Pull Requests using GitHub Actions\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/#website\",\"url\":\"https:\\\/\\\/blexin.com\\\/en\\\/\",\"name\":\"Blexin\",\"description\":\"Con noi \u00e8 semplice\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blexin.com\\\/en\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blexin.com\\\/en\\\/#\\\/schema\\\/person\\\/e1e90a04ec265b5c0712c5918ba01e8d\",\"name\":\"Antonio Liccardi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21b389ff00d1ab0b0721987c7aa5e16c34a1a5a8b774bfd4125507ea14f7ecce?s=96&d=identicon&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21b389ff00d1ab0b0721987c7aa5e16c34a1a5a8b774bfd4125507ea14f7ecce?s=96&d=identicon&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/21b389ff00d1ab0b0721987c7aa5e16c34a1a5a8b774bfd4125507ea14f7ecce?s=96&d=identicon&r=g\",\"caption\":\"Antonio Liccardi\"},\"url\":\"https:\\\/\\\/blexin.com\\\/en\\\/author\\\/antonio-liccardiblexin-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Validate Pull Requests using GitHub Actions - Blexin","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/","og_locale":"en_US","og_type":"article","og_title":"Validate Pull Requests using GitHub Actions - Blexin","og_description":"How to use new GitHub Actions to validate a Pull Request","og_url":"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/","og_site_name":"Blexin","article_published_time":"2019-11-26T23:11:00+00:00","article_modified_time":"2021-08-04T13:58:50+00:00","og_image":[{"width":1024,"height":608,"url":"https:\/\/i2.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-20.png?fit=1024%2C608&ssl=1","type":"image\/png"}],"author":"Antonio Liccardi","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Antonio Liccardi","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/#article","isPartOf":{"@id":"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/"},"author":{"name":"Antonio Liccardi","@id":"https:\/\/blexin.com\/en\/#\/schema\/person\/e1e90a04ec265b5c0712c5918ba01e8d"},"headline":"Validate Pull Requests using GitHub Actions","datePublished":"2019-11-26T23:11:00+00:00","dateModified":"2021-08-04T13:58:50+00:00","mainEntityOfPage":{"@id":"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/"},"wordCount":762,"image":{"@id":"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-20.png?fit=1024%2C608&ssl=1","keywords":["DevOps","Webright"],"articleSection":["Blog"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/","url":"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/","name":"Validate Pull Requests using GitHub Actions - Blexin","isPartOf":{"@id":"https:\/\/blexin.com\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/#primaryimage"},"image":{"@id":"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-20.png?fit=1024%2C608&ssl=1","datePublished":"2019-11-26T23:11:00+00:00","dateModified":"2021-08-04T13:58:50+00:00","author":{"@id":"https:\/\/blexin.com\/en\/#\/schema\/person\/e1e90a04ec265b5c0712c5918ba01e8d"},"breadcrumb":{"@id":"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/#primaryimage","url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-20.png?fit=1024%2C608&ssl=1","contentUrl":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-20.png?fit=1024%2C608&ssl=1","width":1024,"height":608},{"@type":"BreadcrumbList","@id":"https:\/\/blexin.com\/en\/blog-en\/validate-pull-requests-using-github-actions\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blexin.com\/en\/"},{"@type":"ListItem","position":2,"name":"Validate Pull Requests using GitHub Actions"}]},{"@type":"WebSite","@id":"https:\/\/blexin.com\/en\/#website","url":"https:\/\/blexin.com\/en\/","name":"Blexin","description":"Con noi \u00e8 semplice","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blexin.com\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/blexin.com\/en\/#\/schema\/person\/e1e90a04ec265b5c0712c5918ba01e8d","name":"Antonio Liccardi","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/21b389ff00d1ab0b0721987c7aa5e16c34a1a5a8b774bfd4125507ea14f7ecce?s=96&d=identicon&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/21b389ff00d1ab0b0721987c7aa5e16c34a1a5a8b774bfd4125507ea14f7ecce?s=96&d=identicon&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/21b389ff00d1ab0b0721987c7aa5e16c34a1a5a8b774bfd4125507ea14f7ecce?s=96&d=identicon&r=g","caption":"Antonio Liccardi"},"url":"https:\/\/blexin.com\/en\/author\/antonio-liccardiblexin-com\/"}]}},"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/pcyUBx-7i1","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-20.png?fit=1024%2C608&ssl=1","_links":{"self":[{"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/posts\/28025","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/users\/196716243"}],"replies":[{"embeddable":true,"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/comments?post=28025"}],"version-history":[{"count":1,"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/posts\/28025\/revisions"}],"predecessor-version":[{"id":28027,"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/posts\/28025\/revisions\/28027"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/media\/28001"}],"wp:attachment":[{"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/media?parent=28025"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/categories?post=28025"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blexin.com\/en\/wp-json\/wp\/v2\/tags?post=28025"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}