−25%

د Windows پر کلنۍ تادیه، تر ۳۱ اکتوبر. پلانونه وګورئ

EQVPS
پیل وکړئ

د کوډ بیاکتنې او PR چک لپاره sandbox: له منظورۍ مخکې ثابته کړئ چې پېچ کار کوي

د diff لوستل تاسو ته وايي چې پېچ څه ادعا کوي. چلول یې وايي چې ایا ادعا رښتیا ده. pull request یو ځلي microVM ته راوړئ، له بدلون مخکې او وروسته بګ بیا رامنځته کړئ، ټېسټونه وچلوئ او په شواهدو بیاکتنه وکړئ — په هر ځل شاوخوا نیم سنټ.

یو diff ښيي چې پېچ د څه کولو ادعا کوي. دا نه ښيي چې ایا بګ په رښتیا له منځه تللی، ایا د if نوې څانګه کله هم چلېږي، یا ایا د یوې اړتیا نوې نسخه په پاک نصب کې import ماتوي. بیاکتونکي پر دې پوهېږي، له همدې امله ډېرې بیاکتنې په "LGTM، که ټېسټونه بریالي شي" پای ته رسېږي.

د AI لیکلو پېچونو سره دا تشه لا لویېږي. ماډل په چټکۍ داسې کوډ جوړوي چې د باور وړ ښکاري، او د باور وړ ښکارېدونکی کوډ همغه دی چې د ستړي بیاکتونکي له سترګو تېرېږي. ارزانه حل دا دی چې له دې مخکې چې څوک یې منظور کړي، بدلون وچلول شي — په داسې ځای کې چې هېڅ ته زیان ونه رسوي.

چک: base، head، ټېسټونه

تر ټولو قانع کوونکی ثبوت چې یو پېچ یې وړاندې کولی شي، داسې بیا رامنځته کول دي چې په زاړه کوډ ناکام او په نوي بریالی وي. sandbox دا د 20 کرښو سکرېپټ ته اړوي. دا د Python 3.12، Node.js 22، git او curl سره یو Firecracker microVM دی چې شاوخوا په یوه ثانیه کې چالانېږي:

import os
from eqvps import Sandbox

REPO, BASE, HEAD = os.environ["REPO_URL"], os.environ["BASE_SHA"], os.environ["HEAD_SHA"]

def repro(sb, ref):
    sb.exec(f"cd /root/app && git checkout -q {ref}", timeout=55)
    return sb.exec("cd /root/app && python3 /root/repro.py", timeout=55).exit_code

with Sandbox.create(tariff="standard", ttl=1800) as sb:
    sb.exec(f"git clone -q {REPO} /root/app", timeout=55)
    sb.exec("cd /root/app && pip install -q -r requirements.txt", timeout=55)
    sb.upload("/root/repro.py", open("repro.py").read())
    before, after = repro(sb, BASE), repro(sb, HEAD)
    tests = sb.exec("cd /root/app && python3 -m pytest -q", background=True).wait()
    print(f"repro on base: {before}, on head: {after}; tests: {tests.state}, exit {tests.exit_code}")

د repro.py فایل د بګ راپور د کوډ ټوټه ده. که په base کې له صفر پرته په کوډ او په head کې په صفر پای ته ورسېږي، پېچ هغه څه سموي چې ادعا یې کوي. دا کرښه د ټېسټونو د لنډیز سره د pull request پر سر د تبصرې په توګه ولیکئ، او بیاکتونکی به له حقایقو پیل وکړي.

د ټېسټ مجموعه د شالیدي دندې په توګه چلېږي، ځکه چې یوه همزماني کمانډ په 55 ثانیو کې درېږي. د 30 دقیقو TTL دا ټاکي چې بند پاتې چلول تر ټولو ډېر څومره وخت بیل جوړولی شي.

د بیاکتنې هغه اجنټان چې کوډ چلوي

همدا مفکوره د AI بیاکتونکي لپاره هم کار کوي. هغه اجنټ چې د MCP سرور له لارې نښلول شوی، د sandbox وسایل لري: sandbox جوړول، کمانډ چلول، فایلونه پورته او ښکته کول. د دې پر ځای چې ولیکي "دا ښايي د Python 3.8 سره همغږي ماته کړي"، برانچ راوړي، کوډ چلوي او traceback راوړي — یا خبر ورکوي چې هر څه سم دي.

داسې اجنټ ته د لګښت حد او یوازې د لوستلو ټوکن ورکړئ، او وټاکئ چې کوم وسایل پرته له پوښتنې رابللی شي. د MCP خوندیتوب تدابیر هره وسیله د خطر د کچې له مخې لیست کوي.

کومه تعرفه

ریپازیټوريتعرفهعادي ځلاټکلي لګښت
کوچنۍ کتابتون، خالص Python یا JSsmall (0.5 vCPU, 1 GB)2 دقیقې$0.0011
د ټېسټ مجموعې سره وېب اپلیکیشنstandard (1 vCPU, 2 GB)5 دقیقې$0.0055
اصلي توسیعونه، کمپایل کېدونکې اړتیاوېplus (2 vCPU, 4 GB)15 دقیقې$0.033

لنډمهاله sandboxes په ثانیه بیل کېږي، لږ تر لږه 60 ثانیې. که بیاکتونکی غواړي څو ورځې هماغه چاپېریال ته راستون شي، هغه د persistent په توګه جوړ کړئ: خپله ډیسک تر 30 ورځو ساتي او د هر پیل شوي ساعت بیل کېږي، نو د دوو ورځو بیاکتنې لپاره ساتل شوی standard sandbox شاوخوا 3.17 ډالر لګښت لري. کله چې pull request یوځای شي، ړنګ یې کړئ.

د پوهېدو وړ حدود

  • په هر حساب کې په یو وخت دوه کمانډونه. د هغو بیاکتنو لپاره بس دي چې یو له بل وروسته کېږي. که لسګونه pull requests په یو وخت وګورئ، په کتار کې به ودرېږي.
  • دننه ته پورټونه نشته. اپلیکیشن په براوزر کې نه شئ خلاصولی. دننه یې پیل کړئ او له دویمې کمانډ څخه یې په curl localhost ټېسټ کړئ.
  • دننه Docker نشته. هغه ټېسټونه چې کانټینرونه چلوي، په VPS کې پر runner ښه دي.
  • بهر ته انټرنېټ خلاص دی. همدا pip install کاروي. په sandbox کې داسې څه مه ږدئ چې د پېچ لیکوال ته به مو نه ورکول.

څنګه پیل وکړو

نوي حسابونه 1 ډالر د sandbox وخت ترلاسه کوي، چې د standard تعرفې پر سر له سلو ډېرو بیاکتنو لپاره بس دی. په د sandbox پاڼه کې تعرفې دي، په د SDK مرجع کې پورته کارول شوې هره طریقه، او په Python SDK په 5 دقیقو کې کې تنظیم.

اړوند: د ټول پایپ‌لاین لپاره جلا CI ټېسټونه، او د هغو اجنټانو لپاره چې کوډ لیکي د AI اجنټانو لپاره sandbox.

د ځای پرځای کولو لپاره چمتو یاست؟ په crypto تادیه، بې KYC — شاوخوا یوه دقیقه کې چمتو.

اوس ځای پرځای کړئ →

پوښتنې

دا پر pull request د CI له چلولو څخه څه توپیر لري؟

سیسټم CI ځواب ورکوي چې ایا موجود ټېسټونه بریالي کېږي. د بیاکتنې چک ځواب ورکوي چې ایا پېچ هغه کار کوي چې وايي یې: د بګ راپور د بیا رامنځته کولو کوډ په زاړه او نوي کوډ دواړو چلوي، هغه سرحدي حالت ازمويي چې بیاکتونکی یې په اړه اندېښمن دی، او یو sandbox ساتي چې بیاکتونکی پخپله پکې وپلټي. دواړه یوځای ښه کار کوي.

ایا د AI بیاکتنې اجنټ کولی شي دا وکاروي؟

هو، او تر ټولو ډېره ګټه همدلته ده. د MCP له لارې اجنټ د sandbox جوړولو، کمانډونو چلولو او فایلونو لوستلو وسایل ترلاسه کوي. د دې پر ځای چې اټکل وکړي چې بدلون څه ماتوي که نه، کوډ چلوي او په بیاکتنه کې خروجي راوړي.

ایا د یو ناپېژندل شوي کس pull request راوړل خوندي دي؟

sandbox د همدې لپاره دی. کوډ د خپل کرنل سره په یوه جلا microVM کې چلېږي، او دننه یې له هغه څه پرته چې تاسو یې ږدئ ستاسو هېڅ شی نشته. داسې ټوکن مه ورکوئ چې ستاسو ریپازیټوري کې لیکلی شي؛ د خصوصي ریپازیټوریو لپاره یوازې د لوستلو ټوکن بس دی.

ایا د pull request اپلیکیشن په خپل براوزر کې خلاصولی شم؟

نه. sandboxes دننه ته پورټونه نه لري، نو له بهر څخه هېڅ شی ورسره نه شي نښلېدای. تاسو کولی شئ اپلیکیشن دننه پیل کړئ او له بلې کمانډ څخه یې په curl ټېسټ کړئ، یا که بیاکتونکي باید په انټرفېس کلیک وکړي، مخکتنې پر VPS ځای پر ځای کړئ.

د یوې بیاکتنې لګښت څومره دی؟

یو عادي ځل — کلون، نصب، دوه ځله بیا رامنځته کول، ټېسټ چلول — د standard تعرفې پر سر څو دقیقې نیسي او شاوخوا 0.005 ډالر لګښت لري. تاسو له مخکې ورکړل شوي بیلانس څخه په ثانیه پیسې ورکوئ، لږ تر لږه 60 ثانیې.

تبصرې

لا تبصرې نشته. لومړی اوسئ.

یوه تبصره پریږدئ

تبصرې د ښکاره کیدو مخکې اعتدال کیږي.