{"id":28021,"date":"2019-11-27T00:11:00","date_gmt":"2019-11-26T23:11:00","guid":{"rendered":"https:\/\/blexin.com\/?p=28021"},"modified":"2021-08-04T16:00:06","modified_gmt":"2021-08-04T14:00:06","slug":"usare-le-github-actions-per-validare-una-pull-request","status":"publish","type":"post","link":"https:\/\/blexin.com\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/","title":{"rendered":"Usare le GitHub Actions per validare una Pull Request"},"content":{"rendered":"\n<figure class=\"wp-block-image size-large\"><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"608\" 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\">Lo strumento che usiamo in Blexin come repository di codice per i nostri progetti \u00e8 GitHub. In piena ottica DevOps, la maggior parte di questi progetti sono corredati di processi di automazione che ci aiutano a mantenere alta la qualit\u00e0 del codice, diminuendo il debito tecnico. Tra le varie pratiche che abbiamo adottato, ci sono quelle dedicate alla&nbsp;<strong>Continuous Integration<\/strong>, spesso collegate alle<strong>&nbsp;Pull Request (PR)<\/strong>.<br>Nel nostro processo, il meccanismo di PR \u00e8 fondamentale: si tratta in sostanza di una review sulle nuove feature sviluppate con l\u2019intento di migliorarle e, allo stesso tempo, aiuta gli sviluppatori ad accrescere le proprie abilit\u00e0 tecniche.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In fase di creazione di una PR, o a seguito della sua chiusura, abbiamo impostato dei processi di automazione che ci aiutano a verificare se il codice compila correttamente e se i test presenti sono eseguiti con successo. Ad oggi, tali processi di automazione sono eseguiti attraverso Azure Pipelines che ha la possibilit\u00e0 di impostare dei<em>&nbsp;trigger<\/em>&nbsp;associati a determinati eventi (ad esempio: push, pull request) che scatenano l\u2019avvio di una build.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A seguito dell\u2019acquisizione di GitHub da parte di Microsoft e dell\u2019introduzione delle GitHub Actions, mi sono chiesto se fosse possibile integrare alcuni processi gi\u00e0 in atto come quelli di validazione di una PR direttamente su GitHub. In questo articolo, vi mostrer\u00f2 come ho creato tale processo per Raptor, il layer di persistenza che sfrutta il nostro CMS WebRight.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Prima di procedere, occorre per\u00f2 fare una distinzione tra Azure Pipelines e GitHub Actions: ad oggi, queste ultime non dispongono di tutte le feature e la flessibilit\u00e0 che ritroviamo nelle prime. Sicuramente le Actions hanno un futuro radioso, ma per workflow articolati le Azure Pipelines restano la scelta pi\u00f9 appropriata.<br>Altro aspetto da sottolineare \u00e8 il&nbsp;<a href=\"https:\/\/github.com\/features\/actions\" target=\"_blank\" rel=\"noreferrer noopener\">prezzo<\/a>: totalmente gratuito per repository pubblici mentre per i privati c\u2019\u00e8 un tier gratuito con una limitazione a 2000 minuti di build. Pi\u00f9 che sufficienti per sperimentare e iniziare a prenderci la mano.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Di seguito, vi mostro come ho impostato una nostra Action. Una volta giunto su GitHub, ho selezionato la nuova tab nel repository che riporta la voce Actions (Figura 1):<\/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\" 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>Figura 1<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nella pagina che si apre, seleziono la voce&nbsp;<strong>New Workflow<\/strong>&nbsp;e mi trovo dinanzi alla pagina in Figura 2. Qui vengono proposti dei template di workflow gi\u00e0 pronti, i quali si basano sulle tecnologie che ho nel nostro progetto (nel mio caso Angular).<\/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\" 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>Figura 2<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Una volta selezionato il workflow&nbsp;<strong>Simple workflow<\/strong>, ho la possibilit\u00e0 di visualizzare un editor che mi consente di modificare il processo di build a mio piacimento e impostare gli step necessari. L\u2019intero processo \u00e8 definito usando 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\" 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>Figura 3<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Seguendo la Figura 3 si possono evidenziare le seguenti sezioni:<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Casella di testo per il nome del file YML, con la possibilit\u00e0 di dare un nome al nostro processo;<\/li><li>Un editor molto funzionale che, grazie anche all\u2019intellisense, aiuta a definire i workflow;<\/li><li>Una sezione con una lista di possibili step da inserire nella action e una sezione relativa alla documentazione. Gli step che si possono importare nell\u2019action derivano per la gran parte dalla community grazie alla presenza di un&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\">All\u2019interno del processo di build, oltre alle parti gi\u00e0 preconfigurate, ho aggiunto i seguenti comandi<\/p>\n\n\n\n<ol class=\"wp-block-list\"><li>Installare l\u2019Angular CLI sull\u2019agent per eseguire la build del progetto;<\/li><li>Cambiare l\u2019attuale directory spostandosi nella cartella del progetto;<\/li><li>Esecuzione di npm install;<\/li><li>Esecuzione della build con il comando&nbsp;<code>npm run-script build<\/code>.<\/li><\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">Alcuni parametri interessanti nel processo sono:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Sezione<strong>&nbsp;on<\/strong>&nbsp;(riga 2), dove \u00e8 possibile definire i trigger del mio workflow. Nel mio caso, la action parte ad un push su determinati branch o alla creazione di una PR sul branch master;<\/li><li>Sezione&nbsp;<strong>runs-on<\/strong>&nbsp;che definisce che tipologia di agent eseguir\u00e0 la mia build. GitHub mette a disposizione diverse tipologie di agenti in base alle esigenze;<\/li><li>Sezione&nbsp;<strong>matrix<\/strong>&nbsp;dove posso specificare combinazioni di framework su cui eseguire il mio workflow (ad esempio: diverse versioni di NodeJS)<\/li><\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Questo processo mi consente di compilare il codice e verificare se ci sono errori. Mi basta salvare il file YML con un commit in un branch ad-hoc che chiamo&nbsp;<strong>cicd<\/strong>&nbsp;e lasciare che parta la prima build come in Figura 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\" 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>Figura 4<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Riepilogando, nell\u2019arco di pochi minuti sono riuscito a creare una build che mi consente di validare il codice che viene utilizzato e sottomesso tramite una operazione di push o in una PR. Nel caso della PR, in fase di creazione e alla fine dell\u2019esecuzione dell\u2019action il risultato sar\u00e0 simile a questo:<\/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\" 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>Figura 5<\/em><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Infine, un aspetto che mi piace molto delle Actions \u00e8 che non sono solo legate alla validazione del codice, ma ne esistono molte che aiutano ad automatizzare task ripetitivi e molto spesso noiosi,come ad esempio quelli legati al mondo del&nbsp;<em>ChatOps<\/em>&nbsp;(Figura 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\" 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>Figura 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>Vediamo come utilizzare le nuove GitHub Actions per la validazione di una Pull Request<\/p>\n","protected":false},"author":196716243,"featured_media":28002,"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":[688637374],"tags":[688637539,688637441],"class_list":["post-28021","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog","tag-devops-it","tag-webright"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Usare le GitHub Actions per validare una Pull Request - 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\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/\" \/>\n<meta property=\"og:locale\" content=\"it_IT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Usare le GitHub Actions per validare una Pull Request - Blexin\" \/>\n<meta property=\"og:description\" content=\"Vediamo come utilizzare le nuove GitHub Actions per la validazione di una Pull Request\" \/>\n<meta property=\"og:url\" content=\"https:\/\/blexin.com\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/\" \/>\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-04T14:00:06+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=\"Scritto da\" \/>\n\t<meta name=\"twitter:data1\" content=\"Antonio Liccardi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tempo di lettura stimato\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minuti\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/usare-le-github-actions-per-validare-una-pull-request\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/usare-le-github-actions-per-validare-una-pull-request\\\/\"},\"author\":{\"name\":\"Antonio Liccardi\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#\\\/schema\\\/person\\\/e1e90a04ec265b5c0712c5918ba01e8d\"},\"headline\":\"Usare le GitHub Actions per validare una Pull Request\",\"datePublished\":\"2019-11-26T23:11:00+00:00\",\"dateModified\":\"2021-08-04T14:00:06+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/usare-le-github-actions-per-validare-una-pull-request\\\/\"},\"wordCount\":814,\"image\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/usare-le-github-actions-per-validare-una-pull-request\\\/#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\":\"it-IT\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/usare-le-github-actions-per-validare-una-pull-request\\\/\",\"url\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/usare-le-github-actions-per-validare-una-pull-request\\\/\",\"name\":\"Usare le GitHub Actions per validare una Pull Request - Blexin\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/usare-le-github-actions-per-validare-una-pull-request\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/usare-le-github-actions-per-validare-una-pull-request\\\/#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-04T14:00:06+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#\\\/schema\\\/person\\\/e1e90a04ec265b5c0712c5918ba01e8d\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/usare-le-github-actions-per-validare-una-pull-request\\\/#breadcrumb\"},\"inLanguage\":\"it-IT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/usare-le-github-actions-per-validare-una-pull-request\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/blog\\\/usare-le-github-actions-per-validare-una-pull-request\\\/#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\\\/it\\\/blog\\\/usare-le-github-actions-per-validare-una-pull-request\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/blexin.com\\\/it\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Usare le GitHub Actions per validare una Pull Request\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#website\",\"url\":\"https:\\\/\\\/blexin.com\\\/it\\\/\",\"name\":\"Blexin\",\"description\":\"Con noi \u00e8 semplice\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/blexin.com\\\/it\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"it-IT\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/blexin.com\\\/it\\\/#\\\/schema\\\/person\\\/e1e90a04ec265b5c0712c5918ba01e8d\",\"name\":\"Antonio Liccardi\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"it-IT\",\"@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\\\/it\\\/author\\\/antonio-liccardiblexin-com\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Usare le GitHub Actions per validare una Pull Request - 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\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/","og_locale":"it_IT","og_type":"article","og_title":"Usare le GitHub Actions per validare una Pull Request - Blexin","og_description":"Vediamo come utilizzare le nuove GitHub Actions per la validazione di una Pull Request","og_url":"https:\/\/blexin.com\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/","og_site_name":"Blexin","article_published_time":"2019-11-26T23:11:00+00:00","article_modified_time":"2021-08-04T14:00:06+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":{"Scritto da":"Antonio Liccardi","Tempo di lettura stimato":"4 minuti"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/blexin.com\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/#article","isPartOf":{"@id":"https:\/\/blexin.com\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/"},"author":{"name":"Antonio Liccardi","@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/e1e90a04ec265b5c0712c5918ba01e8d"},"headline":"Usare le GitHub Actions per validare una Pull Request","datePublished":"2019-11-26T23:11:00+00:00","dateModified":"2021-08-04T14:00:06+00:00","mainEntityOfPage":{"@id":"https:\/\/blexin.com\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/"},"wordCount":814,"image":{"@id":"https:\/\/blexin.com\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/#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":"it-IT"},{"@type":"WebPage","@id":"https:\/\/blexin.com\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/","url":"https:\/\/blexin.com\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/","name":"Usare le GitHub Actions per validare una Pull Request - Blexin","isPartOf":{"@id":"https:\/\/blexin.com\/it\/#website"},"primaryImageOfPage":{"@id":"https:\/\/blexin.com\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/#primaryimage"},"image":{"@id":"https:\/\/blexin.com\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/#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-04T14:00:06+00:00","author":{"@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/e1e90a04ec265b5c0712c5918ba01e8d"},"breadcrumb":{"@id":"https:\/\/blexin.com\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/#breadcrumb"},"inLanguage":"it-IT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/blexin.com\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/"]}]},{"@type":"ImageObject","inLanguage":"it-IT","@id":"https:\/\/blexin.com\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/#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\/it\/blog\/usare-le-github-actions-per-validare-una-pull-request\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/blexin.com\/it\/"},{"@type":"ListItem","position":2,"name":"Usare le GitHub Actions per validare una Pull Request"}]},{"@type":"WebSite","@id":"https:\/\/blexin.com\/it\/#website","url":"https:\/\/blexin.com\/it\/","name":"Blexin","description":"Con noi \u00e8 semplice","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/blexin.com\/it\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"it-IT"},{"@type":"Person","@id":"https:\/\/blexin.com\/it\/#\/schema\/person\/e1e90a04ec265b5c0712c5918ba01e8d","name":"Antonio Liccardi","image":{"@type":"ImageObject","inLanguage":"it-IT","@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\/it\/author\/antonio-liccardiblexin-com\/"}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/blexin.com\/wp-content\/uploads\/2020\/12\/image00-20.png?fit=1024%2C608&ssl=1","jetpack_shortlink":"https:\/\/wp.me\/pcyUBx-7hX","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/28021","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/users\/196716243"}],"replies":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/comments?post=28021"}],"version-history":[{"count":2,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/28021\/revisions"}],"predecessor-version":[{"id":28023,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/posts\/28021\/revisions\/28023"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/media\/28002"}],"wp:attachment":[{"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/media?parent=28021"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/categories?post=28021"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blexin.com\/it\/wp-json\/wp\/v2\/tags?post=28021"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}