PageSourceSearch

https://pushci.dev/assets/VsGitHubActions-2ekN2b_D.js

js pushci.dev collected 2026-10-05 06:31:28 UTC 2,813 bytes, 12 lines download raw bytes

1import{j as e,N as t,F as s}from"./index-CXxkL5mz.js";import{C as o,a as i,M as a}from"./MigrationBlock-DuaoBqPq.js";import{u as n}from"./useDocumentMeta-DnU8Bwjt.js";const r=[{name:"Setup",pushci:"npx pushci init",competitor:"50+ line YAML"},{name:"Configuration",pushci:"Auto-detected",competitor:"Manual YAML"},{name:"Hosted runner cost",pushci:"$0 local gate (paid tiers for cloud/dashboard)",competitor:"$0.0048/min (Jan 2026 cut)"},{name:"Self-hosted runner cost",pushci:"$0 always",competitor:"$0.002/min since Mar 2026"},{name:"AI Pipeline Gen",pushci:"yes",competitor:"no"},{name:"Multi-Platform",pushci:"yes",competitor:"GitHub only"},{name:"Local Runs",pushci:"yes (pre-push + act)",competitor:"hosted after push"},{name:"Auto-Detect Stack",pushci:"yes",competitor:"no"},{name:"Deploy Targets",pushci:"22 built-in",competitor:"Via marketplace"},{name:"Migration path",pushci:"layer + import",competitor:"native"}],c="In March 2026, GitHub started charging $0.002/min for self-hosted runners — a feature that was free since 2019. The community backlash was immediate. PushCI remains $0 for local compute and can run alongside GitHub Actions.",u=`# .github/workflows/ci.yml
2name: CI
3on: [push, pull_request]
4jobs:
5  build:
6    runs-on: ubuntu-latest
7    steps:
8      - uses: actions/checkout@v4
9      - uses: actions/setup-node@v4
10      - run: npm ci
11      - run: npm test
12      - run: npm run build`;function h(){return n({title:"PushCI vs GitHub Actions — Local Validation Before Hosted CI",description:"Keep GitHub Actions. Run workflows locally via act, add a security scan before push, and catch failures before hosted CI spends minutes.",canonical:"https://pushci.dev/vs/github-actions",jsonLd:{"@context":"https://schema.org","@type":"WebPage",name:"PushCI vs GitHub Actions",description:"PushCI as a local pre-push validation layer alongside GitHub Actions",url:"https://pushci.dev/vs/github-actions",mainEntity:{"@type":"SoftwareApplication",name:"PushCI",applicationCategory:"DeveloperApplication",offers:{"@type":"Offer",price:"0",priceCurrency:"USD"}}}}),e.jsxs("div",{className:"min-h-screen bg-root",children:[e.jsx(t,{}),e.jsxs("main",{children:[e.jsx(o,{title:"PushCI vs GitHub Actions",subtitle:"Keep GitHub Actions. Run it locally first — before the remote spend starts.",competitor:"GitHub Actions"}),e.jsx(i,{features:r,competitorName:"GitHub Actions"}),e.jsx("div",{className:"max-w-3xl mx-auto px-6 py-8",children:e.jsxs("div",{className:"rounded-lg border border-yellow-500/40 bg-yellow-500/10 p-5",children:[e.jsx("p",{className:"text-sm font-semibold text-yellow-400 mb-1",children:"March 2026 pricing change"}),e.jsx("p",{className:"text-sm text-gray-300",children:c})]})}),e.jsx(a,{beforeCode:u,beforeLabel:"GitHub Actions YAML"})]}),e.jsx(s,{})]})}export{h as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.