Comments (5)
I'm going to try using a quick fork of
appr
to validate that this completely solves the issue, will report back
Update: Yep! Can't share my actual build log as it's a private project, but https://github.com/motiz88/appr/tree/limit-max-workers did the trick. I have seen Travis occasionally barf on builds that spawned "too many" processes (Jest used to suffer from this I think), so I guess this is one of those cases.
Also, I'm pretty sure this isn't a false positive; my build failures without this patch have been very consistent, across CI runs, across versions of exp
etc.
So, now that it's fully justified - back to the feature discussion 😄 Happy to put together a PR with whatever API is agreed here.
from appr.
@motiz88 this is good.
API-wise, I think we should just whitelist any args that Appr needs itself (currently none) and pass forward any remaining --args
to the exp
process (like yarn run
does nowadays).
Alternatively we can whitelist all the known exp
flags and do the reverse, but that would require us to keep track of new (and possibly undocumented) exp flags.
What's your preference @motiz88?
from appr.
One subtle issue with a generic solution is that appr
invokes two exp
commands (login
and publish
), so forwarding to publish
is not necessarily all anyone would need. Not sure what I'd prefer here, as a user, other than a "do what I mean" solution that does effectively have to know which argument goes with which command.
from appr.
Right you are. Let me noodle about this a little bit. If you have a concrete suggestion I'm happy to hear it.
Some ideas:
- Prefix arbitrary arguments with
--exp-login-*
and--exp-publish-*
- Environment variables for known args (we already use these a lot)
.apprrc
(err... maybe not this one)
from appr.
I like --exp-login-*
and --exp-publish-*
, but I believe parsing these with parameters (which can be space-separated etc) would still require appr
to know exp
's options schema.
Maybe EXP_PUBLISH_ARGS
and EXP_LOGIN_ARGS
env vars that get interpolated into the command? (Though thinking about the correct handling of spaces and escaped strings here makes my head hurt)
Thing is, all the generic solutions seem to have edge cases that probably exceed the complexity budget here. I'm kinda leaning towards whitelisting options one-by-one (either --exp-cmd
-prefixed or not) as specific use cases for them arise in the wild - which will likely be few in practice.
from appr.
Related Issues (20)
- Travis instructions for "only PRs" HOT 1
- "Loading dependency graph, done." HOT 1
- Error Pushing Packages to Expo HOT 5
- App for gitlab CI HOT 1
- Pushing to Expo for master branch HOT 2
- Publishing with appr ends with "too long with no output" HOT 3
- Change exp to a peerDependency HOT 1
- Does not work for react-native HOT 1
- Use Expo release channels instead of package namespacing HOT 1
- Make GitHub comments less spammy HOT 4
- Missing configuration key error HOT 3
- Circle CI 2 doc HOT 1
- Regexp replace is incorrect.
- Adding the send link option to the PR
- Adding expo-cli breaks appr HOT 1
- `yarn appr` returns "Error starting tunnel"
- Don't work if set `slug` in app.json HOT 4
- exp socket hang up HOT 4
- Heroku support HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from appr.