<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Codebase Maintenance on Handbook</title>
    <link>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/</link>
    <description>Recent content in Codebase Maintenance on Handbook</description>
    <generator>Hugo -- gohugo.io</generator><atom:link href="https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Hygiene of Directories Structure</title>
      <link>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/hygiene-of-directories-structure/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/hygiene-of-directories-structure/</guid>
      <description>Readme The current structure of our monorepo is listed in the root-level README.md file. In addition to that this files contains a summary of our github actions builds statuses. It is the responsibility of the monorepo maintainer to
  ensure that new additions to the monorepo are placed according to the structure;
  when necessary make changes to the structure;
  keep README.md up-to-date.
  Keep the source not the output This is general rule applied to everyone to avoid adding to git those files that can easily be generated using the necessary scripts.</description>
    </item>
    
    <item>
      <title>Pull Request Review Memo</title>
      <link>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/pr-review/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/pr-review/</guid>
      <description>You were asked to review a PR? Here&amp;rsquo;s what you should keep in mind:
General approach By default we don&amp;rsquo;t do in-depth review of everything unless it was specifically requested. Sometimes PRs are just too big to review everything, and more often than not it would&amp;rsquo;ve been a waste of time. So it&amp;rsquo;s a responsibility of the person who asks for a review to clearly specify what needs to be carefully reviewed, unless the scope of the PR is very limited and the subject of review is crystal clear.</description>
    </item>
    
    <item>
      <title>Regular Branch Review</title>
      <link>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/branch-review/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/branch-review/</guid>
      <description>On github page of our monorepo, go to branches -&amp;gt; All branches.
In the perfect world you should only see gray or green PR icons and all PRs should not stay inactive for more than 2 months. Gray indicates a draft PR that is in progress. Green means a PR that is ready to be reviewed. The whole process of branch review is essentially about achieving this perfect picture.
  We have a recurring Jira issue which pops up every two weeks and assigns one person to do the branch review.</description>
    </item>
    
    <item>
      <title>Github Builds</title>
      <link>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/github-builds/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/github-builds/</guid>
      <description>Overview Workflow yaml files  Triggers Initial job setup Environment variables Steps       Overview Before pushing package updates to github you should always run R CMD check to make sure that you did not break any CRAN standards and that all the tests continue to run well. But still, to be on the safe side, we run R CMD checks in an automated way using github actions.</description>
    </item>
    
    <item>
      <title>Fixing Github Builds</title>
      <link>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/github-builds-fixing/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/github-builds-fixing/</guid>
      <description>General recommendations    Difficulties in preconfiguring the build environment Inconsistencies between your working environment and the one on GitHub Temporary issues     Resolving Build Issues: An Example     General recommendations To begin with, it is crucial to first ensure that the build functions properly in your normal working environment, that is in RStudio. If the build runs well in your working environment yet encounters problems on GitHub, the underlying cause is almost always related to one of the following:</description>
    </item>
    
    <item>
      <title>Internal CRAN</title>
      <link>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/internal-cran/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/internal-cran/</guid>
      <description>Overview Our Internal CRAN is a repository of all our internal packages, similar to the original CRAN, but exclusive to us and not open to the world. It allows us to easily install our packages using the standard install.packages() command and contains all versions of our packages. While it only contains sources and not binaries, resulting in longer installation times, it is easier to maintain this way. The latest versions of our packages are automatically added to our internal CRAN through a Github build process.</description>
    </item>
    
    <item>
      <title>Codebase Maintenance Overview</title>
      <link>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/codebase-maintenance-overview/</link>
      <pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate>
      
      <guid>https://handbook.gradientmetrics.com/product-team/devops/codebase-maintenance/codebase-maintenance-overview/</guid>
      <description>Almost all coding we do ends up in our big main github repository, or as we call it, the monorepo. There are a few exceptions, but these are not going to be considered in this section of the handbook.
Because the monorepo is so huge and because multiple people actively work on it in parallel, it is critically important to keep it in order. To achieve this we have a set of rules and processes we follow.</description>
    </item>
    
  </channel>
</rss>
