<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Hemanth Krishna</title>
    <description>The latest articles on DEV Community by Hemanth Krishna (@darthbenro008).</description>
    <link>https://dev.to/darthbenro008</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F241675%2Fd9870963-fd83-4357-acc9-c3e6baece8b1.jpeg</url>
      <title>DEV Community: Hemanth Krishna</title>
      <link>https://dev.to/darthbenro008</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/darthbenro008"/>
    <language>en</language>
    <item>
      <title>Liguard - The Linode Guard</title>
      <dc:creator>Hemanth Krishna</dc:creator>
      <pubDate>Mon, 20 Feb 2023 20:11:55 +0000</pubDate>
      <link>https://dev.to/darthbenro008/liguard-the-linode-guard-5cjo</link>
      <guid>https://dev.to/darthbenro008/liguard-the-linode-guard-5cjo</guid>
      <description>&lt;h2&gt;
  
  
  What I built
&lt;/h2&gt;

&lt;p&gt;Imagine you wanted to block people using iPhone to access your server, or people using Chrome or people accessing from IPs of specific location to your server, but you don't want to write all this on serverside. You can do that all on edge (before request hits your server) with Liguard!&lt;/p&gt;

&lt;p&gt;Liguard is an Edge cloud firewall reverse proxy with an inbuilt ddos prevention solution. Does that sound complex? Let's break it down.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cloud:&lt;/strong&gt; A system/server that is sitting on the cloud&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Firewall:&lt;/strong&gt; A system that denies/allows a packet based on some instruction and conditional logic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reverse Proxy:&lt;/strong&gt; A system that sits in-front of your actual server and forward the request to your actual server safely&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DDoS Protection:&lt;/strong&gt; A system that detects DDoS and contains the attack
Liguard is a combination of all these! Yes, you read that right.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Category Submission:
&lt;/h3&gt;

&lt;p&gt;EdgeWorker Experts&lt;/p&gt;

&lt;h3&gt;
  
  
  Screenshots
&lt;/h3&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpllnsnafxuq407lgpt2j.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fpllnsnafxuq407lgpt2j.png" alt="Liguard Edge Worker Service Hosted" width="800" height="428"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/XB_V2_Kjba0"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Description
&lt;/h3&gt;

&lt;p&gt;One can simply define custom security policies in JSON like the following:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="nl"&gt;"siteConfigs"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"siteData"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"siteName"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"google"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"forwardingUrl"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://google.com"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"blockedOs"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"iPhone"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"blockedBrowser"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"Chrome"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"blockedDevice"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"iPhone"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"blockedOSVersion"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"15.1"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"blockedLocations"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"blockedIPs"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"0.0.0.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"8.8.8.8"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;},&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="nl"&gt;"siteData"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;{&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"siteName"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"github"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"forwardingUrl"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"https://github.com"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"blockedOs"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"Mac"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"blockedBrowser"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"Chrome"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"blockedDevice"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"iPhone"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"blockedOSVersion"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"15.1"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"blockedLocations"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"India"&lt;/span&gt;&lt;span class="p"&gt;],&lt;/span&gt;&lt;span class="w"&gt;
        &lt;/span&gt;&lt;span class="nl"&gt;"blockedIPs"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="p"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"0.0.0.0"&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"8.8.8.8"&lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
      &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
    &lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
  &lt;/span&gt;&lt;span class="p"&gt;]&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="p"&gt;}&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;


&lt;p&gt;This will implement all these security policies in the Edge using Linode's EdgeWorker service! A truly customisable and configurable firewall guard.&lt;/p&gt;
&lt;h3&gt;
  
  
  Source Code
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fassets.dev.to%2Fassets%2Fgithub-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/DarthBenro008" rel="noopener noreferrer"&gt;
        DarthBenro008
      &lt;/a&gt; / &lt;a href="https://github.com/DarthBenro008/liguard" rel="noopener noreferrer"&gt;
        liguard
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
       A very simple customizable and configurable firewall deployable on Linode Edgeworker
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/DarthBenro008/liguardassets/banner.png"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fgithub.com%2FDarthBenro008%2Fliguardassets%2Fbanner.png" alt="Banner"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;div class="markdown-heading"&gt;
&lt;h1 class="heading-element"&gt;Liguard&lt;/h1&gt;
&lt;/div&gt;

&lt;blockquote&gt;
&lt;p&gt;A very simple customizable and configurable firewall deployable on Linode Edgeworker&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="markdown-heading"&gt;
&lt;h2 class="heading-element"&gt;🤔 What is Liguard?&lt;/h2&gt;
&lt;/div&gt;

&lt;p&gt;Liguard is an &lt;code&gt;Edge cloud firewall reverse proxy&lt;/code&gt; with an inbuilt ddos prevention solution. Does that sound complex? Let's break it down.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cloud:&lt;/strong&gt; A system/server that is sitting on the cloud&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Firewall:&lt;/strong&gt; A system that denies/allows a packet based on some instruction and conditional logic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reverse Proxy:&lt;/strong&gt; A system that sits in-front of your actual server and forward the request to your actual server safely&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;DDoS Protection:&lt;/strong&gt; A system that detects DDoS and contains the attack&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Liguard is a combination of all these! Yes, you read that right.&lt;/p&gt;

&lt;p&gt;Imagine you wanted to &lt;strong&gt;block people using iPhone&lt;/strong&gt; to access your server, or &lt;strong&gt;people using Chrome&lt;/strong&gt; or accessing from IPs of specific location. You can do that all with Liguard!&lt;/p&gt;

&lt;p&gt;What are the major advantages of using Liguard?&lt;/p&gt;


&lt;ul&gt;

&lt;li&gt;&lt;strong&gt;Declarative security policies using JSON&lt;/strong&gt;&lt;/li&gt;

&lt;li&gt;Runs on Edge…&lt;/li&gt;

&lt;/ul&gt;
&lt;/div&gt;
&lt;br&gt;
  &lt;/div&gt;
&lt;br&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/DarthBenro008/liguard" rel="noopener noreferrer"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;br&gt;
&lt;/div&gt;
&lt;br&gt;


&lt;h3&gt;
  
  
  Permissive License
&lt;/h3&gt;

&lt;p&gt;This project is backed under &lt;strong&gt;MIT License&lt;/strong&gt;, special shout out to project &lt;a href="https://github.com/faisalman/ua-parser-js" rel="noopener noreferrer"&gt;UA-Parser&lt;/a&gt;, as liguard uses a piece of its source-code.&lt;/p&gt;

&lt;h2&gt;
  
  
  Background
&lt;/h2&gt;

&lt;p&gt;As a backend developer, i always was very concerned about security issues. Adding security features on server levels are always hectic, i always wondered if i could somehow block people who use safari to visit my website (because a lot of CSS frameworks break in safari), hence this motivated me to make a firewall/guard that could be applied in a whole domain, and is not at server level, but at edge-level.&lt;/p&gt;

&lt;h3&gt;
  
  
  How I built it
&lt;/h3&gt;

&lt;p&gt;Thanks to Linode's Edgeworker service and their amazing tutorials!&lt;/p&gt;

&lt;p&gt;This project is written in Javascript, and deployed via &lt;code&gt;akamai&lt;/code&gt; CLI&lt;/p&gt;

&lt;p&gt;The resources and relevant info on how to develop/test and deploy can be found &lt;a href="https://techdocs.akamai.com/edgeworkers/docs/welcome-to-edgeworkers" rel="noopener noreferrer"&gt;here&lt;/a&gt;!&lt;/p&gt;

</description>
      <category>discuss</category>
    </item>
    <item>
      <title>Action Paniker - Stimulate your senses physically when your build fails 🚨</title>
      <dc:creator>Hemanth Krishna</dc:creator>
      <pubDate>Tue, 07 Dec 2021 21:22:10 +0000</pubDate>
      <link>https://dev.to/darthbenro008/action-paniker-stimulate-your-sense-physically-when-your-build-fails-3ah9</link>
      <guid>https://dev.to/darthbenro008/action-paniker-stimulate-your-sense-physically-when-your-build-fails-3ah9</guid>
      <description>&lt;h2&gt;
  
  
  Action Paniker in Action
&lt;/h2&gt;

&lt;p&gt;&lt;iframe width="710" height="399" src="https://www.youtube.com/embed/WbnPjqsQJnQ"&gt;
&lt;/iframe&gt;
&lt;/p&gt;

&lt;h2&gt;
  
  
  Motivation
&lt;/h2&gt;

&lt;p&gt;Sometimes in OpenSource Projects that are huge, the deployment takes a lot of time, and we do not bother to keep waiting for that much amount of time to ensure that the build/release of our project has been successfully deployed. &lt;/p&gt;

&lt;p&gt;Some OpenSource projects are critical, that is, the builds and release are very crucial and makes a great impact, if something goes wrong in these CI, the maintainer must be notified immediately.&lt;/p&gt;

&lt;p&gt;Hence Action Paniker, it sits nicely on your desk, and it will light up and make alarm sounds stimulating your physical senses if your release or build fails, physically asking you to &lt;em&gt;"Something went wrong! Please look into it ASAP!"&lt;/em&gt;. Its the much wanted &lt;strong&gt;CODE-RED&lt;/strong&gt; Bell that any maintainer team would want. &lt;/p&gt;

&lt;h3&gt;
  
  
  Flow of the Workflow
&lt;/h3&gt;

&lt;p&gt;The flow of the workflow is simple:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;GitHub action runs&lt;/li&gt;
&lt;li&gt;If any step fails, the GitHub Action sends a CURL to the paniker at your desk and its going to light up and buzz simulating your physical senses and indicating your build/release has failed when you are away from your desk.&lt;/li&gt;
&lt;li&gt;The steps are well defined in the Repository Readme, you need an RaspberryPi, LED and Buzzer and some cardboard as hardware components and ofc some patience! &lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;The circuit diagram of how the Hardware is setup&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--p37D3F07--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/marojexwthdg9ih9nnkb.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--p37D3F07--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/marojexwthdg9ih9nnkb.png" alt="Circuit Diagram" width="402" height="632"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;An enclosed box of all the components&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I am aware it doesn't look appealing, and its done intentionally, so that I can pray that my build/release never fails :P&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--efhAAeT3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ej8zje08fq9p85rc8pwr.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--efhAAeT3--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ej8zje08fq9p85rc8pwr.png" alt="Paniker" width="880" height="510"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;p&gt;Interesting IoT&lt;/p&gt;

&lt;h3&gt;
  
  
  Yaml File
&lt;/h3&gt;

&lt;p&gt;I have added 4 different YAML's to choose from:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Android Release&lt;/li&gt;
&lt;li&gt;Rust Release across Linux, Windows and MacOS&lt;/li&gt;
&lt;li&gt;Golang Release across Linux, Windows and MacOS&lt;/li&gt;
&lt;li&gt;Publishing Hugo website on GitHub Pages&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;But it's not limited to these 4 workflows, you can essentially integrate this with anything that follows the following in any workflow file:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;every step has an &lt;code&gt;id&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;continue-on-error&lt;/code&gt; is set to &lt;code&gt;true&lt;/code&gt; for every step&lt;/li&gt;
&lt;li&gt;the &lt;code&gt;Send Paniker&lt;/code&gt; step is inclusive of all step outcomes in the if condition
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;   &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Send Paniker&lt;/span&gt;
      &lt;span class="s"&gt;if&lt;/span&gt;&lt;span class="err"&gt;:&lt;/span&gt; &lt;span class="s"&gt;steps.stepID.outcome != 'success'&lt;/span&gt; &lt;span class="c1"&gt;# Replace Step ID with your stepid &lt;/span&gt;
      &lt;span class="na"&gt;run&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;curl http://YOUR_IP:3000/panik&lt;/span&gt; 
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;

&lt;h3&gt;
  
  
  Source Code
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--566lAguM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://dev.to/assets/github-logo-5a155e1f9a670af7944dd5e12375bc76ed542ea80224905ecaf878b9157cdefc.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/DarthBenro008"&gt;
        DarthBenro008
      &lt;/a&gt; / &lt;a href="https://github.com/DarthBenro008/gh-release-paniker"&gt;
        gh-release-paniker
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A simple GitHub Action that physically puts your senses on alert when your build/release fails
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/DarthBenro008/gh-release-panikerassets/banner.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--P3dMbM-s--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/DarthBenro008/gh-release-panikerassets/banner.png" alt="banner"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h1&gt;
GH Release Paniker&lt;/h1&gt;
&lt;p&gt;A simple GitHub Action that physically puts your senses on alert when your build/release fails&lt;/p&gt;
&lt;h2&gt;
Usage&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Requirements:&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Raspberry Pi, LED, Buzzer, Internet connection, Router with port-forwarding capabilities and some patience :D&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Step 1: Assembling the Circuit&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Assemble the Circuit as given in the diagram&lt;/p&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://github.com/DarthBenro008/gh-release-panikerassets/circuit.png"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--UHK1xb9k--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/DarthBenro008/gh-release-panikerassets/circuit.png" alt="circuit"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Step 2: Installing the FastAPI Server&lt;/strong&gt;
Clone the repo using the comment &lt;code&gt;git clone https://github.com/DarthBenro008/gh-release-paniker&lt;/code&gt; in your Raspberry Pi&lt;/p&gt;
&lt;p&gt;Run the following commands:&lt;/p&gt;
&lt;div class="highlight highlight-source-shell position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-c1"&gt;cd&lt;/span&gt; server
pip install -r requirements.txt
unvicorn main:app --host=0.0.0.0 --port=3000&lt;/pre&gt;

&lt;/div&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Step 3: Port forward and get the IP Address of your Raspberry Pi&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Go to your Router settings and port forward the IP address of your Raspbery Pi on port 3000&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Warning: Port forwarding exposes your raspberry pi to the internet, ensure you do not have any sensitive data or server running on it&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;Step 4: Pick a GitHub Action workflow from this repository&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;From the &lt;code&gt;.github/workflows&lt;/code&gt; folder, you have…&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/DarthBenro008/gh-release-paniker"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;h3&gt;
  
  
  Additional Resources / Info
&lt;/h3&gt;

&lt;p&gt;Some of my personal open source projects that are using this workflow are:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://github.com/DarthBenro008/rchore"&gt;rChore&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/DarthBenro008/gunfollower"&gt;gunfollower&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>actionshackathon21</category>
      <category>opensource</category>
      <category>iot</category>
      <category>showdev</category>
    </item>
    <item>
      <title>Enigma 7.0 - An Online Cryptic Hunt</title>
      <dc:creator>Hemanth Krishna</dc:creator>
      <pubDate>Sat, 05 Dec 2020 17:11:50 +0000</pubDate>
      <link>https://dev.to/darthbenro008/enigma-7-0-an-online-cryptic-hunt-9fd</link>
      <guid>https://dev.to/darthbenro008/enigma-7-0-an-online-cryptic-hunt-9fd</guid>
      <description>&lt;h1&gt;
  
  
  Enigma 7.0
&lt;/h1&gt;

&lt;p&gt;It's an Online Cryptic Hunt that my friends at &lt;a href="https://github.com/IEEE-VIT" rel="noopener noreferrer"&gt;IEEE-VIT&lt;/a&gt; and I had developed. We curated and created a bunch of questions and put it as a challenge to the open vast world of internet in the hopes that one could solve it. We conduct this cryptic hunt every year and till date its a record that no one has been able to solve it!&lt;/p&gt;

&lt;p&gt;If you are ready for a challenge head over to &lt;a href="http://enigma.ieeevit.org/" rel="noopener noreferrer"&gt;Enigma 7.0&lt;/a&gt; and try your best to crack it!&lt;/p&gt;

&lt;p&gt;Put your thinking caps on and give those brain cells some good exercise!&lt;/p&gt;

&lt;h1&gt;
  
  
  Shoutout
&lt;/h1&gt;

&lt;p&gt;Shoutout to IEEE-VIT for creating this epic game, had fun developing this, do let me know your thoughts about the game in the comment section, meanwhile you can also follow IEEE-VIT on Twitter.&lt;/p&gt;

&lt;p&gt;&lt;iframe class="tweet-embed" id="tweet-1334812253460152320-902" src="https://platform.twitter.com/embed/Tweet.html?id=1334812253460152320"&gt;
&lt;/iframe&gt;

  // Detect dark theme
  var iframe = document.getElementById('tweet-1334812253460152320-902');
  if (document.body.className.includes('dark-theme')) {
    iframe.src = "https://platform.twitter.com/embed/Tweet.html?id=1334812253460152320&amp;amp;theme=dark"
  }



&lt;/p&gt;

&lt;h1&gt;
  
  
  Sneak Peak
&lt;/h1&gt;

&lt;p&gt;Here is how it looks!&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fw6nrrg4yw4vnux9dhhoq.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fi%2Fw6nrrg4yw4vnux9dhhoq.png" alt="Screenshot"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>gamedev</category>
      <category>cryptichunt</category>
      <category>eventdriven</category>
    </item>
    <item>
      <title>P2: AppBrickie - Github Action to deliver your app PRs and Builds on Telegram automatically!</title>
      <dc:creator>Hemanth Krishna</dc:creator>
      <pubDate>Thu, 17 Sep 2020 19:11:01 +0000</pubDate>
      <link>https://dev.to/darthbenro008/p2-appbrickie-github-action-to-deliver-your-app-prs-and-builds-on-telegram-automatically-256e</link>
      <guid>https://dev.to/darthbenro008/p2-appbrickie-github-action-to-deliver-your-app-prs-and-builds-on-telegram-automatically-256e</guid>
      <description>&lt;h3&gt;
  
  
  My Workflow
&lt;/h3&gt;

&lt;h4&gt;
  
  
  AppBrickie - A GitHub Action that will test, sign and deliver your android apk build right to you on your Telegram with just a push of commit!
&lt;/h4&gt;

&lt;p&gt;Being an android app developer, I found it a very tedious chore to build my app, transfer the apk to my phone and then manually share and upload the file for my team to check it out.&lt;br&gt;
Lets be honest, Gradle builds are slow and time taking process and when you are an open source enthusiast, reviewing PRs to confirm changes and to ensure there aren't any runtime errors you are bound to build every PR and check before merging it to your main branch.&lt;/p&gt;

&lt;p&gt;To tackle this issue I leveraged the power of Docker, Telegram and GitHub Action to make my life easier, whenever I push a commit to my main branch or whenever there is a PR against my main branch, I automatically receive a &lt;em&gt;tested, signed, built apk right onto my phone which is installable on One-Tap!&lt;/em&gt; Convenient, isn't it?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No More Patches of PRs and to compile the PR manually&lt;/li&gt;
&lt;li&gt;No more wires, no more build history management!&lt;/li&gt;
&lt;li&gt;Get your builds right into your phone and install them in One-Tap!&lt;/li&gt;
&lt;li&gt;Supports both Flutter and Native Android Builds (Java/Kotlin)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Phone Friendly :&lt;/strong&gt; This Github Action can significantly boost development of Java, Kotlin and, Flutter apps as it helps in automatic testing , building and signing and publishing your app to masses or even to your beta testers in an instant!&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Upcoming Features:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Slack integration/support, cause why not? &lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Link to Code
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/DarthBenro008"&gt;
        DarthBenro008
      &lt;/a&gt; / &lt;a href="https://github.com/DarthBenro008/app-brickie"&gt;
        app-brickie
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A GitHub Action to automatically build your android apps with ease!
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://raw.githubusercontent.com/DarthBenro008/app-brickie/master/assets/banner.jpg"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zZFLBuIs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/DarthBenro008/app-brickie/master/assets/banner.jpg" alt="Banner"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/DarthBenro008/app-brickie/blob/master/LICENSE"&gt;
    &lt;img alt="License: MIT" src="https://camo.githubusercontent.com/76f0e887c183ccc31c1cb63c33d2dbf48cb2df51/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/DarthBenro008/app-brickie/releases"&gt;
    &lt;img src="https://camo.githubusercontent.com/e00df2d00adc2698ea0e2b3db069803b9975dfc0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f446172746842656e726f3030382f6170702d627269636b69653f636f6c6f723d6f72616e676526696e636c7564655f70726572656c6561736573"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/DarthBenro008/app-brickie/releases"&gt;
    &lt;img alt="Github: Action" src="https://camo.githubusercontent.com/2575a67a96034c2f822651c446a30f70c475b253/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769746875622d416374696f6e2d6c6967687467726579"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AppBrickie&lt;/strong&gt; - &lt;em&gt;Your Friendly App Builder Action.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Automate your android builds and get your APK delivered to you on Telegram Groups, Chat, Channels, any of them!&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
What can you do with AppBrickie?&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Get your APK delivered to you on telegram with just a push of commit!&lt;/li&gt;
&lt;li&gt;Automated Android APK Builds.&lt;/li&gt;
&lt;li&gt;Unit Tests on Android Builds.&lt;/li&gt;
&lt;li&gt;Supports &lt;strong&gt;Firebase based apps&lt;/strong&gt; and &lt;strong&gt;signed builds&lt;/strong&gt; with your custom key!&lt;/li&gt;
&lt;li&gt;Forget wires, patches and building pull requests manually!&lt;/li&gt;
&lt;li&gt;Slack support coming soon! (star and watch the project to stay updated !)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Installation&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Add the following yaml file as build.yml in .github/workflows folder of your app repository.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;em&gt;If your project uses any services of firebase, please refer to the &lt;a href="https://github.com/DarthBenro008/app-brickie/wiki"&gt;WIKI&lt;/a&gt; for instructions. The below instructions are only for &lt;strong&gt;vanilla builds.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;For Native Android Builds (Java/Kotlin) :&lt;/strong&gt;
&lt;/h4&gt;

&lt;div class="highlight highlight-source-yaml"&gt;
&lt;pre&gt;&lt;span class="pl-ent"&gt;name&lt;/span&gt;: &lt;span class="pl-s"&gt;CI&lt;/span&gt;
&lt;span class="pl-ent"&gt;on&lt;/span&gt;
  &lt;span class="pl-ent"&gt;push&lt;/span&gt;
    &lt;span class="pl-ent"&gt;branches&lt;/span&gt;: &lt;span class="pl-s"&gt;[master]&lt;/span&gt;
  &lt;span class="pl-ent"&gt;pull_request&lt;/span&gt;
    &lt;span class="pl-ent"&gt;branches&lt;/span&gt;: &lt;span class="pl-s"&gt;[master]&lt;/span&gt;

&lt;span class="pl-ent"&gt;jobs&lt;/span&gt;&lt;/pre&gt;…&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/DarthBenro008/app-brickie"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;h3&gt;
  
  
  Use Cases:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;You can add the &lt;a href="https://t.me/AppBrickieBot"&gt;@AppBrickieBot&lt;/a&gt; to telegram channel and groups and publish apk builds instantly to masses!&lt;/li&gt;
&lt;li&gt;You can create a channel for beta testing the master branch and deliver the build instantly to your beta testers&lt;/li&gt;
&lt;li&gt;You can set this action up to share the build immediately with all your team members&lt;/li&gt;
&lt;li&gt;You can create a channel and use this action to get the build of PRs delivered so that you can just install the app in one tap and verify the changes with no hassle anywhere anytime !&lt;/li&gt;
&lt;li&gt;Helpful for maintainers and app developers to automatically run unit test and build their app and get it delivered right to their phone.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Additional Resources / Info
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;API and Telegram Bot Handler - I made a &lt;a href="https://www.github.com/DarthBenro008/appbrickie-go"&gt;Custom API and Telegram Bot&lt;/a&gt; for AppBrickie to generate Unique IDs and send the files. leveraging the power of Docker and GoLang which is fast and less resource intensive, perfect for such tasks!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For More Info you can refer the &lt;a href="https://www.github.com/app-brickie/wiki"&gt;AppBrickie Wiki&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;One of the Open Source Projects by &lt;a href="https://github.com/IEEE-VIT"&gt;IEEE-VIT&lt;/a&gt; is using this Action in their open source app named &lt;a href="https://github.com/IEEE-VIT/Gakko"&gt;Gakko&lt;/a&gt;, which helps education easier in the pandemic situation&lt;/p&gt;

&lt;p&gt;Happy developing! hope this action boosts your productivity to make wonderful apps! :D&lt;/p&gt;

</description>
      <category>actionshackathon</category>
      <category>android</category>
      <category>docker</category>
      <category>showdev</category>
    </item>
    <item>
      <title>P1: AppBrickie - Smart Github Action that delivers your app builds on Telegram!</title>
      <dc:creator>Hemanth Krishna</dc:creator>
      <pubDate>Mon, 31 Aug 2020 18:30:25 +0000</pubDate>
      <link>https://dev.to/darthbenro008/appbrickie-smart-github-action-that-delivers-your-app-builds-on-telegram-1c0h</link>
      <guid>https://dev.to/darthbenro008/appbrickie-smart-github-action-that-delivers-your-app-builds-on-telegram-1c0h</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;Update :&lt;/strong&gt; There is an updated part 2 of this article that explains everything in a better way with new features!
&lt;/h3&gt;


&lt;div class="ltag__link"&gt;
  &lt;a href="/darthbenro008" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__pic"&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--PYtKaaaf--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://res.cloudinary.com/practicaldev/image/fetch/s--CYuJDPh1--/c_fill%2Cf_auto%2Cfl_progressive%2Ch_150%2Cq_auto%2Cw_150/https://dev-to-uploads.s3.amazonaws.com/uploads/user/profile_image/241675/d9870963-fd83-4357-acc9-c3e6baece8b1.jpeg" alt="darthbenro008 image"&gt;
    &lt;/div&gt;
  &lt;/a&gt;
  &lt;a href="/darthbenro008/p2-appbrickie-github-action-to-deliver-your-app-prs-and-builds-on-telegram-automatically-256e" class="ltag__link__link"&gt;
    &lt;div class="ltag__link__content"&gt;
      &lt;h2&gt;P2: AppBrickie - Github Action to deliver your app PRs and Builds on Telegram automatically!&lt;/h2&gt;
      &lt;h3&gt;Hemanth Krishna ・ Sep 17 ・ 3 min read&lt;/h3&gt;
      &lt;div class="ltag__link__taglist"&gt;
        &lt;span class="ltag__link__tag"&gt;#actionshackathon&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#android&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#docker&lt;/span&gt;
        &lt;span class="ltag__link__tag"&gt;#showdev&lt;/span&gt;
      &lt;/div&gt;
    &lt;/div&gt;
  &lt;/a&gt;
&lt;/div&gt;


&lt;h3&gt;
  
  
  My Workflow
&lt;/h3&gt;

&lt;h4&gt;
  
  
  AppBrickie - A smart GitHub Action that will deliver your android apk build right to you on your Telegram !
&lt;/h4&gt;

&lt;p&gt;Being an android app developer, I found it a very tedious chore to build my app, transfer the apk to my phone and then manually share and upload the file for my team to check it out.&lt;br&gt;
Lets be honest, Gradle builds are slow and time taking process and when you are an open source enthusiast, reviewing PRs to confirm changes and to ensure there aren't any runtime errors you are bound to build every PR and check before merging it to your main branch.&lt;/p&gt;

&lt;p&gt;To tackle this issue I leveraged the power of Docker, Telegram and GitHub Action to make my life easier, whenever I push a commit to my main branch or whenever there is a PR against my main branch, I automatically receive a built apk right onto my phone which is installable on One-Tap! Convenient, isn't it?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;No More Patches of PRs and to compile the PR manually&lt;/li&gt;
&lt;li&gt;No more wires, no more build history management!&lt;/li&gt;
&lt;li&gt;Get your builds right into your phone and install them in One-Tap!&lt;/li&gt;
&lt;li&gt;Supports both Flutter and Native Android Builds (Java/Kotlin)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Use Cases:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;You can add the &lt;a href="https://t.me/AppBrickieBot"&gt;@AppBrickieBot&lt;/a&gt; to telegram channel and groups and publish apk builds instantly to masses!&lt;/li&gt;
&lt;li&gt;You can create a channel for beta testing the master branch and deliver the build instantly to your beta testers&lt;/li&gt;
&lt;li&gt;You can set this action up to share the build immediately with all your team members&lt;/li&gt;
&lt;li&gt;You can create a channel and use this action to get the build of PRs delivered so that you can just install the app in one tap and verify the changes with no hassle anywhere anytime !&lt;/li&gt;
&lt;li&gt;Helpful for maintainers and app developers to automatically run unit test and build their app and get it delivered right to their phone.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Steps to Use :
&lt;/h3&gt;

&lt;p&gt;Checkout the &lt;a href="https://github.com/DarthBenro008/app-brickie"&gt;AppBrickie Repository&lt;/a&gt; to learn in detail about the action and get started in 3-4 simple steps!&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Step 1: Go To &lt;a href="https://t.me/AppBrickieBot"&gt;@AppBrickieBot&lt;/a&gt; on Telegram and generate your UniqueId&lt;/li&gt;
&lt;li&gt;Step 2: Go to AppBrickie Repository and just copy the yaml file under .github/workflows folder of your repository&lt;/li&gt;
&lt;li&gt;Step 3: Fill in your UniqueId that you got from the Telegram Bot , set other settings in the YAML file you just copied (detailed instructions given in repository)&lt;/li&gt;
&lt;li&gt;Step 4: Sit back and Enjoy :D , get your build delivered right to you on your phone and install in OneTap and enjoy!&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Support
&lt;/h3&gt;

&lt;p&gt;Supports Native (Java/Kotlin) and flutter builds too! all under one action , checkout the &lt;a href="https://github.com/DarthBenro008/app-brickie"&gt;repository&lt;/a&gt; to learn more about usage of &lt;strong&gt;AppBrickie&lt;/strong&gt;&lt;/p&gt;
&lt;h4&gt;
  
  
  &lt;strong&gt;Upcoming Plans&lt;/strong&gt;
&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;Custom Key App Signing&lt;/li&gt;
&lt;li&gt;Fully supporting firebase based apps build&lt;/li&gt;
&lt;li&gt;To push built app to repository&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;(Star and watch the repository to stay updated ! )&lt;/p&gt;
&lt;h3&gt;
  
  
  Submission Category:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Phone Friendly&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;
  
  
  Link to Code
&lt;/h3&gt;


&lt;div class="ltag-github-readme-tag"&gt;
  &lt;div class="readme-overview"&gt;
    &lt;h2&gt;
      &lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--vJ70wriM--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://practicaldev-herokuapp-com.freetls.fastly.net/assets/github-logo-ba8488d21cd8ee1fee097b8410db9deaa41d0ca30b004c0c63de0a479114156f.svg" alt="GitHub logo"&gt;
      &lt;a href="https://github.com/DarthBenro008"&gt;
        DarthBenro008
      &lt;/a&gt; / &lt;a href="https://github.com/DarthBenro008/app-brickie"&gt;
        app-brickie
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      A GitHub Action to automatically build your android apps with ease!
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;p&gt;&lt;a rel="noopener noreferrer" href="https://raw.githubusercontent.com/DarthBenro008/app-brickie/master/assets/banner.jpg"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zZFLBuIs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://raw.githubusercontent.com/DarthBenro008/app-brickie/master/assets/banner.jpg" alt="Banner"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;
  &lt;a href="https://github.com/DarthBenro008/app-brickie/blob/master/LICENSE"&gt;
    &lt;img alt="License: MIT" src="https://camo.githubusercontent.com/76f0e887c183ccc31c1cb63c33d2dbf48cb2df51/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4c6963656e73652d4d49542d677265656e2e737667"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/DarthBenro008/app-brickie/releases"&gt;
    &lt;img src="https://camo.githubusercontent.com/e00df2d00adc2698ea0e2b3db069803b9975dfc0/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f762f72656c656173652f446172746842656e726f3030382f6170702d627269636b69653f636f6c6f723d6f72616e676526696e636c7564655f70726572656c6561736573"&gt;
  &lt;/a&gt;
  &lt;a href="https://github.com/DarthBenro008/app-brickie/releases"&gt;
    &lt;img alt="Github: Action" src="https://camo.githubusercontent.com/2575a67a96034c2f822651c446a30f70c475b253/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f4769746875622d416374696f6e2d6c6967687467726579"&gt;
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;AppBrickie&lt;/strong&gt; - &lt;em&gt;Your Friendly App Builder Action.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;Automate your android builds and get your APK delivered to you on Telegram Groups, Chat, Channels, any of them!&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h4&gt;
What can you do with AppBrickie?&lt;/h4&gt;
&lt;ul&gt;
&lt;li&gt;Get your APK delivered to you on telegram with just a push of commit!&lt;/li&gt;
&lt;li&gt;Automated Android APK Builds.&lt;/li&gt;
&lt;li&gt;Unit Tests on Android Builds.&lt;/li&gt;
&lt;li&gt;Supports &lt;strong&gt;Firebase based apps&lt;/strong&gt; and &lt;strong&gt;signed builds&lt;/strong&gt; with your custom key!&lt;/li&gt;
&lt;li&gt;Forget wires, patches and building pull requests manually!&lt;/li&gt;
&lt;li&gt;Slack support coming soon! (star and watch the project to stay updated !)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;
Installation&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Step 1:&lt;/strong&gt; Add the following yaml file as build.yml in .github/workflows folder of your app repository.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Note:&lt;/strong&gt; &lt;em&gt;If your project uses any services of firebase, please refer to the &lt;a href="https://github.com/DarthBenro008/app-brickie/wiki"&gt;WIKI&lt;/a&gt; for instructions. The below instructions are only for &lt;strong&gt;vanilla builds.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;
&lt;h4&gt;
&lt;strong&gt;For Native Android Builds (Java/Kotlin) :&lt;/strong&gt;
&lt;/h4&gt;

&lt;div class="highlight highlight-source-yaml"&gt;
&lt;pre&gt;&lt;span class="pl-ent"&gt;name&lt;/span&gt;: &lt;span class="pl-s"&gt;CI&lt;/span&gt;
&lt;span class="pl-ent"&gt;on&lt;/span&gt;
  &lt;span class="pl-ent"&gt;push&lt;/span&gt;
    &lt;span class="pl-ent"&gt;branches&lt;/span&gt;: &lt;span class="pl-s"&gt;[master]&lt;/span&gt;
  &lt;span class="pl-ent"&gt;pull_request&lt;/span&gt;
    &lt;span class="pl-ent"&gt;branches&lt;/span&gt;: &lt;span class="pl-s"&gt;[master]&lt;/span&gt;

&lt;span class="pl-ent"&gt;jobs&lt;/span&gt;&lt;/pre&gt;…&lt;/div&gt;
&lt;/div&gt;
  &lt;/div&gt;
  &lt;div class="gh-btn-container"&gt;&lt;a class="gh-btn" href="https://github.com/DarthBenro008/app-brickie"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;



&lt;h3&gt;
  
  
  Additional Resources / Info
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;API and Telegram Bot Handler - I made a &lt;a href="https://www.github.com/DarthBenro008/appbrickie-go"&gt;Custom API and Telegram BOT&lt;/a&gt; for AppBrickie to generate Unique IDs and send the files right to you leveraging the power of Docker and GoLang which is fast and less resource intensive , perfect for such tasks!&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;For More Info you can refer the &lt;a href="https://www.github.com/app-brickie/wiki"&gt;AppBrickie Wiki&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>actionshackathon</category>
      <category>docker</category>
      <category>showdev</category>
      <category>android</category>
    </item>
  </channel>
</rss>
