It's Friday afternoon. Someone just opened a PR. Your freeze policy says no merges after 3pm Friday. But it's not enforced anywhere. It's just a rule people vaguely know about. So the PR sits there, and someone with merge access makes a judgment call. This is how most "no Friday deploys" policies actually work: tribal knowledge, good intentions, and crossed fingers. Works fine until it doesn't. NoShip turns that policy into a required status check on GitHub. No merges get through during a freeze, full stop. No judgment calls required. You can even ask it in Slack: "freeze all repos every Friday at 3pm for 48 hours" and it'll set the recurring schedule. Done. Have a good weekend. #DevOps #GitHub #CodeFreeze #SRE #PlatformEngineering #DeploymentSafety #EngineeringLeadership
NoShip Enforces Friday Code Freeze Policies on GitHub
More Relevant Posts
-
Easter weekend is when "please don't merge anything" gets tested. Someone ships a "small fix" Friday afternoon. The on-call phone rings Saturday morning. Half the team is debugging instead of doing whatever they planned. The manual freeze: send a Slack message, hope everyone sees it, remind the one person who didn't, and still watch a PR slip through because branch protection doesn't care about your message. NoShip turns "please don't merge" into an actual rule. Set a recurring freeze for holiday weekends and GitHub enforces it. PRs block automatically. No honor system required. If something genuinely needs to go out anyway, the dual-approval override workflow means two people sign off before a single PR gets through. Full audit trail captures who approved it and why. Enjoy the long weekend. #DevOps #GitHub #CodeFreeze #SRE #EngineeringLeadership #Easter #DeploymentSafety
To view or add a comment, sign in
-
Hard freeze: the system won't let you merge. Soft freeze: "please don't merge." Guess which one works. Every "Slack-message-and-hope" freeze I've seen eventually gets violated. Sometimes by a well-meaning engineer who missed the thread. Sometimes by a contractor who isn't even in the channel. Sometimes by the merge queue itself, which doesn't read Slack at all. The fix isn't better communication. It's a required status check that says no. NoShip turns your freeze into a GitHub check that blocks merges at the source — across every repo, every branch, every environment. Policy becomes control. No honor system required. #CodeFreeze #DevOps #GitHub #SRE #PlatformEngineering #DeploymentSafety #EngineeringLeadership #ChangeControl
To view or add a comment, sign in
-
A lot of developers rely on GitHub every single day, but the moment you ask them how it truly differs from GitLab, the answers often get blurry. And honestly, I understand why, on la surface they look similar, yet they don’t serve the same vision at all. GitHub has become the place where the world writes code together. Backed by Microsoft and fueled by a massive open-source community, it’s built for speed, simplicity, and collaboration. Actions, Codespaces, Dependabot… everything is designed to help teams move quickly and stay focused on building. GitLab, on the other hand, follows a completely different philosophy. It’s not just a code platform, it’s a full DevSecOps environment. CI/CD is built-in, security tools are native, governance is centralized, and you can even self-host it with the open-source edition. Many companies choose it because they want one platform to manage everything from planning to deployment. So the question isn’t really “which one is better?”. It’s more like “which vision matches the way you work?”. One focuses on velocity and massive adoption. The other focuses on deep integration and full end-to-end control. If you’ve used either platform in your projects, I’d really love to hear your experience. What actually makes a difference in your daily workflow? And what would you pick again if you had to start from scratch? Your insights will definitely help others who are still trying to choose the right tool. #GitHub #GitLab #DevOps #DevSecOps
To view or add a comment, sign in
-
-
A lot of developers rely on GitHub every single day, but the moment you ask them how it truly differs from GitLab, the answers often get blurry. And honestly, I understand why, on la surface they look similar, yet they don’t serve the same vision at all. GitHub has become the place where the world writes code together. Backed by Microsoft and fueled by a massive open-source community, it’s built for speed, simplicity, and collaboration. Actions, Codespaces, Dependabot… everything is designed to help teams move quickly and stay focused on building. GitLab, on the other hand, follows a completely different philosophy. It’s not just a code platform, it’s a full DevSecOps environment. CI/CD is built-in, security tools are native, governance is centralized, and you can even self-host it with the open-source edition. Many companies choose it because they want one platform to manage everything from planning to deployment. So the question isn’t really “which one is better?”. It’s more like “which vision matches the way you work?”. One focuses on velocity and massive adoption. The other focuses on deep integration and full end-to-end control. If you’ve used either platform in your projects, I’d really love to hear your experience. What actually makes a difference in your daily workflow? And what would you pick again if you had to start from scratch? Your insights will definitely help others who are still trying to choose the right tool. #GitHub #GitLab #DevOps #DevSecOps
To view or add a comment, sign in
-
-
Your merge queue doesn't know about your freeze. That's the problem. You announced the freeze in Slack. You put it on the calendar. You reminded the team in standup. And then at 2am, the merge queue happily processed a batch of PRs that had been sitting in the queue since yesterday — because the queue doesn't read calendars, it reads status checks. Freezes that live in human channels get bypassed by automation running in machine channels. The only way to stop a merge queue is to give it a reason it understands: a failing required check. NoShip is that check. When a freeze is active, every PR gets a status that says "blocked" — and the merge queue respects it, because it has to. Policy in Slack. Control in GitHub. Know the difference. #CodeFreeze #DevOps #GitHub #MergeQueue #SRE #PlatformEngineering #DeploymentSafety #EngineeringLeadership
To view or add a comment, sign in
-
Easter Sunday is not the time to find out your deploy pipeline is still open. We've all seen it. A PR gets merged late Friday "just to get it in." By Sunday someone's getting paged. The on-call engineer is not happy. NoShip lets you set a recurring freeze that kicks in automatically every holiday weekend. Define the window once, and GitHub enforces it. No Slack reminders. No honor system. No "I thought someone else handled it." Set it. Forget it. Enjoy the long weekend. #DevOps #GitHub #CodeFreeze #SRE #PlatformEngineering #DeploymentSafety #Easter
To view or add a comment, sign in
-
🚨 Is GitHub's reliability hurting your team? I've been talking with many customers recently, and a common theme keeps coming up — frustration with GitHub's service health. Outages, degraded performance, and uncertainty around uptime are slowing teams down. If that sounds familiar, there's a path forward. In 3 days, I'll be running a free workshop walking through how to migrate from GitHub to GitLab — step by step, no guesswork. You'll leave with a clear migration plan, practical tips, and confidence to make the switch. 👉 Interested? Join us here: https://lnkd.in/d-ckV-9G Quinten Dismukes, Colin Stevenson, Thiago Magro, Adrian Tigert #GitLab #GitHub #DevOps #Migration #Workshop
To view or add a comment, sign in
-
-
If your freeze governance can be bypassed by anyone with merge permissions, it's not governance. It's a policy suggestion. Most teams enforce code freezes through branch protection rules that admins can override. Or worse — a Slack message that says "please don't merge." The problem isn't that people ignore the freeze intentionally. It's that the system allows them to. Real governance means the platform itself prevents unauthorized changes. Not a wiki page. Not a calendar event. Not "please check with the team lead first." At NoShip, we enforce freezes at the GitHub layer — merge blocking via required status checks and deployment blocking via native Deployment Protection Rules. No one merges during a freeze unless they go through a documented, dual-approval emergency override workflow. That's the difference between a policy and a control. #DevOps #GitHub #CodeFreeze #SRE #PlatformEngineering #DeploymentSafety #EngineeringLeadership #ChangeManagement #Compliance
To view or add a comment, sign in
-
The worst part of an unenforced freeze isn't the bad deploy. It's the Slack message the next morning. "Hey, I didn't see the freeze announcement, I merged #2847 last night. Do we need to revert?" Now someone has to investigate. Was it deployed? Did it break anything? Do we revert or roll forward? Is the freeze still on? The person who merged feels bad. Their teammate feels annoyed. The whole thing was avoidable. If the merge button doesn't work during a freeze, none of this happens. #DevOps #GitHub #CodeFreeze #SRE #PlatformEngineering #DeploymentSafety
To view or add a comment, sign in
-
GitHub's merge queue silently rewrote main branch history on April 23rd. The pattern: PR shows a +29 / -34 diff. Reviewed, approved, queued. What lands is +245 / -1,137 — thousands of lines of already-shipped code quietly removed. Every merge after that stacks on the broken history. UI shows nothing wrong. GitHub says 2,800 PRs out of 4 million. One company reported 200+ on its own. Pick a number. The part nobody's saying out loud: for history to get overwritten like this, something is force-pushing to main behind the scenes. Branch protection apparently doesn't apply to GitHub itself. Worth thinking about what else moves through that path silently. The deeper issue isn't the bug. Bugs happen. The issue is that "distributed version control" became a single vendor's merge button for most of the industry, and the merge button lied for a day. Git itself was fine the whole time. It always is. I run my own Gitea. Recommend it. #GitHub #Git #DevOps #Gitea #SelfHosted #SoftwareEngineering
To view or add a comment, sign in
Explore content categories
- Career
- Productivity
- Finance
- Soft Skills & Emotional Intelligence
- Project Management
- Education
- Technology
- Leadership
- Ecommerce
- User Experience
- Recruitment & HR
- Customer Experience
- Real Estate
- Marketing
- Sales
- Retail & Merchandising
- Science
- Supply Chain Management
- Future Of Work
- Consulting
- Writing
- Economics
- Artificial Intelligence
- Employee Experience
- Workplace Trends
- Fundraising
- Networking
- Corporate Social Responsibility
- Negotiation
- Communication
- Engineering
- Hospitality & Tourism
- Business Strategy
- Change Management
- Organizational Culture
- Design
- Innovation
- Event Planning
- Training & Development