<?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: TopTalentedDev</title>
    <description>The latest articles on DEV Community by TopTalentedDev (@toptalenteddev).</description>
    <link>https://dev.to/toptalenteddev</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%2F934679%2Fde03c9c1-abb9-46eb-9ca5-809f3a11f2a7.jpeg</url>
      <title>DEV Community: TopTalentedDev</title>
      <link>https://dev.to/toptalenteddev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/toptalenteddev"/>
    <language>en</language>
    <item>
      <title>How to prevent GitHub from suspending your cronjob based triggers</title>
      <dc:creator>TopTalentedDev</dc:creator>
      <pubDate>Fri, 30 Sep 2022 16:09:49 +0000</pubDate>
      <link>https://dev.to/toptalenteddev/how-to-prevent-github-from-suspending-your-cronjob-based-triggers-53n7</link>
      <guid>https://dev.to/toptalenteddev/how-to-prevent-github-from-suspending-your-cronjob-based-triggers-53n7</guid>
      <description>&lt;p&gt;I created a GitHub action to prevent GitHub from suspending your cronjob based action triggers due to repository inactivity.&lt;/p&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/TopTalentedDev"&gt;
        TopTalentedDev
      &lt;/a&gt; / &lt;a href="https://github.com/TopTalentedDev/UniSwap-v3-core"&gt;
        UniSwap-v3-core
      &lt;/a&gt;
    &lt;/h2&gt;
    &lt;h3&gt;
      🦄 🦄 🦄 Core smart contracts of Uniswap v3
    &lt;/h3&gt;
  &lt;/div&gt;
  &lt;div class="ltag-github-body"&gt;
    
&lt;div id="readme" class="md"&gt;
&lt;h1&gt;
Uniswap V3&lt;/h1&gt;
&lt;p&gt;&lt;a href="https://github.com/Uniswap/uniswap-v3-core/actions/workflows/lint.yml"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--wQ4_zcKD--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/Uniswap/uniswap-v3-core/actions/workflows/lint.yml/badge.svg" alt="Lint"&gt;&lt;/a&gt;
&lt;a href="https://github.com/Uniswap/uniswap-v3-core/actions/workflows/tests.yml"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--zpgVeUwC--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/Uniswap/uniswap-v3-core/actions/workflows/tests.yml/badge.svg" alt="Tests"&gt;&lt;/a&gt;
&lt;a href="https://github.com/Uniswap/uniswap-v3-core/actions/workflows/fuzz-testing.yml"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--IEDez6R1--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/Uniswap/uniswap-v3-core/actions/workflows/fuzz-testing.yml/badge.svg" alt="Fuzz Testing"&gt;&lt;/a&gt;
&lt;a href="https://github.com/Uniswap/uniswap-v3-core/actions/workflows/mythx.yml"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--3hbJYVdg--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://github.com/Uniswap/uniswap-v3-core/actions/workflows/mythx.yml/badge.svg" alt="Mythx"&gt;&lt;/a&gt;
&lt;a href="https://www.npmjs.com/package/@uniswap/v3-core/v/latest" rel="nofollow"&gt;&lt;img src="https://camo.githubusercontent.com/fcf1b42f1b9cc0081e3b3635e0e73830a8ff22f85e844cd094d8111472bd8f6f/68747470733a2f2f696d672e736869656c64732e696f2f6e706d2f762f40756e69737761702f76332d636f72652f6c61746573742e737667" alt="npm version"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This repository contains the core smart contracts for the Uniswap V3 Protocol
For higher level contracts, see the &lt;a href="https://github.com/Uniswap/uniswap-v3-periphery"&gt;uniswap-v3-periphery&lt;/a&gt;
repository.&lt;/p&gt;
&lt;h2&gt;
Bug bounty&lt;/h2&gt;
&lt;p&gt;This repository is subject to the Uniswap V3 bug bounty program, per the terms defined &lt;a href="https://github.com/TopTalentedDev/UniSwap-v3-core./bug-bounty.md"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;h2&gt;
Local deployment&lt;/h2&gt;
&lt;p&gt;In order to deploy this code to a local testnet, you should install the npm package
&lt;code&gt;@uniswap/v3-core&lt;/code&gt;
and import the factory bytecode located at
&lt;code&gt;@uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json&lt;/code&gt;
For example:&lt;/p&gt;
&lt;div class="highlight highlight-source-ts notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-k"&gt;import&lt;/span&gt; &lt;span class="pl-kos"&gt;{&lt;/span&gt;
  &lt;span class="pl-s1"&gt;abi&lt;/span&gt; &lt;span class="pl-k"&gt;as&lt;/span&gt; &lt;span class="pl-smi"&gt;FACTORY_ABI&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;
  &lt;span class="pl-s1"&gt;bytecode&lt;/span&gt; &lt;span class="pl-k"&gt;as&lt;/span&gt; &lt;span class="pl-smi"&gt;FACTORY_BYTECODE&lt;/span&gt;&lt;span class="pl-kos"&gt;,&lt;/span&gt;
&lt;span class="pl-kos"&gt;}&lt;/span&gt; &lt;span class="pl-k"&gt;from&lt;/span&gt; &lt;span class="pl-s"&gt;'@uniswap/v3-core/artifacts/contracts/UniswapV3Factory.sol/UniswapV3Factory.json'&lt;/span&gt;

&lt;span class="pl-c"&gt;// deploy the bytecode&lt;/span&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;p&gt;This will ensure that you are testing against the same bytecode that is deployed to
mainnet and public testnets, and all Uniswap code will correctly interoperate with
your local deployment.&lt;/p&gt;
&lt;h2&gt;
Using solidity interfaces&lt;/h2&gt;
&lt;p&gt;The Uniswap v3 interfaces are available for import into solidity smart contracts
via the npm artifact &lt;code&gt;@uniswap/v3-core&lt;/code&gt;, e.g.:&lt;/p&gt;
&lt;div class="highlight highlight-source-solidity notranslate position-relative overflow-auto js-code-highlight"&gt;
&lt;pre&gt;&lt;span class="pl-k"&gt;import&lt;/span&gt; &lt;span class="pl-s"&gt;'@uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol'&lt;/span&gt;
&lt;span class="pl-k"&gt;contract&lt;/span&gt; &lt;span class="pl-en"&gt;MyContract&lt;/span&gt; {
  IUniswapV3Pool pool;

  &lt;span class="pl-k"&gt;function&lt;span class="pl-en"&gt; doSomethingWithPool&lt;/span&gt;&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/TopTalentedDev/UniSwap-v3-core"&gt;View on GitHub&lt;/a&gt;&lt;/div&gt;
&lt;/div&gt;


&lt;p&gt;&lt;strong&gt;Why&lt;/strong&gt;&lt;br&gt;
GitHub will suspend the scheduled trigger for GitHub action workflows if there is no commit in the repository for the past 60 days. The cron based triggers won't run unless a new commit is made. It shows the message "This scheduled workflow is disabled because there hasn't been activity in this repository for at least 60 days" under the cronjob triggered action.&lt;/p&gt;
&lt;h1&gt;
  
  
  Keepalive Workflow &lt;a href="https://badge.fury.io/js/keepalive-workflow"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--QHOl2in4--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://badge.fury.io/js/keepalive-workflow.svg" alt="npm version" width="126" height="20"&gt;&lt;/a&gt;
&lt;/h1&gt;

&lt;p&gt;GitHub action to prevent GitHub from suspending your cronjob based triggers due to repository inactivity&lt;/p&gt;
&lt;h3&gt;
  
  
  Why
&lt;/h3&gt;

&lt;p&gt;GitHub will suspend the scheduled trigger for GitHub action workflows if there is no commit in the repository for the past 60 days. The cron based triggers won't run unless a new commit is made. It shows the message "This scheduled workflow is disabled because there hasn't been activity in this repository for at least 60 days" under the cronjob triggered action.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--uHgBz7TA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/8397274/105174930-4303e100-5b49-11eb-90ed-95a55697582f.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--uHgBz7TA--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://user-images.githubusercontent.com/8397274/105174930-4303e100-5b49-11eb-90ed-95a55697582f.png" alt="preview" width="880" height="119"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;
  
  
  What
&lt;/h3&gt;

&lt;p&gt;This workflow will automatically create a dummy commit in your repo if the last commit in your repo is 50 days (default) ago.&lt;br&gt;
This will keep the cronjob trigger active so that it will run indefinitely without getting suspended by GitHub for inactivity.&lt;/p&gt;
&lt;h2&gt;
  
  
  How to use
&lt;/h2&gt;

&lt;p&gt;There are two ways you can consume this library in your GitHub actions&lt;/p&gt;
&lt;h3&gt;
  
  
  Via GitHub Actions (For GitHub Actions users)
&lt;/h3&gt;

&lt;p&gt;You can just include the library as a step after one of your favorite GitHub actions. Your workflow file should have the checkout action defined in one of your steps since this library needs git CLI to work.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;Github Action with a cronjob trigger&lt;/span&gt;
&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;schedule&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;cron&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;0&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;0&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*"&lt;/span&gt;

&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;cronjob-based-github-action&lt;/span&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;Cronjob based github action&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v2&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="c1"&gt;# step1&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="c1"&gt;# step 2&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="c1"&gt;# step n, use it as the last step&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;gautamkrishnar/keepalive-workflow@v1&lt;/span&gt; &lt;span class="c1"&gt;# using the workflow with default settings&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Let's take an example of &lt;a href="https://github.com/athul/waka-readme"&gt;Waka Readme&lt;/a&gt;&lt;/p&gt;
&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;My awesome readme&lt;/span&gt;
&lt;span class="na"&gt;on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;workflow_dispatch&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;schedule&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="c1"&gt;# Runs at 12 am UTC&lt;/span&gt;
    &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;cron&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;0&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;0&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;*"&lt;/span&gt;

&lt;span class="na"&gt;jobs&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;update-readme&lt;/span&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;Update this repo's README&lt;/span&gt;
    &lt;span class="na"&gt;runs-on&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ubuntu-latest&lt;/span&gt;
    &lt;span class="na"&gt;steps&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;actions/checkout@v2&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;athul/waka-readme@master&lt;/span&gt;
        &lt;span class="na"&gt;with&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;WAKATIME_API_KEY&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;${{ secrets.WAKATIME_API_KEY }}&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;uses&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;gautamkrishnar/keepalive-workflow@v1&lt;/span&gt; &lt;span class="c1"&gt;# using the workflow with default settings&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;
&lt;h3&gt;
  
  
  Via JavaScript library (For GitHub Actions developers)
&lt;/h3&gt;

&lt;p&gt;For developers making awesome GitHub actions, you can consume the library in your javascript-based GitHub action by installing it from &lt;a href="https://www.npmjs.com/package/keepalive-workflow"&gt;NPM&lt;/a&gt;. Make sure that your GitHub action uses checkout action since this library needs it as a dependency.&lt;br&gt;
You can also ask your users to include it as an additional step as mentioned in the first part.&lt;/p&gt;
&lt;h4&gt;
  
  
  Install the package
&lt;/h4&gt;

&lt;p&gt;Install via NPM:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npm i keepalive-workflow
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Install via Yarn:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;yarn add keepalive-workflow
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  Use it in your own GitHub action source code
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight javascript"&gt;&lt;code&gt;&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="nx"&gt;core&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;@actions/core&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="kd"&gt;const&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt; &lt;span class="nx"&gt;KeepAliveWorkflow&lt;/span&gt; &lt;span class="p"&gt;}&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;require&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="s1"&gt;keepalive-workflow&lt;/span&gt;&lt;span class="dl"&gt;'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

&lt;span class="c1"&gt;// Using the lib&lt;/span&gt;
&lt;span class="nx"&gt;KeepAliveWorkflow&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;githubToken&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;committerUsername&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;committerEmail&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;commitMessage&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;timeElapsed&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;then&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;core&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;info&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;message&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;})&lt;/span&gt;
  &lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="k"&gt;catch&lt;/span&gt;&lt;span class="p"&gt;((&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="nx"&gt;core&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;error&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="nx"&gt;process&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nx"&gt;exit&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
  &lt;span class="p"&gt;});&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Options
&lt;/h2&gt;

&lt;h3&gt;
  
  
  For GitHub Action
&lt;/h3&gt;

&lt;p&gt;If you use the workflow as mentioned via GitHub actions following are the options available to you to customize its behavior.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Option&lt;/th&gt;
&lt;th&gt;Default Value&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;th&gt;Required&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;gh_token&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;your default GitHub token with repo scope&lt;/td&gt;
&lt;td&gt;GitHub access token with Repo scope&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;commit_message&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;Automated commit by Keepalive Workflow to keep the repository active&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Commit message used while committing to the repo&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;committer_username&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gkr-bot&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Username used while committing to the repo&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;committer_email&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;gkr@tuta.io&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Email id used while committing to the repo&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;time_elapsed&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;50&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Time elapsed from the previous commit to trigger a new automated commit (in days)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;auto_push&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;&lt;code&gt;true&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Defines if the workflow pushes the changes automatically&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  For Javascript Library
&lt;/h3&gt;

&lt;p&gt;If you are using the JS Library version of the project, please consult the function's DocString in &lt;a href="//library.js"&gt;library.js&lt;/a&gt; to see the list of available parameters.&lt;/p&gt;

&lt;h2&gt;
  
  
  Contributors ✨
&lt;/h2&gt;

&lt;p&gt;Thanks goes to these wonderful people (&lt;a href="https://allcontributors.org/docs/en/emoji-key"&gt;emoji key&lt;/a&gt;):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
  &lt;tr&gt;
    &lt;td&gt;
&lt;a href="https://github.com/abitmore"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--ZKbWG4_J--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://avatars.githubusercontent.com/u/9946777%3Fv%3D4%3Fs%3D100" alt="" width="159" height="159"&gt;&lt;br&gt;&lt;b&gt;Abit&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;a href="https://github.com/gautamkrishnar/keepalive-workflow/commits?author=abitmore" title="Code"&gt;💻&lt;/a&gt;
&lt;/td&gt;
    &lt;td&gt;
&lt;a href="https://github.com/Nigui"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--99VAkCF---/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://avatars.githubusercontent.com/u/6088236%3Fv%3D4%3Fs%3D100" alt="" width="460" height="460"&gt;&lt;br&gt;&lt;b&gt;Guillaume NICOLAS&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;a href="https://github.com/gautamkrishnar/keepalive-workflow/commits?author=Nigui" title="Documentation"&gt;📖&lt;/a&gt;
&lt;/td&gt;
    &lt;td&gt;
&lt;a href="https://github.com/dmaticzka"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--y_THD2GG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/https://avatars.githubusercontent.com/u/113329%3Fv%3D4%3Fs%3D100" alt="" width="420" height="420"&gt;&lt;br&gt;&lt;b&gt;Daniel Maticzka&lt;/b&gt;&lt;/a&gt;&lt;br&gt;&lt;a href="https://github.com/gautamkrishnar/keepalive-workflow/commits?author=dmaticzka" title="Code"&gt;💻&lt;/a&gt;
&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This project follows the &lt;a href="https://github.com/all-contributors/all-contributors"&gt;all-contributors&lt;/a&gt; specification. Contributions of any kind welcome!&lt;/p&gt;

&lt;h2&gt;
  
  
  License
&lt;/h2&gt;

&lt;p&gt;This project uses &lt;a href="https://dev.toLICENSE"&gt;GNU GENERAL PUBLIC LICENSE&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Liked it?
&lt;/h2&gt;

&lt;p&gt;Hope you liked this project, don't forget to give it a star ⭐.&lt;/p&gt;

</description>
      <category>showdev</category>
      <category>github</category>
      <category>opensource</category>
      <category>tutorial</category>
    </item>
  </channel>
</rss>
