1"use strict";(self.webpackChunk_joplin_doc_builder=self.webpackChunk_joplin_doc_builder||[]).push([[2649],{3905:function(e,t,n){n.d(t,{Zo:function(){return u},kt:function(){return d}});var o=n(67294);function r(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function i(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);t&&(o=o.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,o)}return n}function a(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?i(Object(n),!0).forEach((function(t){r(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):i(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function s(e,t){if(null==e)return{};var n,o,r=function(e,t){if(null==e)return{};var n,o,r={},i=Object.keys(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(o=0;o<i.length;o++)n=i[o],t.indexOf(n)>=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var l=o.createContext({}),c=function(e){var t=o.useContext(l),n=t;return e&&(n="function"==typeof e?e(t):a(a({},t),e)),n},u=function(e){var t=c(e.components);return o.createElement(l.Provider,{value:t},e.children)},p="mdxType",g={inlineCode:"code",wrapper:function(e){var t=e.children;return o.createElement(o.Fragment,{},t)}},h=o.forwardRef((function(e,t){var n=e.components,r=e.mdxType,i=e.originalType,l=e.parentName,u=s(e,["components","mdxType","originalType","parentName"]),p=c(n),h=r,d=p["".concat(l,".").concat(h)]||p[h]||g[h]||i;return n?o.createElement(d,a(a({ref:t},u),{},{components:n})):o.createElement(d,a({ref:t},u))}));function d(e,t){var n=arguments,r=t&&t.mdxType;if("string"==typeof e||r){var i=n.length,a=new Array(i);a[0]=h;var s={};for(var l in t)hasOwnProperty.call(t,l)&&(s[l]=t[l]);s.originalType=e,s[p]="string"==typeof e?e:r,a[1]=s;for(var c=2;c<i;c++)a[c]=n[c];return o.createElement.apply(null,a)}return o.createElement.apply(null,n)}h.displayName="MDXCreateElement"},15601:function(e,t,n){n.r(t),n.d(t,{assets:function(){return l},contentTitle:function(){return a},default:function(){return g},frontMatter:function(){return i},metadata:function(){return s},toc:function(){return c}});var o=n(87462),r=(n(67294),n(3905));const i={tweet:'Introducing the "GitHub Action Raw Log Viewer" extension for Chrome',forum_url:"https://discourse.joplinapp.org/t/29139",sidebar_label:'Introducing the "GitHub Actions Raw Log Viewer" extension for Chrome',date:new Date("2023-01-16T00:00:00.000Z"),title:'Introducing the "GitHub Actions Raw Log Viewer" extension for Chrome',description:"If you've ever used GitHub Actions, you will find that they provide by default a nice coloured output for the log. It looks good and it's even interactive! (You can click to collapse/expand blocks ...",image:"https://joplinapp.org/images/news/20230116-ga-raw-log.png"},a='Introducing the "GitHub Actions Raw Log Viewer" extension for Chrome',s={permalink:"/news/20230116-github-actions-log-viewer",editUrl:"https://github.com/laurent22/joplin/tree/dev/readme/news/20230116-github-actions-log-viewer.md",source:"@site/news/20230116-github-actions-log-viewer.md",title:'Introducing the "GitHub Actions Raw Log Viewer" extension for Chrome',description:"If you've ever used GitHub Actions, you will find that they provide by default a nice coloured output for the log. It looks good and it's even interactive! (You can click to collapse/expand blocks ...",date:"2023-01-16T00:00:00.000Z",formattedDate:"January 16, 2023",tags:[],readingTime:1.51,hasTruncateMarker:!1,authors:[],frontMatter:{tweet:'Introducing the "GitHub Action Raw Log Viewer" extension for Chrome',forum_url:"https://discourse.joplinapp.org/t/29139",sidebar_label:'Introducing the "GitHub Actions Raw Log Viewer" extension for Chrome',date:"2023-01-16T00:00:00.000Z",t
1itle:'Introducing the "GitHub Actions Raw Log Viewer" extension for Chrome',description:"If you've ever used GitHub Actions, you will find that they provide by default a nice coloured output for the log. It looks good and it's even interactive! (You can click to collapse/expand blocks ...",image:"https://joplinapp.org/images/news/20230116-ga-raw-log.png"},prevItem:{title:"Joplin will participate in JdLL 2023!",permalink:"/news/20230302-jdll-2023"},nextItem:{title:"Joplin is switching to the GNU Affero General Public License v3 (AG...",permalink:"/news/20221221-agpl"}},l={authorsImageUrls:[]},c=[],u={toc:c},p="wrapper";function g(e){let{components:t,...n}=e;return(0,r.kt)(p,(0,o.Z)({},u,n,{components:t,mdxType:"MDXLayout"}),(0,r.kt)("div",{className:"donate-links"},(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://www.paypal.com/donate/?hosted_button_id=WQCERTSSLCC7U"},(0,r.kt)("img",{parentName:"a",src:"https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Donate-PayPal-green.svg",alt:"Donate using PayPal"}))," ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/sponsors/laurent22/"},(0,r.kt)("img",{parentName:"a",src:"https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/GitHub-Badge.svg",alt:"Sponsor on GitHub"}))," ",(0,r.kt)("a",{parentName:"p",href:"https://www.patreon.com/joplin"},(0,r.kt)("img",{parentName:"a",src:"https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Patreon-Badge.svg",alt:"Become a patron"}))," ",(0,r.kt)("a",{parentName:"p",href:"https://joplinapp.org/donate/#donations"},(0,r.kt)("img",{parentName:"a",src:"https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/badges/Donate-IBAN.svg",alt:"Donate using IBAN"})))),(0,r.kt)("p",null,"If you've ever used GitHub Actions, you will find that they provide by default a nice coloured output for the log. It looks good and it's even interactive! (You can click to collapse/expand blocks of text) But unfortunately it doesn't scale to large workflows, like we have for Joplin - the log can freeze and it will take forever to search for something. Indeed searching is done in \"real time\"... which mostly means it will freeze for a minute or two for each letter you type in the search box. Not great."),(0,r.kt)("p",null,"Thankfully GitHub provides an alternative access: the raw logs. This is much better because they will open as plain text, without any styling or JS magic, which means you can use the browser native search and it will be fast."),(0,r.kt)("p",null,"But now the problem is that raw logs look like this:"),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20230116-ga-raw-log.png",alt:"Raw log without extension"})),(0,r.kt)("p",null,"While it's not impossible to read, all colours that would display nicely in a terminal are gone and replaced by ",(0,r.kt)("a",{parentName:"p",href:"https://en.wikipedia.org/wiki/ANSI_escape_code"},"ANSI codes"),". You can find what you need in there but it's not particularly easy."),(0,r.kt)("p",null,"This is where the new ",(0,r.kt)("strong",{parentName:"p"},"GitHub Action Raw Log Viewer")," extension for Chrome can help. It will parse your raw log and convert the ANSI codes to proper colours. This results in a much more readable rendering:"),(0,r.kt)("p",null,(0,r.kt)("img",{parentName:"p",src:"https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20230116-ga-raw-log-colored.png",alt:"Raw log with extension"})),(0,r.kt)("p",null,"The extension is fast even for very large logs and it's of course easy to search for text since it simply works with your browser built-in search."),(0,r.kt)("p",null,"The extension is open source, with the code available here: ",(0,r.kt)("a",{parentName:"p",href:"https://github.com/laurent22/github-actions-logs-extension"},"https://github.com/laurent22/github-actions-logs-extension")),(0,r.kt)("p",null,"And to install it, follow this link:"),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://chrome.google.com/webstore/detail/github-action-raw-log-vie/lgejlnoopmcdglhfjblaeldbcfnmjddf"},(0,r.kt)("img",{parentName:"a",src:"https://raw.githubusercontent.com/laurent22/joplin/dev/Assets/WebsiteAssets/images/news/20230116-extension-get-it-now.png",alt:"Download GitHub Action Raw Log Viewer extension"}))),(0,r.kt)("hr",null),(0,r.kt)("p",null,(0,r.kt)("a",{parentName:"p",href:"https://discourse.joplinapp.org/t/29139"},(0,r.kt)("icon",{icon:"fa-brands fa-discourse",size:"lg"})," Discuss on the forum")))}g.isMDXComponent=!0}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.