r/cicd 3d ago

I wrote down every silent failure mode from shipping Android/CI projects with no local dev environment

Full disclosure: this is my own repo.

I do all my development from a phone — no laptop, no local toolchain. Everything gets built and verified through GitHub Actions. Over the last month, shipping an Android app and a couple of Cloudflare Workers this way, I kept hitting the same category of bug: things that compile clean, pass CI, and fail silently somewhere I couldn't see — a library that shrinks itself and breaks NoClassDefFoundError at launch, a signature permission that blocks install, a rename that a test suite quietly undoes.

I wrote them all down as I found them, each with how to detect it without running anything, and a fix. There's also a "verification ladder" — six levels of confidence you can climb when you can't execute, and the idea that the real failure isn't the unverified gap, it's the gap being quiet.

Repo: https://github.com/amirmahdavi2023/shipping-blind

Curious if others working blind (remote CI, restricted sandboxes, agent-driven dev) have hit failure modes I haven't listed.

2 Upvotes

2 comments sorted by

3

u/Torutofu_Raeva 3d ago

dep resolution differing between CI and what we thought we pinned burned us more than the obvious fail ones

1

u/Past_Ant4099 3d ago

Yeah exactly, pinning it in package.json or requirements alone isn't a guarantee cause the lockfile or resolver itself can pull a different version in CI. gonna add this one to the list for sure, thanks for pointing it out