\documentclass[10pt,a4paper]{article} % Packages \usepackage{fancyhdr} % For header and footer \usepackage{multicol} % Allows multicols in tables \usepackage{tabularx} % Intelligent column widths \usepackage{tabulary} % Used in header and footer \usepackage{hhline} % Border under tables \usepackage{graphicx} % For images \usepackage{xcolor} % For hex colours %\usepackage[utf8x]{inputenc} % For unicode character support \usepackage[T1]{fontenc} % Without this we get weird character replacements \usepackage{colortbl} % For coloured tables \usepackage{setspace} % For line height \usepackage{lastpage} % Needed for total page number \usepackage{seqsplit} % Splits long words. %\usepackage{opensans} % Can't make this work so far. Shame. Would be lovely. \usepackage[normalem]{ulem} % For underlining links % Most of the following are not required for the majority % of cheat sheets but are needed for some symbol support. \usepackage{amsmath} % Symbols \usepackage{MnSymbol} % Symbols \usepackage{wasysym} % Symbols %\usepackage[english,german,french,spanish,italian]{babel} % Languages % Document Info \author{Prajjwal Dimri (prajjwal\_arg)} \pdfinfo{ /Title (rate-limits-for-self-hosted-github-runners.pdf) /Creator (Cheatography) /Author (Prajjwal Dimri (prajjwal\_arg)) /Subject (Rate Limits for Self Hosted GitHub Runners Cheat Sheet) } % Lengths and widths \addtolength{\textwidth}{6cm} \addtolength{\textheight}{-1cm} \addtolength{\hoffset}{-3cm} \addtolength{\voffset}{-2cm} \setlength{\tabcolsep}{0.2cm} % Space between columns \setlength{\headsep}{-12pt} % Reduce space between header and content \setlength{\headheight}{85pt} % If less, LaTeX automatically increases it \renewcommand{\footrulewidth}{0pt} % Remove footer line \renewcommand{\headrulewidth}{0pt} % Remove header line \renewcommand{\seqinsert}{\ifmmode\allowbreak\else\-\fi} % Hyphens in seqsplit % This two commands together give roughly % the right line height in the tables \renewcommand{\arraystretch}{1.3} \onehalfspacing % Commands \newcommand{\SetRowColor}[1]{\noalign{\gdef\RowColorName{#1}}\rowcolor{\RowColorName}} % Shortcut for row colour \newcommand{\mymulticolumn}[3]{\multicolumn{#1}{>{\columncolor{\RowColorName}}#2}{#3}} % For coloured multi-cols \newcolumntype{x}[1]{>{\raggedright}p{#1}} % New column types for ragged-right paragraph columns \newcommand{\tn}{\tabularnewline} % Required as custom column type in use % Font and Colours \definecolor{HeadBackground}{HTML}{333333} \definecolor{FootBackground}{HTML}{666666} \definecolor{TextColor}{HTML}{333333} \definecolor{DarkBackground}{HTML}{059669} \definecolor{LightBackground}{HTML}{EFF8F5} \renewcommand{\familydefault}{\sfdefault} \color{TextColor} % Header and Footer \pagestyle{fancy} \fancyhead{} % Set header to blank \fancyfoot{} % Set footer to blank \fancyhead[L]{ \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{C} \SetRowColor{DarkBackground} \vspace{-7pt} {\parbox{\dimexpr\textwidth-2\fboxsep\relax}{\noindent \hspace*{-6pt}\includegraphics[width=5.8cm]{/web/www.cheatography.com/public/images/cheatography_logo.pdf}} } \end{tabulary} \columnbreak \begin{tabulary}{11cm}{L} \vspace{-2pt}\large{\bf{\textcolor{DarkBackground}{\textrm{Rate Limits for Self Hosted GitHub Runners Cheat Sheet}}}} \\ \normalsize{by \textcolor{DarkBackground}{Prajjwal Dimri (prajjwal\_arg)} via \textcolor{DarkBackground}{\uline{cheatography.com/204622/cs/43626/}}} \end{tabulary} \end{multicols}} \fancyfoot[L]{ \footnotesize \noindent \begin{multicols}{3} \begin{tabulary}{5.8cm}{LL} \SetRowColor{FootBackground} \mymulticolumn{2}{p{5.377cm}}{\bf\textcolor{white}{Cheatographer}} \\ \vspace{-2pt}Prajjwal Dimri (prajjwal\_arg) \\ \uline{cheatography.com/prajjwal-arg} \\ \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Cheat Sheet}} \\ \vspace{-2pt}Not Yet Published.\\ Updated 12th June, 2024.\\ Page {\thepage} of \pageref{LastPage}. \end{tabulary} \vfill \columnbreak \begin{tabulary}{5.8cm}{L} \SetRowColor{FootBackground} \mymulticolumn{1}{p{5.377cm}}{\bf\textcolor{white}{Sponsor}} \\ \SetRowColor{white} \vspace{-5pt} %\includegraphics[width=48px,height=48px]{dave.jpeg} Measure your website readability!\\ www.readability-score.com \end{tabulary} \end{multicols}} \begin{document} \raggedright \raggedcolumns % Set font size to small. Switch to any value % from this page to resize cheat sheet text: % www.emerson.emory.edu/services/latex/latex_169.html \footnotesize % Small font. \begin{multicols*}{2} \begin{tabularx}{8.4cm}{x{4 cm} x{4 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-github\}\} GitHub APIs}} \tn % Row 0 \SetRowColor{LightBackground} API requests to GitHub from self hosted runners & 1000 requests per hour across all actions within a repo \tn % Row Count 3 (+ 3) % Row 1 \SetRowColor{white} Primary rate limit for authenticated users & 5,000 requests per hour \tn % Row Count 6 (+ 3) % Row 2 \SetRowColor{LightBackground} Primary rate limit for GitHub App installations & Min. 5,000 requests per hour (can go upto 12,500 depending upon the number of repos and users). \{\{nl\}\} 15,000 per hour if the installation is on a GitHub Enterprise Cloud Organization \tn % Row Count 16 (+ 10) % Row 3 \SetRowColor{white} Primary rate limit for GITHUB\_TOKEN in GitHub Actions & 1,000 requests per hour per repository. \{\{nl\}\} For GitHub Enterprise Cloud Account, the limit is 15,000 requests per hour per repo \tn % Row Count 23 (+ 7) \hhline{>{\arrayrulecolor{DarkBackground}}--} \SetRowColor{LightBackground} \mymulticolumn{2}{x{8.4cm}}{{\bf{Secondary Rate Limits:}} \newline \newline Along with the primary rate limits noted above, GitHub also enforces some secondary rate limits. \newline \newline - No more than 100 concurrent requests allowed. \newline - No more than 900 read requests per minute or 180 write requests per minute to a single REST endpoint.} \tn \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{2.56 cm} x{5.44 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{\{\{fa-cloud\}\} Cloud Providers (Creating Runners)}} \tn % Row 0 \SetRowColor{LightBackground} AWS EC2 & Uses Token Bucket system. Maximum of 1000 tokens, with a refill rate of 2 tokens per second. \tn % Row Count 4 (+ 4) % Row 1 \SetRowColor{white} Google Cloud Engine & 1500 requests per minute per region \tn % Row Count 6 (+ 2) % Row 2 \SetRowColor{LightBackground} Microsoft Azure & 1200 writes per hour per subscription \tn % Row Count 8 (+ 2) % Row 3 \SetRowColor{white} Hetzner Cloud & 3600 requests per hour per project \tn % Row Count 10 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{3.68 cm} x{4.32 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Package Registries}} \tn % Row 0 \SetRowColor{LightBackground} RubyGems Rate Limit & 10 requests per second \tn % Row Count 2 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{X} \SetRowColor{DarkBackground} \mymulticolumn{1}{x{8.4cm}}{\bf\textcolor{white}{WarpBuild}} \tn \SetRowColor{white} \mymulticolumn{1}{x{8.4cm}}{WarpBuild provider's fully managed performant GitHub runners. Learn more @ https://warpbuild.com% Row Count 2 (+ 2) } \tn \hhline{>{\arrayrulecolor{DarkBackground}}-} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{3.76 cm} x{4.24 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Docker Hub}} \tn % Row 0 \SetRowColor{LightBackground} Anonymous Users & 100 pulls per 6 hours per IP address \tn % Row Count 2 (+ 2) % Row 1 \SetRowColor{white} Authenticated Users & 200 pulls per 6 hour period per account \tn % Row Count 4 (+ 2) % Row 2 \SetRowColor{LightBackground} Users with Paid Docker Subscription & Up to 5000 pulls per day \tn % Row Count 6 (+ 2) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} \begin{tabularx}{8.4cm}{x{3.84 cm} x{4.16 cm} } \SetRowColor{DarkBackground} \mymulticolumn{2}{x{8.4cm}}{\bf\textcolor{white}{Image Registries}} \tn % Row 0 \SetRowColor{LightBackground} Amazon ECR & Authenticated: 10 image pulls per second \{\{nl\}\} Unauthenticated: 1 image pull per second \tn % Row Count 5 (+ 5) % Row 1 \SetRowColor{white} Google Artifact Registry & 1000 requests per second. 300 write requests per second. \tn % Row Count 8 (+ 3) % Row 2 \SetRowColor{LightBackground} Azure Container Registry (Basic Tier) & 1000 read, 100 write operations per minute \tn % Row Count 11 (+ 3) \hhline{>{\arrayrulecolor{DarkBackground}}--} \end{tabularx} \par\addvspace{1.3em} % That's all folks \end{multicols*} \end{document}