mirror of
https://github.com/deepseek-ai/deepseek-harness.git
synced 2026-08-29 04:26:38 +00:00
fix(ci): reuse pinned bubblewrap setup in e2e
This commit is contained in:
@@ -76,15 +76,11 @@ jobs:
|
||||
- name: Install (immutable)
|
||||
run: pnpm install --frozen-lockfile
|
||||
|
||||
# The with-key escalation e2e self-skips without a usable runner. Install
|
||||
# bwrap so trusted CI exercises it; the userns knob is best-effort and the
|
||||
# test's functional probe decides.
|
||||
- name: Install bubblewrap (unrestrict userns)
|
||||
run: |
|
||||
sudo apt-get update -q
|
||||
sudo apt-get install -yq bubblewrap
|
||||
sudo sysctl -w kernel.apparmor_restrict_unprivileged_userns=0 \
|
||||
|| echo "apparmor userns knob absent — the functional probe decides"
|
||||
# The with-key escalation e2e self-skips without a usable runner. Prepare
|
||||
# bwrap so trusted CI exercises it; the functional probe remains the
|
||||
# authority on whether the runner can use the sandbox.
|
||||
- name: Prepare bubblewrap (unrestrict userns)
|
||||
run: bash scripts/prepare-ci-bubblewrap.sh
|
||||
|
||||
# Guard against a false green: the e2e suites self-skip when the key is
|
||||
# absent, so a missing/misconfigured secret would otherwise pass as
|
||||
|
||||
@@ -238,6 +238,20 @@ describe('E2B e2e workflow', () => {
|
||||
})
|
||||
})
|
||||
|
||||
describe('DeepSeek e2e workflow', () => {
|
||||
it('prepares bubblewrap from the pinned payload without a package transaction', () => {
|
||||
const workflow = loadWorkflow('.github/workflows/e2e.yml')
|
||||
const e2e = workflowJob(workflow, 'e2e')
|
||||
if (!Array.isArray(e2e.steps)) throw new TypeError('DeepSeek e2e workflow must define steps')
|
||||
|
||||
const steps = e2e.steps.filter(isRecord)
|
||||
expect(steps.find(step => step.name === 'Prepare bubblewrap (unrestrict userns)')).toMatchObject({
|
||||
run: 'bash scripts/prepare-ci-bubblewrap.sh',
|
||||
})
|
||||
expect(JSON.stringify(steps)).not.toContain('apt-get')
|
||||
})
|
||||
})
|
||||
|
||||
describe('Python release workflows', () => {
|
||||
it('keeps complete wheel validation separate from protected public publication', () => {
|
||||
const workflow = loadWorkflow('.github/workflows/python-release.yml')
|
||||
|
||||
Reference in New Issue
Block a user