GitHub Pages

Stuck on 'DNS Check in Progress'? Unblocking GitHub Pages Custom Domains for Faster Delivery

For development teams, product managers, and CTOs, the promise of GitHub Pages is simple: quick, easy deployment of static sites. Setting up a custom domain should be a frictionless step, a mere formality in the journey from code to live. Yet, as a recent community discussion highlighted, this seemingly minor task can become a significant roadblock, directly impacting project timelines and critical KPIs for engineering managers.

Imagine a scenario where your team has delivered a new feature, a documentation portal, or a marketing site. The code is merged, the repository is configured, and all that's left is for the custom domain to go live. But then, it gets stuck. For days. This was the reality for genpauls88-gif, whose GitHub Pages custom domain, stalnoykontur.ru, remained stubbornly on "DNS check in progress."

The Silent Blocker: When "DNS Check in Progress" Becomes a Project Stopper

The user's setup appeared textbook: four apex A records pointing to GitHub Pages IPs, a www CNAME to their GitHub Pages address, and a CNAME file in the repository root. The site was even accessible over HTTP. However, the crucial "Enforce HTTPS" option was locked, and the coveted SSL certificate provisioning was nowhere in sight. This isn't just a minor inconvenience; it's a critical blocker that can derail project timelines, making it impossible to meet crucial delivery milestones and negatively affecting the kpi for engineering manager.

When a project stalls at this late stage, the ripple effects are significant. Development resources are tied up, product launches are delayed, and the overall team morale can take a hit. While a git reporting tool might show green for code commits and feature completion, a deeper infrastructure issue like this can silently halt deployment, making the project appear stalled without clear cause.

Illustration of a DNS query timeout, showing GitHub's Pages checker failing to reach an authoritative nameserver.
Illustration of a DNS query timeout, showing GitHub's Pages checker failing to reach an authoritative nameserver.

Unmasking the Culprit: Authoritative Nameserver Timeouts

The devActivity community quickly rallied, and bosmdavid-gif provided a crucial diagnostic breakthrough. While public DNS resolvers could correctly see genpauls88-gif's DNS records, direct queries to the authoritative nameservers provided by REG.RU (the domain registrar) for CAA records were timing out:

dig @194.58.117.17 stalnoykontur.ru CAA # ns1.reg.ru → timed out
dig @194.58.117.16 stalnoykontur.ru CAA # ns2.reg.ru → timed out

This was the smoking gun. GitHub's internal Pages checker, responsible for verifying DNS and initiating HTTPS certificate provisioning, was failing to communicate with REG.RU's nameservers. This wasn't a propagation delay; it was a communication breakdown, identified as a recurring pattern with certain .ru domains hosted on REG.RU's DNS infrastructure.

For CTOs and delivery managers, understanding these underlying infrastructure nuances is key to maintaining high team productivity and achieving strategic kpi for engineering manager. Relying solely on public DNS checks can be misleading when internal systems encounter specific authoritative nameserver issues.

The Proven Workaround: Shifting DNS Hosting to Cloudflare

Fortunately, the community had a proven workaround for this specific scenario:

  1. Keep REG.RU as Registrar: The domain registration itself doesn't need to change.
  2. Move DNS Hosting to Cloudflare: Utilize Cloudflare's free DNS services. This is a critical step to bypass the problematic nameservers.
  3. Configure DNS Records in Cloudflare: Recreate the four apex A records (185.199.108.153, 185.199.109.153, 185.199.110.153, 185.199.111.153) and the www CNAME pointing to genpaulss88-gif.github.io. Crucially, ensure these records are set to "DNS only" (the gray cloud icon), not proxied.
  4. Wait for Nameserver Propagation: Monitor until dig NS stalnoykontur.ru shows Cloudflare's nameservers.
  5. Remove and Re-add Custom Domain: In GitHub Pages settings, remove the custom domain and then re-add it once.
  6. Patience: Leave it alone until "Enforce HTTPS" unlocks. If it's still stuck after ~24 hours, open a support ticket with GitHub.

This proactive shift in tooling, while seemingly minor, can be a game-changer for project velocity, preventing future roadblocks that git reporting tools might not immediately flag as 'code-related' issues. It highlights the importance of choosing robust and reliable infrastructure providers, even for seemingly simple components like DNS hosting.

Visualizing the workaround: Migrating DNS hosting from a problematic provider to Cloudflare in 'DNS Only' mode to resolve verification issues.
Visualizing the workaround: Migrating DNS hosting from a problematic provider to Cloudflare in 'DNS Only' mode to resolve verification issues.

Beyond the Fix: Lessons for Robust Tooling and Delivery

This incident offers valuable insights for dev teams, product managers, and technical leaders:

  • Don't Assume DNS is Simple: While often taken for granted, DNS configuration and the reliability of nameservers are critical infrastructure components. Issues here can halt even the most well-executed software delivery.
  • Proactive Infrastructure Choices: Opting for robust, globally distributed DNS providers like Cloudflare (even for their free tier) can prevent unforeseen compatibility issues with services like GitHub Pages. This is a strategic decision that impacts project resilience.
  • Deep Diagnostics are Key: When a generic "check in progress" message persists, empower your teams to perform deeper diagnostics, like direct dig queries to authoritative nameservers, to pinpoint the exact failure point.
  • Impact on KPIs: Every minute a project is stalled due to infrastructure issues directly impacts delivery kpi for engineering manager. Understanding and mitigating these risks is vital for maintaining project momentum and team morale.
  • Tooling Beyond Code: While software development gamification can boost team engagement and productivity, unexpected infrastructure snags like this can quickly deflate enthusiasm. Robust tooling and proactive problem-solving across the entire deployment pipeline are crucial for maintaining that positive momentum.

In the fast-paced world of software development, every component, no matter how small, contributes to the overall delivery pipeline. A stuck DNS verification isn't just a technical glitch; it's a potential project delay that impacts your team's productivity and your organization's ability to deliver value. By understanding the root causes and implementing proven workarounds, dev teams and leaders can ensure their GitHub Pages projects launch smoothly and efficiently, keeping those critical KPIs on track.

Share:

|

Dashboards, alerts, and review-ready summaries built on your GitHub activity.

 Install GitHub App to Start
Dashboard with engineering activity trends