expo / expo/expo-github-action
Recipe: Update unless changes require a new build
- Dominant language
- TypeScript
- Stars
- 1k
- Forks
- 107
- PR merge metrics
- No merged PRs in 30d
Description
### Topic and scope of discussion
How would you summarise and scope the issue?
The current recipe presented on the README file present a scenario where every time someone pushes to main, it generates a new build.
I believe could be great to have a scenario of every time someone pushes to main, it checks if the changes affect native code. If yes, new build, if not, new update.
### Motivation
Why should we have this discussion?
Lots of projects needs to expose native code even if using expo config plugins to manage it for them. The project I am working on is on that intermediary level between fully managed and bare. I use `prebuild` a lot if I do any changes that affect native code and end bumping the run time version after this.
For strict typescript changes, I skip the `prebuild` and deploy the changes using `eas update`.
I want the Github Actions to know if it needs to build a new version or needs to update the current version.
I am trying to do this using `dorny/paths-filter@v2` to check if the following files were changed:
```yaml
- uses: dorny/paths-filter@v2
id: filter
with:
filters: |
files:
- 'eas.json'
- 'app.config.js'
# firebase config
- 'config/**'
- 'package.json'
- 'package-json.lock'
```
But I am struggling to make it work properly.
Possible outcomes of this discussion could be:
- Is this a good way to frame the problem (github actions to fork between build and update)?
- What is the best way to achieve this?
- Can this expo extension help on that in any way?
I think this could be great to reduce the amount of times EAS is requested to build something and reduce the time to put code live, improving developer and business folks experience.
Contributor guide
Assessment
This issue has not been assessed yet.