CINXE.COM

GitHub Status

<!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <!-- force IE browsers in compatibility mode to use their most aggressive rendering engine --> <meta charset="utf-8"> <title>GitHub Status</title> <meta name="description" content="Welcome to GitHub&#39;s home for real-time and historical data on system performance."> <!-- Mobile viewport optimization --> <meta name="HandheldFriendly" content="True"> <meta name="MobileOptimized" content="320"> <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0"> <!-- Time this page was rendered - http://purl.org/dc/terms/issued --> <meta name="issued" content="1742512845"> <!-- Mobile IE allows us to activate ClearType technology for smoothing fonts for easy reading --> <meta http-equiv="cleartype" content="on"> <!-- Le fonts --> <style> @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host=www.githubstatus.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-f0b2f7c12b6b87c65c02d3c1738047ea67a7607fd767056d8a2964cc6a2393f7.eot?host=www.githubstatus.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-e642ffe82005c6208632538a557e7f5dccb835c0303b06f17f55ccf567907241.woff?host=www.githubstatus.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaLight-0f094da9b301d03292f97db5544142a16f9f2ddf50af91d44753d9310c194c5f.ttf?host=www.githubstatus.com') format('truetype'); font-weight:300; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host=www.githubstatus.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-366d17769d864aa72f27defaddf591e460a1de4984bb24dacea57a9fc1d14878.eot?host=www.githubstatus.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-2ee4c449a9ed716f1d88207bd1094e21b69e2818b5cd36b28ad809dc1924ec54.woff?host=www.githubstatus.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegular-a40a469edbd27b65b845b8000d47445a17def8ba677f4eb836ad1808f7495173.ttf?host=www.githubstatus.com') format('truetype'); font-weight:400; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host=www.githubstatus.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0bf83a850b45e4ccda15bd04691e3c47ae84fec3588363b53618bd275a98cbb7.eot?host=www.githubstatus.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-0c394ec7a111aa7928ea470ec0a67c44ebdaa0f93d1c3341abb69656cc26cbdd.woff?host=www.githubstatus.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaRegularIt-9e43859f8015a4d47d9eaf7bafe8d1e26e3298795ce1f4cdb0be0479b8a4605e.ttf?host=www.githubstatus.com') format('truetype'); font-weight:400; font-style:italic; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host=www.githubstatus.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-09566917307251d22021a3f91fc646f3e45f8d095209bcd2cded8a1979f06e54.eot?host=www.githubstatus.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-86724fb2152613d735ba47c3f47a9ad2424b898bea4bece213dacee40344f966.woff?host=www.githubstatus.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaSemibold-cf3e4eb7fbdf6fb83e526cc2a0141e55b01097e6e1abfd4cbdc3eda75d183f74.ttf?host=www.githubstatus.com') format('truetype'); font-weight:500; font-style:normal; } @font-face { font-family: 'proxima-nova'; src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host=www.githubstatus.com'); src: url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-622ea489d20e12e691663f83217105e957e2d3d09703707d40155a29c06cc9d9.eot?host=www.githubstatus.com#iefix') format('embedded-opentype'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-c8dc577ff7f76d2fc199843e38c04bb2e9fd15889421358d966a9f846c2ed1cd.woff?host=www.githubstatus.com') format('woff'), url('https://dka575ofm4ao0.cloudfront.net/assets/ProximaNovaBold-27177fe9242acbe089276ee587feef781446667ffe9b6fdc5b7fe21ad73e12f3.ttf?host=www.githubstatus.com') format('truetype'); font-weight:700; font-style:normal; } </style> <link rel="shortcut icon" type="image/x-icon" href="//dka575ofm4ao0.cloudfront.net/pages-favicon_logos/original/36420/akacZEQQfOBdc7ftyxJt" /> <link rel="shortcut icon" href='//dka575ofm4ao0.cloudfront.net/pages-favicon_logos/original/36420/akacZEQQfOBdc7ftyxJt'> <link rel="alternate" type="application/atom+xml" href="https://www.githubstatus.com/history.atom" title="GitHub Status History - Atom Feed"> <link rel="alternate" type="application/rss+xml" href="https://www.githubstatus.com/history.rss" title="GitHub Status History - RSS Feed"> <!-- Canonical Link to ensure that only the custom domain is indexed when present --> <link rel="canonical" href="https://www.githubstatus.com"> <meta name="_globalsign-domain-verification" content="y_VzfckMy4iePo5oDJNivyYIjh8LffYa4jzUndm_bZ"/> <link rel="alternate" type="application/atom+xml" title="ATOM" href="https://www.githubstatus.com/history.atom" /> <!-- Le styles --> <link rel="stylesheet" media="screen" href="https://dka575ofm4ao0.cloudfront.net/packs/0.fd3c3079f5a65dcc2e43.css" /> <link rel="stylesheet" media="all" href="https://dka575ofm4ao0.cloudfront.net/assets/status/status_manifest-e5fd07250d5426b6c15214a184a78f72bd224c0f158f2ca1f35a3cf1ee9c1783.css" /> <script src="https://dka575ofm4ao0.cloudfront.net/assets/jquery-3.5.1.min-729e416557a365062a8a20f0562f18aa171da57298005d392312670c706c68de.js"></script> <script> window.pageColorData = {"blue":"#0366d6","border":"#e1e4e8","body_background":"#ffffff","font":"#24292e","graph":"#0366d6","green":"#28a745","light_font":"#6a737d","link":"#0366d6","orange":"#e36209","red":"#dc3545","yellow":"#dbab09","no_data":"#b3bac5"}; </script> <style> /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ /* BODY BACKGROUND */ body, .layout-content.status.status-api .section .example-container .example-opener .color-secondary, .grouped-items-selector, .layout-content.status.status-full-history .history-nav a.current, div[id^="subscribe-modal"] .modal-footer, div[id^="subscribe-modal"], div[id^="updates-dropdown"] .updates-dropdown-section, #uptime-tooltip .tooltip-box { background-color:#ffffff; } #uptime-tooltip .pointer-container .pointer-smaller { border-bottom-color:#ffffff; } /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ /* PRIMARY FONT COLOR */ body.status, .color-primary, .color-primary:hover, .layout-content.status-index .status-day .update-title.impact-none a, .layout-content.status-index .status-day .update-title.impact-none a:hover, .layout-content.status-index .timeframes-container .timeframe.active, .layout-content.status-full-history .month .incident-container .impact-none, .layout-content.status.status-index .incidents-list .incident-title.impact-none a, .incident-history .impact-none, .layout-content.status .grouped-items-selector.inline .grouped-item.active, .layout-content.status.status-full-history .history-nav a.current, .layout-content.status.status-full-history .history-nav a:not(.current):hover, div[id^="subscribe-modal"] .modal-header .close, .grouped-item-label, #uptime-tooltip .tooltip-box .tooltip-content .related-events .related-event a.related-event-link { color:#24292e; } .layout-content.status.status-index .components-statuses .component-container .name { color:#24292e; color:rgba(36,41,46,.8); } /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ /* SECONDARY FONT COLOR */ small, .layout-content.status .table-row .date, .color-secondary, .layout-content.status .grouped-items-selector.inline .grouped-item, .layout-content.status.status-full-history .history-footer .pagination a.disabled, .layout-content.status.status-full-history .history-nav a, #uptime-tooltip .tooltip-box .tooltip-content .related-events #related-event-header { color:#6a737d; } /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ /* BORDER COLOR */ body.status .layout-content.status .border-color, hr, .tooltip-base, .markdown-display table, div[id^="subscribe-modal"], #uptime-tooltip .tooltip-box { border-color:#e1e4e8; } div[id^="subscribe-modal"] .modal-footer, .markdown-display table td { border-top-color:#e1e4e8; } .markdown-display table td + td, .markdown-display table th + th { border-left-color:#e1e4e8; } div[id^="subscribe-modal"] .modal-header, #uptime-tooltip .pointer-container .pointer-larger { border-bottom-color:#e1e4e8; } #uptime-tooltip .tooltip-box .outage-field { /* Generate the background-color for the outage-field from the css_body_background_color and css_border_color. For the default background (#ffffff) and default css_border_color (#e0e0e0), use the luminosity of the default background with a magic number to arrive at the original outage-field background color (#f4f5f7). I used the formula Target Color = Color * alpha + Background * (1 - alpha) to find the magic number of ~0.08. For darker css_body_background_color, luminosity values are lower so alpha trends toward becoming transparent (thus outage-field background becomes same as css_body_background_color). */ background-color: rgba(225,228,232,0.31); /* outage-field border-color alpha is inverse to the luminosity of css_body_background_color. That is to say, with a default white background this border is transparent, but on a black background, it's opaque css_border_color. */ border-color: rgba(225,228,232,0.0); } /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ /* CSS REDS */ .layout-content.status.status-index .status-day .update-title.impact-critical a, .layout-content.status.status-index .status-day .update-title.impact-critical a:hover, .layout-content.status.status-index .page-status.status-critical, .layout-content.status.status-index .unresolved-incident.impact-critical .incident-title, .flat-button.background-red { background-color:#dc3545; } .layout-content.status-index .components-statuses .component-container.status-red:after, .layout-content.status-full-history .month .incident-container .impact-critical, .layout-content.status-incident .incident-name.impact-critical, .layout-content.status.status-index .incidents-list .incident-title.impact-critical a, .status-red .icon-indicator, .incident-history .impact-critical, .components-container .component-inner-container.status-red .component-status, .components-container .component-inner-container.status-red .icon-indicator { color:#dc3545; } .layout-content.status.status-index .unresolved-incident.impact-critical .updates { border-color:#dc3545; } /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ /* CSS ORANGES */ .layout-content.status.status-index .status-day .update-title.impact-major a, .layout-content.status.status-index .status-day .update-title.impact-major a:hover, .layout-content.status.status-index .page-status.status-major, .layout-content.status.status-index .unresolved-incident.impact-major .incident-title { background-color:#e36209; } .layout-content.status-index .components-statuses .component-container.status-orange:after, .layout-content.status-full-history .month .incident-container .impact-major, .layout-content.status-incident .incident-name.impact-major, .layout-content.status.status-index .incidents-list .incident-title.impact-major a, .status-orange .icon-indicator, .incident-history .impact-major, .components-container .component-inner-container.status-orange .component-status, .components-container .component-inner-container.status-orange .icon-indicator { color:#e36209; } .layout-content.status.status-index .unresolved-incident.impact-major .updates { border-color:#e36209; } /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ /* CSS YELLOWS */ .layout-content.status.status-index .status-day .update-title.impact-minor a, .layout-content.status.status-index .status-day .update-title.impact-minor a:hover, .layout-content.status.status-index .page-status.status-minor, .layout-content.status.status-index .unresolved-incident.impact-minor .incident-title, .layout-content.status.status-index .scheduled-incidents-container .tab { background-color:#dbab09; } .layout-content.status-index .components-statuses .component-container.status-yellow:after, .layout-content.status-full-history .month .incident-container .impact-minor, .layout-content.status-incident .incident-name.impact-minor, .layout-content.status.status-index .incidents-list .incident-title.impact-minor a, .status-yellow .icon-indicator, .incident-history .impact-minor, .components-container .component-inner-container.status-yellow .component-status, .components-container .component-inner-container.status-yellow .icon-indicator, .layout-content.status.manage-subscriptions .confirmation-infobox .fa { color:#dbab09; } .layout-content.status.status-index .unresolved-incident.impact-minor .updates, .layout-content.status.status-index .scheduled-incidents-container { border-color:#dbab09; } /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ /* CSS BLUES */ .layout-content.status.status-index .status-day .update-title.impact-maintenance a, .layout-content.status.status-index .status-day .update-title.impact-maintenance a:hover, .layout-content.status.status-index .page-status.status-maintenance, .layout-content.status.status-index .unresolved-incident.impact-maintenance .incident-title, .layout-content.status.status-index .scheduled-incidents-container .tab { background-color:#0366d6; } .layout-content.status-index .components-statuses .component-container.status-blue:after, .layout-content.status-full-history .month .incident-container .impact-maintenance, .layout-content.status-incident .incident-name.impact-maintenance, .layout-content.status.status-index .incidents-list .incident-title.impact-maintenance a, .status-blue .icon-indicator, .incident-history .impact-maintenance, .components-container .component-inner-container.status-blue .component-status, .components-container .component-inner-container.status-blue .icon-indicator { color:#0366d6; } .layout-content.status.status-index .unresolved-incident.impact-maintenance .updates, .layout-content.status.status-index .scheduled-incidents-container { border-color:#0366d6; } /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ /* CSS GREENS */ .layout-content.status.status-index .page-status.status-none { background-color:#28a745; } .layout-content.status-index .components-statuses .component-container.status-green:after, .status-green .icon-indicator, .components-container .component-inner-container.status-green .component-status, .components-container .component-inner-container.status-green .icon-indicator { color:#28a745; } /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ /* CSS LINK COLOR */ a, a:hover, .layout-content.status-index .page-footer span a:hover, .layout-content.status-index .timeframes-container .timeframe:not(.active):hover, .layout-content.status-incident .subheader a:hover { color:#0366d6; } .flat-button, .masthead .updates-dropdown-container .show-updates-dropdown, .layout-content.status-full-history .show-filter.open { background-color:#0366d6; } /* CUSTOM COLOR OVERRIDES FOR UPTIME SHOWCASE */ .components-section .components-uptime-link { color: #6a737d; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item { color: #6a737d; opacity: 1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .legend-item.light { color: #6a737d; opacity: 1; } .layout-content.status .shared-partial.uptime-90-days-wrapper .legend .spacer { background: #6a737d; opacity: 1; } </style> <!-- custom css --> <link rel="stylesheet" type="text/css" href="//dka575ofm4ao0.cloudfront.net/page_display_customizations-custom_css_externals/36313/external20250220-34-h6ft12.css"> <!-- polyfills --> <script crossorigin="anonymous" src="https://cdnjs.cloudflare.com/polyfill/v3/polyfill.js"></script> <!-- Le HTML5 shim --> <!--[if lt IE 9]> <script src="//html5shim.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <!-- injection for static --> </head> <body class="status index status-none"> <div class="layout-content status status-index starter"> <div class="custom-header-container"> <script> var meta = document.createElement('meta'); meta.setAttribute('name', 'ha-url'); meta.setAttribute('content', 'https://collector.githubapp.com/statuspage-views/collect'); document.head.appendChild(meta); </script> <script async onload="initAnalytics()" src="https://analytics.githubassets.com/hydro-client.min.js"></script> <script> function initAnalytics() { if (!window._ha) { return } // Send general pageview window._ha.sendPageView() // If on homepage, send index page view if (window.location.pathname === '/' && document.referrer !== (document.location.origin + document.location.pathname)) { // Create new instance for home page views exclusively let indexHa = Object.create(window._ha); indexHa.options = { ...window._ha.options } indexHa.options.collectorUrl = 'https://collector.githubapp.com/statuspage/collect'; indexHa.sendPageView(); } } </script> <script> document.addEventListener("DOMContentLoaded", function () { // Select the Twitter button var twitterBtn = document.getElementById("updates-dropdown-twitter-btn"); if (twitterBtn) { // Remove any existing content inside the Twitter icon container twitterBtn.innerHTML = ` <span class="icon-container x" style="height: 100%; display: flex; align-items: center; justify-content: center;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img"> <title>Subscribe via X</title> <path fill="currentColor" d="M14.28 10.38L23.2 0h-2.1L13.8 9.02L7.14 0H0l10.13 14.7L0 25.5h2.1l7.64-9.38l6.9 9.38H23.2L12.72 10.38zM3.06 1.62h2.76L20.94 23.9h-2.76L3.06 1.62z"/> </svg> </span> `; } }); </script> <div class="header d-md-flex flex-md-justify-between flex-md-items-center px-4 py-3 text-center text-md-left bg-white box-shadow-large"> <a href="/" class="text-gray-dark" aria-label="GitHub Octicon logo"><svg height="32" class="octicon octicon-mark-github d-block mx-auto" viewBox="0 0 16 16" version="1.1" width="32" aria-hidden="true" role="img"><title>GitHub Octicon logo</title><path fill-rule="evenodd" d="M8 0C3.58 0 0 3.58 0 8c0 3.54 2.29 6.53 5.47 7.59.4.07.55-.17.55-.38 0-.19-.01-.82-.01-1.49-2.01.37-2.53-.49-2.69-.94-.09-.23-.48-.94-.82-1.13-.28-.15-.68-.52-.01-.53.63-.01 1.08.58 1.23.82.72 1.21 1.87.87 2.33.66.07-.52.28-.87.51-1.07-1.78-.2-3.64-.89-3.64-3.95 0-.87.31-1.59.82-2.15-.08-.2-.36-1.02.08-2.12 0 0 .67-.21 2.2.82.64-.18 1.32-.27 2-.27.68 0 1.36.09 2 .27 1.53-1.04 2.2-.82 2.2-.82.44 1.1.16 1.92.08 2.12.51.56.82 1.27.82 2.15 0 3.07-1.87 3.75-3.65 3.95.29.25.54.73.54 1.48 0 1.07-.01 1.93-.01 2.2 0 .21.15.46.55.38A8.013 8.013 0 0 0 16 8c0-4.42-3.58-8-8-8z"></path></svg></a> <nav class="f4 list-style-none py-2 mt-2 mt-md-0"> <a class="mr-3 mr-lg-4 py-2" href="https://help.github.com">Help</a> <a class="mr-3 mr-lg-4 py-2" href="https://github.community">Community</a> <a class="mr-3 py-2 text-gray " href="/">Status</a> </nav> <nav class="f4 list-style-none py-2 text-md-right"> <a class="py-2" href="https://github.com">GitHub.com</a> <div class="d-inline py-2 ml-3 ml-lg-4"> <div id="replace-with-subscribe"></div> </div> </nav> </div> <img src="https://user-images.githubusercontent.com/19292210/60553863-044dd200-9cea-11e9-987e-7db84449f215.png" class="illo-desktop-header" style="display: none;" alt="GitHub header"> <img src="https://user-images.githubusercontent.com/19292210/60553865-044dd200-9cea-11e9-859c-d6f266e2f01f.png" class="illo-mobile-header" alt="GitHub header"> <div class="updates-dropdown-container" data-js-hook="updates-dropdown-container"> <a href="#" data-js-hook="show-updates-dropdown" id="show-updates-dropdown" class="show-updates-dropdown" aria-label="Subscribe to updates" aria-expanded="false" aria-haspopup="dialog" role="button"> </a> <!-- Accessibility guidelines for tabs: https://www.w3.org/TR/wai-aria-practices-1.1/examples/tabs/tabs-1/tabs.html --> <div class="updates-dropdown" data-js-hook="updates-dropdown" id="updates-dropdown" style="display:none"> <div class="updates-dropdown-nav nav-items-8" role="tablist" aria-label="Subscribe to updates"> <a href="#updates-dropdown-email" aria-controls="updates-dropdown-email" aria-label="Subscribe via email" role="tab" aria-selected="true" id="updates-dropdown-email-btn"> <span class="icon-container email"> </a> <a href="#updates-dropdown-sms" aria-controls="updates-dropdown-sms" aria-label="Subscribe via SMS" role="tab" id="updates-dropdown-sms-btn"> <span class="icon-container sms"> </a> <a href="#updates-dropdown-slack" aria-controls="updates-dropdown-slack" aria-label="Subscribe via slack" role="tab" id="updates-dropdown-slack-btn"> <span class="icon-container slack"> </a> <a href="#updates-dropdown-webhook" aria-controls="updates-dropdown-webhook" aria-label="Subscribe via webhook" role="tab" id="updates-dropdown-webhook-btn"> <span class="icon-container webhook"> </a> <a href="#updates-dropdown-twitter" aria-controls="updates-dropdown-twitter" aria-label="Subscribe via twitter" role="tab" id="updates-dropdown-twitter-btn"> <span class="icon-container twitter"> </a> <a href="#updates-dropdown-support" aria-controls="updates-dropdown-support" aria-label="Contact support" role="tab" id="updates-dropdown-support-btn"> <span class="icon-container support"> </a> <a href="#updates-dropdown-atom" aria-controls="updates-dropdown-atom" aria-label="Subscribe via RSS" role="tab" id="updates-dropdown-atom-btn"> <span class="icon-container rss"> </a> <button data-js-hook="updates-dropdown-close" aria-label="Close subscribe form" id="updates-dropdown-close-btn"> x </button> </div> <div class="updates-dropdown-sections-container"> <div class="updates-dropdown-section email" id="updates-dropdown-email" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-email-btn"> <div class="directions"> Get email notifications whenever GitHub <strong>creates</strong>, <strong>updates</strong> or <strong>resolves</strong> an incident. </div> <form id="subscribe-form-email" action="/subscriptions/new-email" accept-charset="UTF-8" data-remote="true" method="post"> <input type="hidden" name="email_otp_verify_flow" id="email_otp_verify_flow" value="false" autocomplete="off" /> <!-- make sure not to put cookie values in here since this gets cached --> <label for="email">Email address:</label> <input name="email" id="email" type="text" class="full-width" data-js-hook="email-notification-field" autocomplete="email"> <input name="email_otp_auth_token" type='hidden' id="email-otp-token-field"> <div class="opt-container-section" id="email-otp-container", style="display:none" > <label for="email-otp">Enter OTP:</label> <input name="otp" id="email-otp" type="text" value="" class="prepend full-width"> <p id="email-otp-timer">Resend OTP in: <span id="email-otp-countdown"></span> seconds </p> <p id="resend-email-otp"> Didn't receive the OTP? <a href="#" id="resend-email-otp-btn" >Resend OTP </a> </p> </div> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="submit" value="Subscribe via Email" class="flat-button full-width g-recaptcha" id="subscribe-btn-email" data-disabled-text="Subscribing..." data-sitekey=6LdTS8AUAAAAAOIbCKoCAP4LQku1olYGrywPTaZz data-callback="submitNewEmailSubscriber" data-error-callback="emailSubscriberCaptchaError" > <div class="terms_and_privacy_information bottom small"><div class="privacy_policy_information small">By subscribing you agree to our <a target="_blank" rel="noopener" class="accessible-link" href="https://help.github.com/articles/github-privacy-statement/">Privacy Policy</a>.</div> This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </form> </div> <div class="updates-dropdown-section phone" id="updates-dropdown-sms" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-sms-btn"> <div class="directions"> Get text message notifications whenever GitHub <strong>creates</strong> or <strong>resolves</strong> an incident. </div> <form id="subscribe-form-sms" action="/subscriptions/new-sms" accept-charset="UTF-8" data-remote="true" method="post"> <input type="hidden" name="otp_verify_flow" id="otp_verify_flow" value="false" autocomplete="off" /> <input type="hidden" name="subscriber_code" id="subscriber_code" value="" autocomplete="off" /> <div class="control-group"> <div class="controls externalities-sms-container"> <!-- make sure not to put cookie values in here since this gets cached --> <label for="phone-country">Country code:</label> <div id="phone-number-country-code" class="phone-country-wrapper" data-otp-enabled="false"> <select name="phone_country" id="phone-country" data-js-hook="phone-country" class="phone-country"><option value="af" data-otp-enabled="false" >Afghanistan (+93)</option> <option value="al" data-otp-enabled="false" >Albania (+355)</option> <option value="dz" data-otp-enabled="false" >Algeria (+213)</option> <option value="as" data-otp-enabled="false" >American Samoa (+1)</option> <option value="ad" data-otp-enabled="false" >Andorra (+376)</option> <option value="ao" data-otp-enabled="false" >Angola (+244)</option> <option value="ai" data-otp-enabled="false" >Anguilla (+1)</option> <option value="ag" data-otp-enabled="false" >Antigua and Barbuda (+1)</option> <option value="ar" data-otp-enabled="false" >Argentina (+54)</option> <option value="am" data-otp-enabled="false" >Armenia (+374)</option> <option value="aw" data-otp-enabled="false" >Aruba (+297)</option> <option value="au" data-otp-enabled="false" >Australia/Cocos/Christmas Island (+61)</option> <option value="at" data-otp-enabled="false" >Austria (+43)</option> <option value="az" data-otp-enabled="false" >Azerbaijan (+994)</option> <option value="bs" data-otp-enabled="false" >Bahamas (+1)</option> <option value="bh" data-otp-enabled="false" >Bahrain (+973)</option> <option value="bd" data-otp-enabled="false" >Bangladesh (+880)</option> <option value="bb" data-otp-enabled="false" >Barbados (+1)</option> <option value="by" data-otp-enabled="false" >Belarus (+375)</option> <option value="be" data-otp-enabled="false" >Belgium (+32)</option> <option value="bz" data-otp-enabled="false" >Belize (+501)</option> <option value="bj" data-otp-enabled="false" >Benin (+229)</option> <option value="bm" data-otp-enabled="false" >Bermuda (+1)</option> <option value="bo" data-otp-enabled="false" >Bolivia (+591)</option> <option value="ba" data-otp-enabled="false" >Bosnia and Herzegovina (+387)</option> <option value="bw" data-otp-enabled="false" >Botswana (+267)</option> <option value="br" data-otp-enabled="false" >Brazil (+55)</option> <option value="bn" data-otp-enabled="false" >Brunei (+673)</option> <option value="bg" data-otp-enabled="false" >Bulgaria (+359)</option> <option value="bf" data-otp-enabled="false" >Burkina Faso (+226)</option> <option value="bi" data-otp-enabled="false" >Burundi (+257)</option> <option value="kh" data-otp-enabled="false" >Cambodia (+855)</option> <option value="cm" data-otp-enabled="false" >Cameroon (+237)</option> <option value="ca" data-otp-enabled="false" >Canada (+1)</option> <option value="cv" data-otp-enabled="false" >Cape Verde (+238)</option> <option value="ky" data-otp-enabled="false" >Cayman Islands (+1)</option> <option value="cf" data-otp-enabled="false" >Central Africa (+236)</option> <option value="td" data-otp-enabled="false" >Chad (+235)</option> <option value="cl" data-otp-enabled="false" >Chile (+56)</option> <option value="cn" data-otp-enabled="false" >China (+86)</option> <option value="co" data-otp-enabled="false" >Colombia (+57)</option> <option value="km" data-otp-enabled="false" >Comoros (+269)</option> <option value="cg" data-otp-enabled="false" >Congo (+242)</option> <option value="cd" data-otp-enabled="false" >Congo, Dem Rep (+243)</option> <option value="cr" data-otp-enabled="false" >Costa Rica (+506)</option> <option value="hr" data-otp-enabled="false" >Croatia (+385)</option> <option value="cy" data-otp-enabled="false" >Cyprus (+357)</option> <option value="cz" data-otp-enabled="false" >Czech Republic (+420)</option> <option value="dk" data-otp-enabled="false" >Denmark (+45)</option> <option value="dj" data-otp-enabled="false" >Djibouti (+253)</option> <option value="dm" data-otp-enabled="false" >Dominica (+1)</option> <option value="do" data-otp-enabled="false" >Dominican Republic (+1)</option> <option value="eg" data-otp-enabled="false" >Egypt (+20)</option> <option value="sv" data-otp-enabled="false" >El Salvador (+503)</option> <option value="gq" data-otp-enabled="false" >Equatorial Guinea (+240)</option> <option value="ee" data-otp-enabled="false" >Estonia (+372)</option> <option value="et" data-otp-enabled="false" >Ethiopia (+251)</option> <option value="fo" data-otp-enabled="false" >Faroe Islands (+298)</option> <option value="fj" data-otp-enabled="false" >Fiji (+679)</option> <option value="fi" data-otp-enabled="false" >Finland/Aland Islands (+358)</option> <option value="fr" data-otp-enabled="false" >France (+33)</option> <option value="gf" data-otp-enabled="false" >French Guiana (+594)</option> <option value="pf" data-otp-enabled="false" >French Polynesia (+689)</option> <option value="ga" data-otp-enabled="false" >Gabon (+241)</option> <option value="gm" data-otp-enabled="false" >Gambia (+220)</option> <option value="ge" data-otp-enabled="false" >Georgia (+995)</option> <option value="de" data-otp-enabled="false" >Germany (+49)</option> <option value="gh" data-otp-enabled="false" >Ghana (+233)</option> <option value="gi" data-otp-enabled="false" >Gibraltar (+350)</option> <option value="gr" data-otp-enabled="false" >Greece (+30)</option> <option value="gl" data-otp-enabled="false" >Greenland (+299)</option> <option value="gd" data-otp-enabled="false" >Grenada (+1)</option> <option value="gp" data-otp-enabled="false" >Guadeloupe (+590)</option> <option value="gu" data-otp-enabled="false" >Guam (+1)</option> <option value="gt" data-otp-enabled="false" >Guatemala (+502)</option> <option value="gn" data-otp-enabled="false" >Guinea (+224)</option> <option value="gy" data-otp-enabled="false" >Guyana (+592)</option> <option value="ht" data-otp-enabled="false" >Haiti (+509)</option> <option value="hn" data-otp-enabled="false" >Honduras (+504)</option> <option value="hk" data-otp-enabled="false" >Hong Kong (+852)</option> <option value="hu" data-otp-enabled="false" >Hungary (+36)</option> <option value="is" data-otp-enabled="false" >Iceland (+354)</option> <option value="in" data-otp-enabled="false" >India (+91)</option> <option value="id" data-otp-enabled="false" >Indonesia (+62)</option> <option value="iq" data-otp-enabled="false" >Iraq (+964)</option> <option value="ie" data-otp-enabled="false" >Ireland (+353)</option> <option value="il" data-otp-enabled="false" >Israel (+972)</option> <option value="it" data-otp-enabled="false" >Italy (+39)</option> <option value="jm" data-otp-enabled="false" >Jamaica (+1)</option> <option value="jp" data-otp-enabled="false" >Japan (+81)</option> <option value="jo" data-otp-enabled="false" >Jordan (+962)</option> <option value="ke" data-otp-enabled="false" >Kenya (+254)</option> <option value="kr" data-otp-enabled="false" >Korea, Republic of (+82)</option> <option value="xk" data-otp-enabled="false" >Kosovo (+383)</option> <option value="kw" data-otp-enabled="false" >Kuwait (+965)</option> <option value="kg" data-otp-enabled="false" >Kyrgyzstan (+996)</option> <option value="la" data-otp-enabled="false" >Laos (+856)</option> <option value="lv" data-otp-enabled="false" >Latvia (+371)</option> <option value="lb" data-otp-enabled="false" >Lebanon (+961)</option> <option value="ls" data-otp-enabled="false" >Lesotho (+266)</option> <option value="lr" data-otp-enabled="false" >Liberia (+231)</option> <option value="ly" data-otp-enabled="false" >Libya (+218)</option> <option value="li" data-otp-enabled="false" >Liechtenstein (+423)</option> <option value="lt" data-otp-enabled="false" >Lithuania (+370)</option> <option value="lu" data-otp-enabled="false" >Luxembourg (+352)</option> <option value="mo" data-otp-enabled="false" >Macao (+853)</option> <option value="mk" data-otp-enabled="false" >Macedonia (+389)</option> <option value="mg" data-otp-enabled="false" >Madagascar (+261)</option> <option value="mw" data-otp-enabled="false" >Malawi (+265)</option> <option value="my" data-otp-enabled="false" >Malaysia (+60)</option> <option value="mv" data-otp-enabled="false" >Maldives (+960)</option> <option value="ml" data-otp-enabled="false" >Mali (+223)</option> <option value="mt" data-otp-enabled="false" >Malta (+356)</option> <option value="mq" data-otp-enabled="false" >Martinique (+596)</option> <option value="mr" data-otp-enabled="false" >Mauritania (+222)</option> <option value="mu" data-otp-enabled="false" >Mauritius (+230)</option> <option value="mx" data-otp-enabled="false" >Mexico (+52)</option> <option value="mc" data-otp-enabled="false" >Monaco (+377)</option> <option value="mn" data-otp-enabled="false" >Mongolia (+976)</option> <option value="me" data-otp-enabled="false" >Montenegro (+382)</option> <option value="ms" data-otp-enabled="false" >Montserrat (+1)</option> <option value="ma" data-otp-enabled="false" >Morocco/Western Sahara (+212)</option> <option value="mz" data-otp-enabled="false" >Mozambique (+258)</option> <option value="na" data-otp-enabled="false" >Namibia (+264)</option> <option value="np" data-otp-enabled="false" >Nepal (+977)</option> <option value="nl" data-otp-enabled="false" >Netherlands (+31)</option> <option value="nz" data-otp-enabled="false" >New Zealand (+64)</option> <option value="ni" data-otp-enabled="false" >Nicaragua (+505)</option> <option value="ne" data-otp-enabled="false" >Niger (+227)</option> <option value="ng" data-otp-enabled="false" >Nigeria (+234)</option> <option value="no" data-otp-enabled="false" >Norway (+47)</option> <option value="om" data-otp-enabled="false" >Oman (+968)</option> <option value="pk" data-otp-enabled="false" >Pakistan (+92)</option> <option value="ps" data-otp-enabled="false" >Palestinian Territory (+970)</option> <option value="pa" data-otp-enabled="false" >Panama (+507)</option> <option value="py" data-otp-enabled="false" >Paraguay (+595)</option> <option value="pe" data-otp-enabled="false" >Peru (+51)</option> <option value="ph" data-otp-enabled="false" >Philippines (+63)</option> <option value="pl" data-otp-enabled="false" >Poland (+48)</option> <option value="pt" data-otp-enabled="false" >Portugal (+351)</option> <option value="pr" data-otp-enabled="false" >Puerto Rico (+1)</option> <option value="qa" data-otp-enabled="false" >Qatar (+974)</option> <option value="re" data-otp-enabled="false" >Reunion/Mayotte (+262)</option> <option value="ro" data-otp-enabled="false" >Romania (+40)</option> <option value="ru" data-otp-enabled="false" >Russia/Kazakhstan (+7)</option> <option value="rw" data-otp-enabled="false" >Rwanda (+250)</option> <option value="ws" data-otp-enabled="false" >Samoa (+685)</option> <option value="sm" data-otp-enabled="false" >San Marino (+378)</option> <option value="sa" data-otp-enabled="false" >Saudi Arabia (+966)</option> <option value="sn" data-otp-enabled="false" >Senegal (+221)</option> <option value="rs" data-otp-enabled="false" >Serbia (+381)</option> <option value="sc" data-otp-enabled="false" >Seychelles (+248)</option> <option value="sl" data-otp-enabled="false" >Sierra Leone (+232)</option> <option value="sg" data-otp-enabled="false" >Singapore (+65)</option> <option value="sk" data-otp-enabled="false" >Slovakia (+421)</option> <option value="si" data-otp-enabled="false" >Slovenia (+386)</option> <option value="za" data-otp-enabled="false" >South Africa (+27)</option> <option value="es" data-otp-enabled="false" >Spain (+34)</option> <option value="lk" data-otp-enabled="false" >Sri Lanka (+94)</option> <option value="kn" data-otp-enabled="false" >St Kitts and Nevis (+1)</option> <option value="lc" data-otp-enabled="false" >St Lucia (+1)</option> <option value="vc" data-otp-enabled="false" >St Vincent Grenadines (+1)</option> <option value="sd" data-otp-enabled="false" >Sudan (+249)</option> <option value="sr" data-otp-enabled="false" >Suriname (+597)</option> <option value="sz" data-otp-enabled="false" >Swaziland (+268)</option> <option value="se" data-otp-enabled="false" >Sweden (+46)</option> <option value="ch" data-otp-enabled="false" >Switzerland (+41)</option> <option value="tw" data-otp-enabled="false" >Taiwan (+886)</option> <option value="tj" data-otp-enabled="false" >Tajikistan (+992)</option> <option value="tz" data-otp-enabled="false" >Tanzania (+255)</option> <option value="th" data-otp-enabled="false" >Thailand (+66)</option> <option value="tg" data-otp-enabled="false" >Togo (+228)</option> <option value="to" data-otp-enabled="false" >Tonga (+676)</option> <option value="tt" data-otp-enabled="false" >Trinidad and Tobago (+1)</option> <option value="tn" data-otp-enabled="false" >Tunisia (+216)</option> <option value="tr" data-otp-enabled="false" >Turkey (+90)</option> <option value="tc" data-otp-enabled="false" >Turks and Caicos Islands (+1)</option> <option value="ug" data-otp-enabled="false" >Uganda (+256)</option> <option value="ua" data-otp-enabled="false" >Ukraine (+380)</option> <option value="ae" data-otp-enabled="false" >United Arab Emirates (+971)</option> <option value="gb" data-otp-enabled="false" >United Kingdom (+44)</option> <option value="us" data-otp-enabled="false" selected>United States (+1)</option> <option value="uy" data-otp-enabled="false" >Uruguay (+598)</option> <option value="uz" data-otp-enabled="false" >Uzbekistan (+998)</option> <option value="ve" data-otp-enabled="false" >Venezuela (+58)</option> <option value="vn" data-otp-enabled="false" >Vietnam (+84)</option> <option value="vg" data-otp-enabled="false" >Virgin Islands, British (+1)</option> <option value="vi" data-otp-enabled="false" >Virgin Islands, U.S. (+1)</option> <option value="ye" data-otp-enabled="false" >Yemen (+967)</option> <option value="zm" data-otp-enabled="false" >Zambia (+260)</option> <option value="zw" data-otp-enabled="false" >Zimbabwe (+263)</option></select> </div> <label for="phone-number">Phone number:</label> <input name="phone_number" id="phone-number" type="text" class="prepend full-width" data-js-hook="sms-notification-field"> <div class="sms-atl-error" id="sms-atl-error"></div> <div class="clearfix"></div> <div class="opt-container-section" id="otp-container" style="display:none"> <a href="#" id="btn-subcriber-change-number">Change number</a> <label for="otp">Enter OTP:</label> <input name="otp" id="otp" type="text" class="prepend full-width"> <p id="timer">Resend OTP in: <span id="countdown">30</span> seconds </p> <p id="resend"> Didn't receive the OTP? <a href="#" id="resend-otp-btn" >Resend OTP </a> </p> </div> </div> </div> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="submit" value="Subscribe via Text Message" class="flat-button full-width g-recaptcha" id="subscribe-btn-sms" data-disabled-text="Subscribing..." data-sitekey=6LcH-b0UAAAAACVQtMb14LBhflMA9y0Nmu7l_W6d data-callback="submitNewSmsSubscriber" data-error-callback="smsSubscriberCaptchaError"> <div class="terms_and_privacy_information bottom small">Message and data rates may apply. By subscribing you agree to our <a target="_blank" rel="noopener" class="accessible-link" href="https://help.github.com/articles/github-privacy-statement/">Privacy Policy</a>, the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/product-specific-terms#statuspage-specific-terms">Terms of Service</a>, and the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/privacy-policy">Privacy Policy</a>. This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </form> </div> <div class="updates-dropdown-section slack" id="updates-dropdown-slack" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-slack-btn"> <div class="directions"> Get incident updates and maintenance status messages in Slack. </div> <a value="Subscribe via Slack" class="flat-button full-width" id="subscribe-btn-slack" data-disabled-text="Subscribing..." data-revert-on-success="true" style="margin-top:.75rem" href="https://subscriptions.statuspage.io/slack_authentication/kickoff?page_code=kctbh9vrtdwd">Subscribe via Slack</a> <div class="terms_and_privacy_information bottom small">By subscribing you acknowledge our <a target="_blank" rel="noopener" class="accessible-link" href="https://help.github.com/articles/github-privacy-statement/">Privacy Policy</a>. In addition, you agree to the Atlassian <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/cloud-terms-of-service">Cloud Terms of Service</a> and acknowledge Atlassian's <a target="_blank" rel="noopener" class="accessible-link" href="https://www.atlassian.com/legal/privacy-policy">Privacy Policy</a>.</div> </div> <div class="updates-dropdown-section webhook" id="updates-dropdown-webhook" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-webhook-btn"> <div class="directions"> Get webhook notifications whenever GitHub <strong>creates</strong> an incident, <strong>updates</strong> an incident, <strong>resolves</strong> an incident or <strong>changes</strong> a component status. </div> <form id="subscribe-form-webhook" action="/subscriptions/webhook.json" accept-charset="UTF-8" data-remote="true" method="post"> <div class="control-group"> <div class="controls"> <label for="endpoint-webhooks">Webhook URL:</label> <input type="text" name="endpoint" id="endpoint-webhooks" data-js-hook="endpoint" class="full-width" aria-describedby="url-help-block" /> <p class="help-block" id="url-help-block">The URL we should send the webhooks to</p> </div> </div> <div class="control-group"> <div class="controls"> <label for="email-webhooks">Email address:</label> <input type="text" name="email" id="email-webhooks" data-js-hook="email" class="full-width" aria-describedby="email-help-block" /> <p class="help-block" id="email-help-block">We'll send you email if your endpoint fails</p> </div> </div> <input type="hidden" name="captcha_error" id="captcha_error" value="false" autocomplete="off" /> <input type="submit" value=Subscribe To Notifications class="flat-button full-width g-recaptcha" id="subscribe-btn-webhook" data-disabled-text="Subscribing..." data-sitekey=6LcQ-b0UAAAAAJjfdwO_-ozGC-CzWDj4Pm1kJ2Ah data-callback="submitNewWebhookSubscriber" data-error-callback="webhookSubscriberCaptchaError"> <div class="terms_and_privacy_information bottom small"><div class="privacy_policy_information small">By subscribing you agree to our <a target="_blank" rel="noopener" class="accessible-link" href="https://help.github.com/articles/github-privacy-statement/">Privacy Policy</a>.</div> This site is protected by reCAPTCHA and the Google <a target="_blank" rel="noopener" class="accessible-link" href="https://policies.google.com/privacy">Privacy Policy</a> and <a target="_blank" rel="noopener" class="accessible-link" data-js-hook="captcha-terms-of-service-link" href="https://policies.google.com/terms">Terms of Service</a> apply.</div> </form> </div> <div class="updates-dropdown-section twitter" id="updates-dropdown-twitter" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-twitter-btn"> <a href="https://twitter.com/githubstatus" class="twitter-follow-button" data-show-count="false" data-show-screen-name="true" data-width="59px">Follow @githubstatus</a> or&nbsp; <a href="https://twitter.com/githubstatus" target="_blank">view our profile</a>. <style> .twitter-follow-button { margin-bottom: -6px; } </style> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script> </div> <div class="updates-dropdown-section support" id="updates-dropdown-support" style="display:none" role="tabpanel" aria-labelledby="updates-dropdown-support-btn"> Visit our <a target="_blank" href="https://github.com/support">support site</a>. </div> <div class="updates-dropdown-section atom" id="updates-dropdown-atom" role="tabpanel" aria-labelledby="updates-dropdown-atom-btn"> Get the <a href="https://www.githubstatus.com/history.atom" target="_blank">Atom Feed</a> or <a href="https://www.githubstatus.com/history.rss" target="_blank">RSS Feed</a>. </div> </div> </div> </div> <script> $(function () { const phoneNumberInput = $('#phone-number'); const errorDiv = $('#sms-atl-error') if(errorDiv.length){ function checkSelectedCountry() { const selectedCountry = $('#phone-country').val(); const isOtpEnabled = $('#phone-number-country-code').attr('data-otp-enabled') === 'true'; const form = document.getElementById('subscribe-form-sms'); form.action = '/subscriptions/new-sms'; const isOtpFlow = document.getElementById('otp_verify_flow'); document.getElementById('otp-container').style.display = "none"; if(false && selectedCountry === 'sg') { // Replace 'SG' with the actual value representing Singapore in your select tag phoneNumberInput.prop('disabled', true); errorDiv.html(`Due to new Singapore government regulations, we're currently not supporting text subscriptions in Singapore.<a href="https://community.atlassian.com/t5/Statuspage-articles/Attention-SMS-notifications-will-be-disabled-on-August-1st-2023/ba-p/2424398" target="_blank"> Learn more.</a> <br> Select another method to subscribe.`); } else { phoneNumberInput.prop('readonly', false); errorDiv.html(''); if(false){ if(isOtpEnabled){ document.getElementById('subscribe-btn-sms').value = "Send OTP"; } else { isOtpFlow.value = false; document.getElementById('subscribe-btn-sms').value = "Subscribe via Text Message"; } } } } $('#phone-country').on('change', checkSelectedCountry); checkSelectedCountry(); } }); document.addEventListener('DOMContentLoaded', function() { const dropdown = document.querySelector('#phone-number-country-code .phone-country'); if (dropdown){ const wrapperDiv = document.getElementById('phone-number-country-code'); const selectedOption = dropdown.options[dropdown.selectedIndex]; const otpEnabled = selectedOption.getAttribute('data-otp-enabled'); wrapperDiv.setAttribute('data-otp-enabled', otpEnabled); dropdown.addEventListener('change', function() { const selectedOption = dropdown.options[dropdown.selectedIndex]; const otpEnabled = selectedOption.getAttribute('data-otp-enabled'); wrapperDiv.setAttribute('data-otp-enabled', otpEnabled); }); } }); var countdownTimer; var resendBtn = document.getElementById('resend'); var timer = document.getElementById('timer'); var form = document.getElementById('subscribe-form-sms'); var RESEND_TIMER = 30; $(function() { $('#subscribe-form-sms').on('ajax:success', function(e, data, status, xhr){ const form = this; const action = form.getAttribute('action'); if (data.type === 'success' && data.otp_flow === true) { document.getElementById('subscriber_code').value = data.subscriber_code document.getElementById('otp-container').style.display = "block"; $('#phone-number').prop('readonly', true); var display = document.getElementById('countdown'); disableResend(); startTimer(RESEND_TIMER, display) document.getElementById('subscribe-btn-sms').value = "Verify OTP and Subscribe"; document.getElementById('otp_verify_flow').value = true; form.action = '/subscriptions/verify-otp'; } else if (data.type === 'success' && action.includes('verify')){ document.getElementById('otp-container').style.display = "none"; $('#phone-number').val('').prop('readonly', false); $('#otp').val(''); document.getElementById('subscribe-btn-sms').value = "Send OTP"; document.getElementById('otp_verify_flow').value = false; form.action = '/subscriptions/new-sms'; SP.currentPage.updatesDropdown.hide(); } }); $("#btn-subcriber-change-number").on('click', () => { document.getElementById('otp-container').style.display = "none"; $('#phone-number').prop('readonly', false); document.getElementById('subscribe-btn-sms').value = "Send OTP"; form.action = '/subscriptions/new-sms'; return false }) $('#resend-otp-btn').on('click', function(e) { e.preventDefault(); let phoneNumber = $('#phone-number').val(); let countryCode = $('.phone-country').val(); $.ajax({ type: 'POST', url: "/subscriptions/new-sms", data: { phone_number: phoneNumber, phone_country: countryCode, type: 'resend' }, }).done(function(data) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); var display = document.getElementById('countdown'); disableResend(); timer.style.display = "none" if (data.type === 'success') { startTimer(RESEND_TIMER, display); } }) }); }) function startTimer(duration, display){ var timer = duration, seconds; clearInterval(countdownTimer); countdownTimer = setInterval(function () { seconds = parseInt(timer % 60, 10); display.textContent = seconds; if(--timer < 0){ enableResend(); clearInterval(countdownTimer); } }, 1000); disableResend(); } function enableResend(){ resendBtn.style.display = "block"; timer.style.display = "none" } function disableResend(){ resendBtn.style.display = "none"; timer.style.display = "block" } $(function() { $('#subscribe-form-email').on('submit', function() { var tokenField = document.getElementById('email-otp-token-field'); let page_code = "kctbh9vrtdwd" let key = keyForEmailOtpToken($('#email').val(), page_code); tokenField.value = localStorage.getItem(key); }); }); var emailOtpCountdownTimer; var emailOtpResendBtn = document.getElementById('resend-email-otp'); var emailOtpTimer = document.getElementById('email-otp-timer'); var emailOtpForm = document.getElementById('subscribe-form-email'); var EMAIL_OTP_RESEND_TIMER = 600; $(function() { $('#subscribe-form-email').on('ajax:success', function(e, data, status, xhr){ const form = this; const action = form.getAttribute('action'); if (data.type === 'success' && data.email_otp_verify_flow === true) { document.getElementById('email-otp-container').style.display = "block"; var display = document.getElementById('email-otp-countdown'); display.textContent = EMAIL_OTP_RESEND_TIMER; disableEmailOtpResend(); startEmailOtpTimer(EMAIL_OTP_RESEND_TIMER, display) document.getElementById('subscribe-btn-email').value = "Verify OTP and Subscribe"; document.getElementById('email_otp_verify_flow').value = true; form.action = '/subscriptions/verify-email-otp'; } else if (data.type === 'success' && action.includes('verify')){ let email = $('#email') let page_code = "kctbh9vrtdwd" let key = keyForEmailOtpToken(email.val(), page_code); localStorage.setItem(key, data.email_otp_auth_token); document.getElementById('email-otp-container').style.display = "none"; email.val('').prop('readonly', false); $('#email-otp').val(''); document.getElementById('subscribe-btn-email').value = "Send OTP"; document.getElementById('email_otp_verify_flow').value = false; form.action = '/subscriptions/new-email'; SP.currentPage.updatesDropdown.hide(); } }); $('#resend-email-otp-btn').on('click', function(e) { e.preventDefault(); let email = $('#email').val(); $.ajax({ type: 'POST', url: "/subscriptions/new-email", data: { email: email }, }).done(function(data) { var messageOptions = (data.type !== undefined && data.type !== null) ? { cssClass: data.type } : {}; HRB.utils.notify(data.text, messageOptions); if (data.type === 'success') { var display = document.getElementById('email-otp-countdown'); display.textContent = EMAIL_OTP_RESEND_TIMER; disableEmailOtpResend(); emailOtpTimer.style.display = "none" startEmailOtpTimer(EMAIL_OTP_RESEND_TIMER, display); } }) }); }) function startEmailOtpTimer(duration, display){ var timer = duration, seconds; clearInterval(emailOtpCountdownTimer); emailOtpCountdownTimer = setInterval(function () { seconds = parseInt(timer, 10); display.textContent = seconds; if(--timer < 0){ enableEmailOtpResend(); clearInterval(emailOtpCountdownTimer); } }, 1000); disableEmailOtpResend(); } function enableEmailOtpResend(){ emailOtpResendBtn.style.display = "block"; emailOtpTimer.style.display = "none" } function disableEmailOtpResend(){ emailOtpResendBtn.style.display = "none"; emailOtpTimer.style.display = "block" } function keyForEmailOtpToken(email, pageCode) { return email + '|' + pageCode+ '|SUBSCRIBE_VIA_EMAIL'; } </script> </div> <div class="container"> <div class="page-status status-none"> <h2 class="status font-large"> All Systems Operational </h2> <span class="last-updated-stamp font-small"></span> </div> <div class="text-section"> <h2 class="font-largest"> <a id="about-this-site" href="#about-this-site" class="no-link">About This Site</a> </h2> <p class="color-secondary font-regular"> For the status of GitHub Enterprise Cloud - EU, please visit: <a href="https://eu.githubstatus.com">eu.githubstatus.com</a> <br>For the status of GitHub Enterprise Cloud - Australia, please visit: <a href="https://au.githubstatus.com">au.githubstatus.com</a> </p> </div> <div class="components-section font-regular"> <div class="components-container one-column"> <div class="component-container border-color"> <div data-component-id="8l4ygp009s5s" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Git Operations </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="Performance of git clones, pulls, pushes, and associated operations" data-original-title="Performance of git clones, pulls, pushes, and associated operations" role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="4230lsnqdsld" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Webhooks </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="Real time HTTP callbacks of user-generated and system events" data-original-title="Real time HTTP callbacks of user-generated and system events" role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="0l2p9nhqnxpd" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Visit www.githubstatus.com for more information </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="brv1bkgrwx7q" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> API Requests </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="Requests for GitHub APIs" data-original-title="Requests for GitHub APIs" role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="kr09ddfgbfsf" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Issues </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="Requests for Issues on GitHub.com" data-original-title="Requests for Issues on GitHub.com" role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="hhtssxt0f5v2" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Pull Requests </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="Requests for Pull Requests on GitHub.com" data-original-title="Requests for Pull Requests on GitHub.com" role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="br0l2tvcx85d" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Actions </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="Workflows, Compute and Orchestration for GitHub Actions" data-original-title="Workflows, Compute and Orchestration for GitHub Actions" role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="st3j38cctv9l" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Packages </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="API requests and webhook delivery for GitHub Packages" data-original-title="API requests and webhook delivery for GitHub Packages" role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="vg70hn9s2tyj" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Pages </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="Frontend application and API servers for Pages builds" data-original-title="Frontend application and API servers for Pages builds" role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="h2ftsgbw7kmk" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Codespaces </span> <span class="tooltip-base tool" data-js-hook="tooltip" tabindex="0" aria-label="Orchestration and Compute for GitHub Codespaces" data-original-title="Orchestration and Compute for GitHub Codespaces" role="tooltip" >?</span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> <div class="component-container border-color"> <div data-component-id="pjmpxvq2cmr2" class="component-inner-container status-green " data-component-status="operational" data-js-hook=""> <span class="name"> Copilot </span> <span class="component-status " title="" > Operational </span> <span class="tool icon-indicator fa fa-check" title="Operational"></span> </div> </div> </div> <div class="component-statuses-legend font-small"> <div class="legend-item status-green"> <span class="icon-indicator fa fa-check"></span> Operational </div> <div class="legend-item status-yellow"> <span class="icon-indicator fa fa-minus-square"></span> Degraded Performance </div> <div class="legend-item status-orange"> <span class="icon-indicator fa fa-exclamation-triangle"></span> Partial Outage </div> <div class="breaker"></div> <div class="legend-item status-red"> <span class="icon-indicator fa fa-times"></span> Major Outage </div> <div class="legend-item status-blue"> <span class="icon-indicator fa fa-wrench"></span> Maintenance </div> </div> </div> <div class="incidents-list format-expanded"> <h2 class="font-largest no-link" id="past-incidents">Past Incidents</h2> <div class="status-day font-regular "> <div class="date border-color font-large">Mar <var data-var="date">20</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/kpkc9bwsd42f">Incident with Pages</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">This incident has been resolved.</span> <br> <small> Mar <var data-var='date'>20</var>, <var data-var='time'>20:54</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We have resolved the issue for Pages. If you're still experiencing issues with your GitHub Pages site, please rebuild.</span> <br> <small> Mar <var data-var='date'>20</var>, <var data-var='time'>20:53</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Customers may not be able to create or make changes to their GitHub Pages sites. Customers who rely on webhook events from Pages builds might also experience a downgraded experience.</span> <br> <small> Mar <var data-var='date'>20</var>, <var data-var='time'>20:38</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Webhooks is experiencing degraded performance. We are continuing to investigate.</span> <br> <small> Mar <var data-var='date'>20</var>, <var data-var='time'>20:33</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">We are investigating reports of degraded performance for Pages</span> <br> <small> Mar <var data-var='date'>20</var>, <var data-var='time'>20:04</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Mar <var data-var="date">19</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-maintenance font-large"> <a class="whitespace-pre-wrap" href="/incidents/tldgc85p3q2d">Scheduled Migrations Maintenance</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular completed"> <strong>Completed</strong> - <span class="whitespace-pre-wrap">The scheduled maintenance has been completed.</span> <br> <small> Mar <var data-var='date'>19</var>, <var data-var='time'>05:00</var> UTC </small> </div> <div class="update font-regular in progress"> <strong>In progress</strong> - <span class="whitespace-pre-wrap">Scheduled maintenance is currently in progress. We will provide updates as necessary.</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>21:00</var> UTC </small> </div> <div class="update font-regular scheduled"> <strong>Scheduled</strong> - <span class="whitespace-pre-wrap">Migrations will be undergoing maintenance starting at 21:00 UTC on Tuesday, March 18 2025 with an expected duration of up to eight hours.<br /><br />During this maintenance period, users will experience delays importing repositories into GitHub.<br /><br />Once the maintenance period is complete, all pending imports will automatically proceed.</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>19:28</var> UTC </small> </div> </div> </div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/lg4s05t6ttxb">Incident with Actions: Queue Run Failures</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">On March 18th, 2025, between 23:20 UTC and March 19th, 2025 00:15 UTC, the Actions service experienced degradation, leading to run start delays. During the incident, about 0.3% of all workflow runs queued during the time failed to start, about 0.67% of all workflow runs were delayed by an average of 10 minutes, and about 0.16% of all workflow runs ultimately ended with an infrastructure failure. This was due to a networking issue with an underlying service provider. At 00:15 UTC the service provider mitigated their issue, and service was restored immediately for Actions. We are working to improve our resilience to downtime in this service provider to reduce the time to mitigate in any future recurrences.</span> <br> <small> Mar <var data-var='date'>19</var>, <var data-var='time'>00:55</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Actions is operating normally.</span> <br> <small> Mar <var data-var='date'>19</var>, <var data-var='time'>00:55</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">The provider has reported full mitigation of the underlying issue, and Actions has been healthy since approximately 00:15 UTC.</span> <br> <small> Mar <var data-var='date'>19</var>, <var data-var='time'>00:55</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We are continuing to investigate issues with delayed or failed workflow runs with Actions. We are engaged with a third-party provider who is also investigating issues and has confirmed we are impacted.</span> <br> <small> Mar <var data-var='date'>19</var>, <var data-var='time'>00:22</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Some customers may be experiencing delays or failures when queueing workflow runs</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>23:45</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">We are investigating reports of degraded performance for Actions</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>23:45</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Mar <var data-var="date">18</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/fpkvkrdmh033">Disruption with some GitHub services</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">On March 18th, 2025, between 13:35 UTC and 17:45 UTC, some users of GitHub Copilot Chat in GitHub experienced intermittent failures when reading or writing messages in a thread, resulting in a degraded experience. The error rate peaked at 3% of requests to the service. This was due to an availability incident with a database provider. Around 16:15 UTC the upstream service provider mitigated their availability incident, and service was restored in the following hour.<br /><br />We are working to improve our failover strategy for this database to reduce the time to mitigate similar incidents in the future.</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>18:45</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We are seeing recovery and no new errors for the last 15mins.</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>18:28</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We are still investigating infrastructure issues and our provider has acknowledged the issues and is working on a mitigation. Customers might still see errors when creating messages, or new threads in Copilot Chat. Retries might be successful.</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>17:42</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We are still investigating infrastructure issues and collaborating with providers. Customers might see some errors when creating messages, or new threads in Copilot Chat. Retries might be successful.</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>16:42</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We are experiencing issues with our underlying data store which is causing a degraded experience for a small percentage of users using Copilot Chat in github.com</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>16:00</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">We are currently investigating this issue.</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>15:58</var> UTC </small> </div> </div> </div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/yz50lpc8d4xq">macos-15-arm64 hosted runner queue delays</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">On March 18, between 13:04 and 16:55 UTC, Actions workflows relying on hosted runners using the beta MacOS 15 image experienced increased queue time waiting for available runners. An image update was pushed the previous day that included a performance reduction. The slower performance caused longer average runtimes, exhausting our available Mac capacity for this image. This was mitigated by rolling back the image update. We have updated our capacity allocation to the beta and other Mac images and are improving monitoring in our canary environments to catch this potential issue before it impacts customers.</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>17:15</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We are seeing improvements in telemetry and are monitoring for full recovery.</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>16:56</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We've applied a mitigation to fix the issues with queuing Actions jobs on macos-15-arm64 Hosted runner. We are monitoring.</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>16:36</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">The team continues to investigate issues with some Actions macos-15-arm64 Hosted jobs being queued for up to 15 minutes. We will continue providing updates on the progress towards mitigation.</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>15:43</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">We are currently investigating this issue.</span> <br> <small> Mar <var data-var='date'>18</var>, <var data-var='time'>15:05</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Mar <var data-var="date">17</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/y8x4xw6j3q84">Incident with Issues</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">Between March 17, 2025, 18:05 UTC and March 18, 2025, 09:50 UTC, GitHub.com experienced intermittent failures in web and API requests. These issues affected a small percentage of users (mostly related to pull requests and issues), with a peak error rate of 0.165% across all requests.<br /><br />We identified a framework upgrade that caused kernel panics in our Kubernetes infrastructure as the root cause. We mitigated the incident by downgrading until we were able to disable a problematic feature. In response, we have investigated why the upgrade caused the unexpected issue, have taken steps to temporarily prevent it, and are working on longer term patch plans while improving our observability to ensure we can quickly react to similar classes of problems in the future.</span> <br> <small> Mar <var data-var='date'>17</var>, <var data-var='time'>23:02</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We saw a spike in error rate with issues related pages and API requests due to some problems with restarts in our kubernetes infrastructure that, at peak, caused 0.165% of requests to see timeouts or errors related to these API surfaces over a 15 minute period. At this time we see minimal impact and are continuing to investigate the cause of the issue.</span> <br> <small> Mar <var data-var='date'>17</var>, <var data-var='time'>23:01</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We are investigating reports of issues with service(s): Issues We're continuing to investigate. Users may see intermittent HTTP 500 responses when using Issues. Retrying the request may succeed.</span> <br> <small> Mar <var data-var='date'>17</var>, <var data-var='time'>21:25</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We are investigating reports of issues with service(s): Issues We're continuing to investigate. We will continue to keep users updated on progress towards mitigation.</span> <br> <small> Mar <var data-var='date'>17</var>, <var data-var='time'>20:51</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We are investigating reports of issues with service(s): Issues. We will continue to keep users updated on progress towards mitigation.</span> <br> <small> Mar <var data-var='date'>17</var>, <var data-var='time'>19:19</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">We are investigating reports of degraded performance for Issues</span> <br> <small> Mar <var data-var='date'>17</var>, <var data-var='time'>18:39</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date">16</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date">15</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date">14</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date">13</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Mar <var data-var="date">12</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/nhcpszxtqxtm">Some Actions users are seeing their workflow jobs failing to start</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">On March 12, 2025, between 13:28 UTC and 14:07 UTC, the Actions service experienced degradation leading to run start delays. During the incident, about 0.6% of workflow runs failed to start, 0.8% of workflow runs were delayed by an average of one hour, and 0.1% of runs ultimately ended with an infrastructure failure. The issue stemmed from connectivity problems between the Actions services and certain nodes within one of our Redis clusters. The service began recovering once connectivity to the Redis cluster was restored at 13:41 UTC. These connectivity issues are typically not a concern because we can fail over to healthier replicas. However, due to an unrelated issue, there was a replication delay at the time of the incident, and failing over would have caused a greater impact on our customers. We are working on improving our resiliency and automation processes for this infrastructure to improve the speed of diagnosing and resolving similar issues in the future.</span> <br> <small> Mar <var data-var='date'>12</var>, <var data-var='time'>14:07</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We have applied a mitigation for the affected Redis node, and are starting to see recovery with Action workflow executions.</span> <br> <small> Mar <var data-var='date'>12</var>, <var data-var='time'>13:55</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">We are investigating reports of degraded performance for Actions</span> <br> <small> Mar <var data-var='date'>12</var>, <var data-var='time'>13:28</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date">11</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date">10</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date"> 9</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Mar <var data-var="date"> 8</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/m7vl0x8k3j9c">Incident with Actions and Pages</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">On March 8, 2025, between 17:16 UTC and 18:02 UTC, GitHub Actions and Pages services experienced degraded performance leading to delays in workflow runs and Pages deployments. During this time, 34% of Actions workflow runs experienced delays, and a small percentage of runs using GitHub-hosted runners failed to start. Additionally, Pages deployments for sites without a custom Actions workflow (93% of them) did not run, preventing new changes from being deployed. <br /><br />An unexpected data shape led to crashes in some of our pods. We mitigated the incident by excluding the affected pods and correcting the data that led to the crashes. We鈥檝e fixed the source of the unexpected data shape and have improved the overall resilience of our service against such occurrences.</span> <br> <small> Mar <var data-var='date'> 8</var>, <var data-var='time'>18:11</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Actions is operating normally.</span> <br> <small> Mar <var data-var='date'> 8</var>, <var data-var='time'>18:11</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Actions run start delays are mitigated. Actions runs that failed will need to be re-run. Impacted Pages updates will need to re-run their deployments.</span> <br> <small> Mar <var data-var='date'> 8</var>, <var data-var='time'>18:10</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Pages is operating normally.</span> <br> <small> Mar <var data-var='date'> 8</var>, <var data-var='time'>18:00</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We are investigating impact to Actions run start delays, about 40% of runs are not starting within five minutes and Pages deployments are impacted for GitHub hosted runners.</span> <br> <small> Mar <var data-var='date'> 8</var>, <var data-var='time'>17:50</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">We are investigating reports of degraded performance for Actions and Pages</span> <br> <small> Mar <var data-var='date'> 8</var>, <var data-var='time'>17:45</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular "> <div class="date border-color font-large">Mar <var data-var="date"> 7</var>, <var data-var="year">2025</var></div> <div class="incident-container"> <div class="incident-title impact-minor font-large"> <a class="whitespace-pre-wrap" href="/incidents/lb0d8kp99f2v">Disruption with some GitHub services</a> </div> <div class="updates-container"> <!-- postmortem --> <!-- incident updates --> <div class="update font-regular resolved"> <strong>Resolved</strong> - <span class="whitespace-pre-wrap">On March 7, 2025, from 09:30 UTC to 11:07 UTC, we experienced a networking event that disrupted connectivity to our search infrastructure, impacting about 25% of search queries and indexing attempts. Searches for PRs, Issues, Actions workflow runs, Packages, Releases, and other products were impacted, resulting in failed requests or stale data. The connectivity issue self-resolved after 90 minutes. The backlog of indexing jobs was fully processed and saw recovery soon after, and queries to all indexes also saw an immediate return to normal throughput.<br /><br />We are working with our cloud provider to identify the root cause and are researching additional layers of redundancy to reduce customer impact in the future for issues like this one. We are also exploring mitigation strategies for faster resolution.</span> <br> <small> Mar <var data-var='date'> 7</var>, <var data-var='time'>11:24</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">We continue investigating degraded experience with searching for issues, pull, requests and actions workflow runs.</span> <br> <small> Mar <var data-var='date'> 7</var>, <var data-var='time'>10:54</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Actions is experiencing degraded performance. We are continuing to investigate.</span> <br> <small> Mar <var data-var='date'> 7</var>, <var data-var='time'>10:27</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Searches for issues and pull-requests may be slower than normal and timeout for some users</span> <br> <small> Mar <var data-var='date'> 7</var>, <var data-var='time'>10:12</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Pull Requests is experiencing degraded performance. We are continuing to investigate.</span> <br> <small> Mar <var data-var='date'> 7</var>, <var data-var='time'>10:06</var> UTC </small> </div> <div class="update font-regular update"> <strong>Update</strong> - <span class="whitespace-pre-wrap">Issues is experiencing degraded performance. We are continuing to investigate.</span> <br> <small> Mar <var data-var='date'> 7</var>, <var data-var='time'>10:05</var> UTC </small> </div> <div class="update font-regular investigating"> <strong>Investigating</strong> - <span class="whitespace-pre-wrap">We are currently investigating this issue.</span> <br> <small> Mar <var data-var='date'> 7</var>, <var data-var='time'>10:03</var> UTC </small> </div> </div> </div> </div> <div class="status-day font-regular no-incidents"> <div class="date border-color font-large">Mar <var data-var="date"> 6</var>, <var data-var="year">2025</var></div> <p class="color-secondary">No incidents reported.</p> </div> </div> <div class="page-footer border-color font-small"> <a href="/history" class="history-footer-link"><span style="font-family:arial">&larr;</span> Incident History</a> <span class="color-secondary powered-by"><a class="color-secondary" target="_blank" rel="noopener noreferrer nofollow" href="https://www.atlassian.com/software/statuspage?utm_campaign=www.githubstatus.com&amp;utm_content=SP-notifications&amp;utm_medium=powered-by&amp;utm_source=inapp">Powered by Atlassian Statuspage</a></span> </div> </div> <div class="custom-footer-container"> <div class="footer mt-6 border-top" role="contentinfo"> <img src="https://user-images.githubusercontent.com/19292210/60553864-044dd200-9cea-11e9-996a-a7a316ec3a35.png" class="illo-mobile-footer" alt="GitHub footer"> <div class="container-lg p-responsive"> <div class="d-flex flex-wrap py-5 mb-5"> <section class="col-12 col-lg-4 mb-5"> <a href="https://github.com/" data-ga-click="Footer, go to GitHub, text:GitHub" class="text-gray-dark" aria-label="GitHub text logo"> <svg height="32" class="octicon octicon-logo-github" viewBox="0 0 45 16" version="1.1" width="90" aria-hidden="true" role="img"> <title>GitHub text logo</title> <path fill-rule="evenodd" d="M18.53 12.03h-.02c.009 0 .015.01.024.011h.006l-.01-.01zm.004.011c-.093.001-.327.05-.574.05-.78 0-1.05-.36-1.05-.83V8.13h1.59c.09 0 .16-.08.16-.19v-1.7c0-.09-.08-.17-.16-.17h-1.59V3.96c0-.08-.05-.13-.14-.13h-2.16c-.09 0-.14.05-.14.13v2.17s-1.09.27-1.16.28c-.08.02-.13.09-.13.17v1.36c0 .11.08.19.17.19h1.11v3.28c0 2.44 1.7 2.69 2.86 2.69.53 0 1.17-.17 1.27-.22.06-.02.09-.09.09-.16v-1.5a.177.177 0 0 0-.146-.18zm23.696-2.2c0-1.81-.73-2.05-1.5-1.97-.6.04-1.08.34-1.08.34v3.52s.49.34 1.22.36c1.03.03 1.36-.34 1.36-2.25zm2.43-.16c0 3.43-1.11 4.41-3.05 4.41-1.64 0-2.52-.83-2.52-.83s-.04.46-.09.52c-.03.06-.08.08-.14.08h-1.48c-.1 0-.19-.08-.19-.17l.02-11.11c0-.09.08-.17.17-.17h2.13c.09 0 .17.08.17.17v3.77s.82-.53 2.02-.53l-.01-.02c1.2 0 2.97.45 2.97 3.88zm-8.72-3.61h-2.1c-.11 0-.17.08-.17.19v5.44s-.55.39-1.3.39-.97-.34-.97-1.09V6.25c0-.09-.08-.17-.17-.17h-2.14c-.09 0-.17.08-.17.17v5.11c0 2.2 1.23 2.75 2.92 2.75 1.39 0 2.52-.77 2.52-.77s.05.39.08.45c.02.05.09.09.16.09h1.34c.11 0 .17-.08.17-.17l.02-7.47c0-.09-.08-.17-.19-.17zm-23.7-.01h-2.13c-.09 0-.17.09-.17.2v7.34c0 .2.13.27.3.27h1.92c.2 0 .25-.09.25-.27V6.23c0-.09-.08-.17-.17-.17zm-1.05-3.38c-.77 0-1.38.61-1.38 1.38 0 .77.61 1.38 1.38 1.38.75 0 1.36-.61 1.36-1.38 0-.77-.61-1.38-1.36-1.38zm16.49-.25h-2.11c-.09 0-.17.08-.17.17v4.09h-3.31V2.6c0-.09-.08-.17-.17-.17h-2.13c-.09 0-.17.08-.17.17v11.11c0 .09.09.17.17.17h2.13c.09 0 .17-.08.17-.17V8.96h3.31l-.02 4.75c0 .09.08.17.17.17h2.13c.09 0 .17-.08.17-.17V2.6c0-.09-.08-.17-.17-.17zM8.81 7.35v5.74c0 .04-.01.11-.06.13 0 0-1.25.89-3.31.89-2.49 0-5.44-.78-5.44-5.92S2.58 1.99 5.1 2c2.18 0 3.06.49 3.2.58.04.05.06.09.06.14L7.94 4.5c0 .09-.09.2-.2.17-.36-.11-.9-.33-2.17-.33-1.47 0-3.05.42-3.05 3.73s1.5 3.7 2.58 3.7c.92 0 1.25-.11 1.25-.11v-2.3H4.88c-.11 0-.19-.08-.19-.17V7.35c0-.09.08-.17.19-.17h3.74c.11 0 .19.08.19.17z"> </path> </svg> </a> <h3 class="h5 mt-4 mb-0" id="subscribe-to-newsletter">Subscribe to our developer newsletter</h3> <p class="f5 color-fg-muted mb-3">Get tips, technical guides, and best practices. Twice a month. Right in your inbox.</p> <a href="https://resources.github.com/newsletter/" class="btn btn-muted mb-4">Subscribe</a> </section> <nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-lg-0 pl-lg-4" aria-labelledby="footer-title-product"> <h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-product">Product</h3> <ul class="list-style-none color-fg-muted f5"> <li class="lh-condensed mb-3"><a href="https://github.com/features" data-ga-click="Footer, go to features, text:features" class="link-gray">Features</a></li> <li class="lh-condensed mb-3"><a href="https://github.com/enterprise" data-ga-click="Footer, go to enterprise, text:enterprise" class="link-gray">Enterprise</a></li> <li class="lh-condensed mb-3"><a href="https://github.com/features/copilot" ddata-ga-click="Footer, go to copilot, text:copilot" class="link-gray">Copilot</a></li> <li class="lh-condensed mb-3"><a href="https://github.com/security" data-ga-click="Footer, go to security, text:security" class="link-gray">Security</a></li> <li class="lh-condensed mb-3"><a href="https://github.com/pricing" data-ga-click="Footer, go to pricing, text:pricing" class="link-gray">Pricing</a></li> <li class="lh-condensed mb-3"><a href="https://github.com/team" data-ga-click="Footer, go to team, text:team" class="link-gray">Team</a></li> <li class="lh-condensed mb-3"><a href="https://resources.github.com" data-ga-click="Footer, go to resources, text:resources" class="link-gray">Resources</a></li> <li class="lh-condensed mb-3"><a href="https://github.com/github/roadmap" data-ga-click="Footer, go to roadmap, text:roadmap" class="link-gray">Roadmap</a></li> <li class="lh-condensed mb-3"><a href="https://resources.github.com/devops/tools/compare" data-ga-click="Footer, go to compare, text:compare" class="link-gray">Compare GitHub</a></li> </ul> </nav> <nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4" aria-labelledby="footer-title-platform"> <h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-platform">Platform</h3> <ul class="list-style-none f5"> <li class="lh-condensed mb-3"><a href="https://docs.github.com/get-started/exploring-integrations/about-building-integrations" data-ga-click="Footer, go to api, text:api" class="link-gray">Developer API</a></li> <li class="lh-condensed mb-3"><a href="https://partner.github.com" data-ga-click="Footer, go to partners, text:partners" class="link-gray">Partners</a></li> <li class="lh-condensed mb-3"><a href="https://github.com/edu" data-ga-click="Footer, go to education, text:education" class="link-gray">Education</a></li> <li class="lh-condensed mb-3"><a href="https://cli.github.com" data-ga-click="Footer, go to github cli, text:cli" class="link-gray">GitHub CLI</a></li> <li class="lh-condensed mb-3"><a href="https://desktop.github.com" data-ga-click="Footer, go to github desktop, text:desktop" class="link-gray">GitHub Desktop</a></li> <li class="lh-condensed mb-3"><a href="https://github.com/mobile" data-ga-click="Footer, go to github mobile, text:mobile" class="link-gray">GitHub Mobile</a></li> </ul> </nav> <nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4" aria-labelledby="footer-title-support"> <h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-support">Support</h3> <ul class="list-style-none f5"> <li class="lh-condensed mb-3"><a href="https://docs.github.com" data-ga-click="Footer, go to docs, text:docs" class="link-gray">Docs</a></li> <li class="lh-condensed mb-3"><a href="https://github.community" data-ga-click="Footer, go to community, text:community" class="link-gray">Community Forum</a></li> <li class="lh-condensed mb-3"><a href="https://services.github.com" data-ga-click="Footer, go to services, text:services" class="link-gray">Professional Services</a></li> <li class="lh-condensed mb-3"><a href="https://skills.github.com" data-ga-click="Footer, go to skills, text:skills" class="link-gray">Skills</a></li> <li class="lh-condensed mb-3"><a href="https://support.github.com?tags=dotcom-footer" data-ga-click="Footer, go to support, text:support" class="link-gray">Contact GitHub</a></li> </ul> </nav> <nav class="col-6 col-sm-3 col-lg-2 mb-6 mb-md-2 pr-3 pr-md-0 pl-md-4" aria-labelledby="footer-title-company"> <h3 class="h5 mb-3 text-mono color-fg-muted text-normal" id="footer-title-company">Company</h3> <ul class="list-style-none f5"> <li class="lh-condensed mb-3"><a href="https://github.com/about/" data-ga-click="Footer, go to support, text:support" class="link-gray">About</a></li> <li class="lh-condensed mb-3"><a href="https://github.com/customer-stories?type=enterprise" data-ga-click="Footer, go to customer-stories, text:customer-stories" class="link-gray">Customer stories</a></li> <li class="lh-condensed mb-3"><a href="https://github.blog/" data-ga-click="Footer, go to blog, text:blog" class="link-gray">Blog</a></li> <li class="lh-condensed mb-3"><a href="https://github.com/readme" data-ga-click="Footer, go to readme, text:readme" class="link-gray">The ReadME Project</a></li> <li class="lh-condensed mb-3"><a href="https://github.careers/" data-ga-click="Footer, go to careers, text:careers" class="link-gray">Careers</a></li> <li class="lh-condensed mb-3"><a href="https://github.com/newsroom" data-ga-click="Footer, go to newsroom, text:newsroom" class="link-gray">Newsroom</a></li> <li class="lh-condensed mb-3"><a href="https://github.com/about/diversity" data-ga-click="Footer, go to diversity, text:diversity" class="link-gray">Inclusion</a></li> <li class="lh-condensed mb-3"><a href="https://socialimpact.github.com/" data-ga-click="Footer, go to socialimpact, text:socialimpact" class="link-gray">Social Impact</a></li> <li class="lh-condensed mb-3"><a href="https://shop.github.com/" data-ga-click="Footer, go to shop, text:shop" class="link-gray">Shop</a></li> </ul> </nav> </div> </div> <div class="color-bg-subtle"> <div class="container-lg p-responsive f6 py-4 d-md-flex flex-justify-between flex-items-center"> <nav aria-label="Legal and Resource Links"> <ul class="list-style-none d-flex flex-wrap text-gray"> <li class="mr-3">&copy; <script>document.write( new Date().getFullYear() );</script> GitHub, Inc.</li> <li class="mr-3"><a href="https://docs.github.com/site-policy/github-terms/github-terms-of-service/" data-ga-click="Footer, go to terms, text:terms" class="link-gray">Terms</a></li> <li class="mr-3"><a href="https://help.github.com/articles/github-privacy-statement/" data-ga-click="Footer, go to privacy, text:privacy" class="link-gray">Privacy</a> (<a href="https://github.com/github/site-policy/pull/582" class="link-gray">Updated <time datetime="2022-08">08/2022</time></a>)</li> </ul> </nav> <nav aria-label="GitHub's Social Media Links" class="mt-3 mt-md-0"> <ul class="list-style-none d-flex flex-wrap"> <li class="mr-3"><a href="https://x.com/github" data-ga-click="Footer, go to Twitter, text:twitter" aria-label="GitHub X" style="color: #959da5;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img"> <title>GitHub X</title> <path fill="currentColor" d="M14.28 10.38L23.2 0h-2.1L13.8 9.02L7.14 0H0l10.13 14.7L0 25.5h2.1l7.64-9.38l6.9 9.38H23.2L12.72 10.38zM3.06 1.62h2.76L20.94 23.9h-2.76L3.06 1.62z"/> </svg> </a></li> <li class="mr-3"><a href="https://www.facebook.com/GitHub" data-ga-click="Footer, go to Facebook, text:facebook" aria-label="GitHub Facebook" style="color: #959da5;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img"> <title>GitHub Facebook</title> <path fill="currentColor" d="M24 12.073c0-6.627-5.373-12-12-12s-12 5.373-12 12c0 5.99 4.388 10.954 10.125 11.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007 1.792-4.669 4.533-4.669 1.312 0 2.686.235 2.686.235v2.953H15.83c-1.491 0-1.956.925-1.956 1.874v2.25h3.328l-.532 3.47h-2.796v8.385C19.612 23.027 24 18.062 24 12.073z"/> </svg> </a></li> <li class="mr-3"><a href="https://www.linkedin.com/company/github" data-ga-click="Footer, go to Linkedin, text:linkedin" aria-label="GitHub LinkedIn" style="color: #959da5;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img"> <title>GitHub LinkedIn</title> <path fill="currentColor" d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/> </svg> </a></li> <li class="mr-3"><a href="https://www.youtube.com/github" data-ga-click="Footer, go to YouTube, text:youtube" aria-label="GitHub YouTube" style="color: #959da5;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img"> <title>GitHub YouTube</title> <path fill="currentColor" d="M23.498 6.186a3.016 3.016 0 0 0-2.122-2.136C19.505 3.545 12 3.545 12 3.545s-7.505 0-9.377.505A3.017 3.017 0 0 0 .502 6.186C0 8.07 0 12 0 12s0 3.93.502 5.814a3.016 3.016 0 0 0 2.122 2.136c1.871.505 9.376.505 9.376.505s7.505 0 9.377-.505a3.015 3.015 0 0 0 2.122-2.136C24 15.93 24 12 24 12s0-3.93-.502-5.814zM9.545 15.568V8.432L15.818 12l-6.273 3.568z"/> </svg> </a></li> <li class="mr-3"><a href="https://www.twitch.tv/github" data-ga-click="Footer, go to Twitch, text:twitch" aria-label="Twitch" style="color: #959da5;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img"> <title>Twitch</title> <path fill="currentColor" d="M11.571 4.714h1.715v5.143H11.57zm4.715 0H18v5.143h-1.714zM6 0L1.714 4.286v15.428h5.143V24l4.286-4.286h3.428L22.286 12V0zm14.571 11.143l-3.428 3.428h-3.429l-3 3v-3H6.857V1.714h13.714z"/> </svg> </a></li> <li class="mr-3"><a href="https://www.tiktok.com/@github" data-ga-click="Footer, go to TikTok, text:tiktok" aria-label="TikTok" style="color: #959da5;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img"> <title>TikTok</title> <path fill="currentColor" d="M12.525.02c1.31-.02 2.61-.01 3.91-.02.08 1.53.63 3.09 1.75 4.17 1.12 1.11 2.7 1.62 4.24 1.79v4.03c-1.44-.05-2.89-.35-4.2-.97-.57-.26-1.1-.59-1.62-.93-.01 2.92.01 5.84-.02 8.75-.08 1.4-.54 2.79-1.35 3.94-1.31 1.92-3.58 3.17-5.91 3.21-1.43.08-2.86-.31-4.08-1.03-2.02-1.19-3.44-3.37-3.65-5.71-.02-.5-.03-1-.01-1.49.18-1.9 1.12-3.72 2.58-4.96 1.66-1.44 3.98-2.13 6.15-1.72.02 1.48-.04 2.96-.04 4.44-.99-.32-2.15-.23-3.02.37-.63.41-1.11 1.04-1.36 1.75-.21.51-.15 1.07-.14 1.61.24 1.64 1.82 3.02 3.5 2.87 1.12-.01 2.19-.66 2.77-1.61.19-.33.4-.67.41-1.06.1-1.79.06-3.57.07-5.36.01-4.03-.01-8.05.02-12.07z"/> </svg> </a></li> <li class="mr-3"><a href="https://github.com/github" data-ga-click="Footer, go to github's org, text:github" aria-label="GitHub.com" style="color: #959da5;"> <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" class="d-block" height="20" width="20" role="img"> <title>GitHub.com</title> <path fill="currentColor" d="M12 .297c-6.63 0-12 5.373-12 12 0 5.303 3.438 9.8 8.205 11.385.6.113.82-.258.82-.577 0-.285-.01-1.04-.015-2.04-3.338.724-4.042-1.61-4.042-1.61C4.422 18.07 3.633 17.7 3.633 17.7c-1.087-.744.084-.729.084-.729 1.205.084 1.838 1.236 1.838 1.236 1.07 1.835 2.809 1.305 3.495.998.108-.776.417-1.305.76-1.605-2.665-.3-5.466-1.332-5.466-5.93 0-1.31.465-2.38 1.235-3.22-.135-.303-.54-1.523.105-3.176 0 0 1.005-.322 3.3 1.23.96-.267 1.98-.399 3-.405 1.02.006 2.04.138 3 .405 2.28-1.552 3.285-1.23 3.285-1.23.645 1.653.24 2.873.12 3.176.765.84 1.23 1.91 1.23 3.22 0 4.61-2.805 5.625-5.475 5.92.42.36.81 1.096.81 2.22 0 1.606-.015 2.896-.015 3.286 0 .315.21.69.825.57C20.565 22.092 24 17.592 24 12.297c0-6.627-5.373-12-12-12"/> </svg> </a></li> </ul> </nav> </div> </div> </div> <script> $('.components-container').toggleClass('one-column').toggleClass('two-columns') $(document).ready(function () { if ($('body').hasClass('status-none')) { $('link[rel="shortcut icon"]').attr("href", "https://github.githubassets.com/favicons/favicon-success.png") } else { $('link[rel="shortcut icon"]').attr("href", "https://github.githubassets.com/favicons/favicon-pending.png") } // Move "about this page" text section after the Incident History link $('.text-section').insertAfter('.history-footer-link'); $('span.name:contains("Visit www.githubstatus.com for more information")').parents('div.component-container').hide() $('div.status-green span.component-status').html("") $('div.status-yellow span.component-status').html("") $('div.status-orange span.component-status').html("") $('div.status-red span.component-status').html("") $('.outage-field .label .major_outage').parent().html("") var otherParent = $('span.name:contains("Other")').parent() if (otherParent.hasClass('status-green')) { otherParent.parent().hide() } $('.page-status.status-major span.status, .page-status.status-minor span.status').html('Some services are degraded') $('.outage-field .label .partial_outage').parent().html("Degradation") $('.incidents-list').remove() $('.component-statuses-legend').remove() $('div.status-green').append("<span class='status-msg'>Normal</span>") $('div.status-yellow').append("<span class='status-msg'>Degraded</span>") $('div.status-orange').append("<span class='status-msg'>Degraded</span>") $('div.status-red').append("<span class='status-msg'>Incident</span>") $('div.status-blue').append("<span class='status-msg'>Maintenance</span>") }); </script> </div> </div> <script src="https://dka575ofm4ao0.cloudfront.net/assets/status_manifest-6a7ae3a8e2e1b1e1d9466495faa0851c3f5fff938743f6501c900aa2a8792e8c.js"></script> <div id="cpt-notification-container"></div> <!-- all of the content_for stuff --> <script src="https://dka575ofm4ao0.cloudfront.net/assets/register_subscription_form-589b657fec607087fc5c740c568270907310bc4f6aaa20256e70f01b103025ca.js"></script> <script type="text/javascript"> $(function() { SP.currentPage.registerSubscriptionForm('email'); SP.currentPage.registerSubscriptionForm('sms'); SP.currentPage.registerSubscriptionForm('webhook'); }); </script> <script src="https://dka575ofm4ao0.cloudfront.net/assets/status_common-c1b99d73ee7ab0fea796bd170723c1daac1381095a7dd7501a38ce6f333d86b3.js"></script> <script> SP.pollForChanges('/api/v2/status.json'); </script> <script> $(function() { $('.tool').tooltipster({ animationDuration: 100, contentAsHTML: true, delay: 100, theme: 'tooltipster-borderless', functionInit: function (instance, helper) { var $origin = $(helper.origin), dataOptions = $origin.attr('data-tooltip-config'); if (dataOptions){ dataOptions = JSON.parse(dataOptions); $.each(dataOptions, function(name, option){ instance.option(name, option); }); } } }); // clicks on first tab in subscribe popout since we won't know which is first // upon construction in the ruby code $('.updates-dropdown-nav > a').eq(0).click(); // twitter follow button needs some margin $('.twitter-follow-button').css('margin-right', '6px'); }); $(function() { // open/close component groups HRB.utils.djshook('component-group-opener').on('click', function() { var groupParentIndicator = $(this).find('.group-parent-indicator'); groupParentIndicator.toggleClass('fa-plus-square-o').toggleClass('fa-minus-square-o').end().parent().toggleClass('open'); toggleGroup(groupParentIndicator) }); }); $(function() { HRB.utils.djshook('component-group-opener').on('keydown', function(event) { if (event.key !== "Enter" && event.key !== " ") { return; } event.preventDefault() var groupParentIndicator = $(this).find('.group-parent-indicator'); groupParentIndicator.toggleClass('fa-plus-square-o').toggleClass('fa-minus-square-o').end().parent().toggleClass('open'); toggleGroup(groupParentIndicator) }); }); function toggleGroup(groupParentIndicator) { var isOpen = groupParentIndicator.attr('aria-expanded') if (isOpen == 'false') { groupParentIndicator.attr('aria-expanded', 'true'); } else { groupParentIndicator.attr('aria-expanded', 'false'); } } $(function() { $(document).on('ajax:complete', '.modal.in', function(e) { // Close the active modal. $('.modal.in').modal('hide'); }); }); </script> <script> /** INITIALIZATION **/ var recaptchaIds = {} // Unfortunately there's no unique selectors on the parent divs that recaptcha adds. The first unique selector // is the iframe rendered 2 levels deep. So this waits until the iframes are added to the page, then finds // the parent div and sets the z index so that it'll render above our modals & dropdowns from the start. function setZIndex(captchaCount, startTime) { // bail after 10s just in case so we don't do this forever if something whaky happens if (new Date() - startTime > 10000) { return; } var iframes = document.querySelectorAll('iframe[title="recaptcha challenge"]'); if (iframes.length != captchaCount) { setTimeout(function() { setZIndex(captchaCount, startTime); }, 500); } for (var i = 0; i < iframes.length; i++) { // incident subscribe modal is 1050, so this has to be above that iframes[i].parentElement.parentElement.style.zIndex = "1100"; } } function updateCaptchaIframeTitle(captchaCount, startTime, updates=0) { if (new Date() - startTime > 10000 || captchaCount === updates) { return; } var iframesWithTitle = document.querySelectorAll('iframe[title="recaptcha challenge expires in two minutes"]'); if (iframesWithTitle.length != captchaCount) { setTimeout(function() { updateCaptchaIframeTitle(captchaCount, startTime, iframesWithTitle.length + updates); }, 500); } for (var i = 0; i < iframesWithTitle.length; i++) { iframesWithTitle[i].title = "recaptcha"; } } function addIncidentCaptcha() { var incidentCaptcha = document.createElement('div'); incidentCaptcha.setAttribute('id', 'subscribe-incident-recaptcha'); incidentCaptcha.setAttribute('class', 'g-recaptcha'); incidentCaptcha.setAttribute('data-sitekey', '6LcZ-b0UAAAAAENi956aWzynTT2ZJ80dGU3F80Op'); incidentCaptcha.setAttribute('data-callback', 'submitIncidentSubscriberSuccess'); incidentCaptcha.setAttribute('data-error-callback', 'submitIncidentSubscriberError'); incidentCaptcha.setAttribute('data-size', 'invisible'); document.body.appendChild(incidentCaptcha); var incidentCode = document.createElement('input'); incidentCode.setAttribute('type', 'hidden'); incidentCode.setAttribute('id', 'submit_incident_code'); document.body.appendChild(incidentCode); } var onloadCallback = function() { // if there is an incident, then add incident captcha element if (document.getElementsByClassName('modal-open-incident-subscribe').length > 0) { addIncidentCaptcha(); } var captchas = document.getElementsByClassName("g-recaptcha"); for(var i = 0; i < captchas.length; i++) { var elId = captchas[i].id; recaptchaIds[elId] = grecaptcha.enterprise.render(elId); } setZIndex(captchas.length, new Date()); updateCaptchaIframeTitle(captchas.length, new Date()); } /** SUBSCRIBE DROPDOWN */ // callbacks for captcha success function submitNewSubscriber(type, error) { if (error) document.querySelector('#subscribe-form-' + type + ' #captcha_error').value = 'true'; document.getElementById('subscribe-form-' + type).dispatchEvent(new Event('submit', {bubbles: true, cancelable: true})); grecaptcha.enterprise.reset(recaptchaIds['subscribe-btn-' + type]); } function submitNewEmailSubscriber(token) { submitNewSubscriber('email'); } function submitNewSmsSubscriber(token) { submitNewSubscriber('sms'); } function submitNewWebhookSubscriber(token) { submitNewSubscriber('webhook'); } function submitIncidentSubscriber(token, error) { var incidentCode = document.getElementById('submit_incident_code').value; var incidentForm = document.getElementById('subscribe-form-' + incidentCode); incidentForm.querySelector('input[name="captcha_error"]').value = error; incidentForm.querySelector('input[name="g-recaptcha-response"]').value = token; incidentForm.dispatchEvent(new Event('submit', {bubbles: true, cancelable: true})); grecaptcha.enterprise.reset(recaptchaIds['subscribe-incident-recaptcha']); } function submitIncidentSubscriberSuccess(token) { submitIncidentSubscriber(token, 'false'); } // callbacks if we get captcha network errors function emailSubscriberCaptchaError(token) { submitNewSubscriber('email', true); } function smsSubscriberCaptchaError(token) { submitNewSubscriber('sms', true); } function webhookSubscriberCaptchaError(token) { submitNewSubscriber('webhook', true); } function submitIncidentSubscriberError(token) { submitIncidentSubscriber(token, 'true'); } // tracking clicks ['email', 'sms', 'webhook'].forEach(function(type) { var el = document.getElementById('subscribe-btn-' + type); el && el.addEventListener("click", function() { $.ajax({ type: "POST", url: "/subscriptions/track_attempt", data: { type: type } }) }) }) // form submission success callbacks $('#subscribe-form-email').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success') { SP.currentPage.updatesDropdown.hide(); document.getElementById('email').value = ''; } }); $('#subscribe-form-sms').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success' && data.otp_flow !== true) { SP.currentPage.updatesDropdown.hide(); document.getElementById('phone-number').value = ''; } }); $('#subscribe-form-webhook').on('ajax:success', function(e, data, status, xhr){ if (data.type === 'success') { SP.currentPage.updatesDropdown.hide(); document.getElementById('endpoint-webhooks').value = ''; document.getElementById('email-webhooks').value = ''; } }); $('a.subscribe').on('click', function() { document.body.style.overflow = "hidden"; document.body.style.height = "100vh"; }); $('div.modal-open-incident-subscribe').on('hidden', function(){ document.body.style.overflow = ""; document.body.style.height = ""; }); function submitCaptchaIncidentSubscribe(event) { var incidentCode = event.target.id.split('-')[2]; event.preventDefault(); $.ajax({ type: "POST", url: "/subscriptions/track_attempt", data: { type: 'incident' } }) document.getElementById('submit_incident_code').value = incidentCode; grecaptcha.enterprise.execute(recaptchaIds['subscribe-incident-recaptcha']); } </script> <script src='https://www.recaptcha.net/recaptcha/enterprise.js?onload=onloadCallback&render=explicit' async defer></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/common-b45a59df4cdf9120c9c3.chunk.js"></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/globals-ab1c4b5ca64732f9a6c8.chunk.js"></script> <script src="https://dka575ofm4ao0.cloudfront.net/packs/runtime-3ef142c0b15a6ca88d16.js"></script> <script> window.addEventListener('load', function () { const urlParams = new URLSearchParams(window.location.search); const messageToken = urlParams.get('slack_message_token'); const channelName = escape(urlParams.get('channel_name')); if(!!messageToken) { switch(messageToken) { case 'slack_auth_error': HRB.utils.notify('The Slack authorization attempt was unsuccessful. Try again.', {cssClass:'error'}); break; case 'subscribers_disabled_error': HRB.utils.notify('Slack subscriptions are not enabled on this page.', {cssClass:'error'}); break; case 'direct_message_channel_error': HRB.utils.notify('Subscriptions aren鈥檛 supported in direct messages. Try subscribing again and choose a channel instead.', {cssClass:'error'}); break case 'duplicate_error': HRB.utils.notify("You're already subscribed to get Slack notifications in that channel.", {cssClass:'error'}); break; case 'duplicate_private_channel_error': HRB.utils.notify(`You're already subscribed to get Slack notifications in #${channelName}. Invite the @Statuspage app to that channel to start getting status updates.`, {cssClass: 'error'}); break; case 'default_success': HRB.utils.notify("You're now subscribed to get Statuspage updates in Slack!", {cssClass:'success'}); break; case 'private_channel_success': HRB.utils.notify(`IMPORTANT: Invite the @Statuspage app to your Slack channel #${channelName} to start getting status updates.`, {cssClass:'success'}); break; } } }); </script> <!-- FOR FLASH NOTICES --> <!-- FOR ERROR --> <script> $(function() { var $link = $('<span class="color-secondary powered-by"><a class="color-secondary" target="_blank" rel="noopener noreferrer nofollow" href="https://www.atlassian.com/software/statuspage?utm_campaign=www.githubstatus.com&amp;utm_content=SP-notifications&amp;utm_medium=powered-by&amp;utm_source=inapp">Powered by Atlassian Statuspage</a></span>'); var setPoweredByStyles = function() { if (!$('.powered-by').length) { $link.appendTo($('.page-footer')) } $('.powered-by').attr('style', 'display: inline !important; visibility:visible !important; opacity: 1 !important; position:static !important; text-indent:0px !important; transform:scale(1) !important'); } setInterval(setPoweredByStyles, 1000); }); </script> </body> </html>

Pages: 1 2 3 4 5 6 7 8 9 10