Conversation
5d1a6b6 to
03e53dd
Compare
byCedric
left a comment
There was a problem hiding this comment.
It looks good so far, but have some reservations about using SQLite through github caches 😄 We'll see how that goes in testing.
Can you add two readmes next to the action.yml that describes these actions? E.g. copy https://github.com/expo/expo-github-action/blob/main/preview/README.md and add a warning, like this, that mentions it's still experimental?
sure thing! plan to add READMEs in a separated pr. will open the pr later. |
f933408 to
189ba6c
Compare
48c654a to
700c651
Compare
following up with #231 (review) to add READMEs --------- Co-authored-by: Cedric van Putten <me@bycedric.com>
## [8.1.0](8.0.0...8.1.0) (2023-11-24) ### New features * add fingerprint integration ([#231](#231)) ([e6622e0](e6622e0)) * add readme for preview-build and fingerprint action ([#232](#232)) ([acc171b](acc171b)), closes [/github.com//pull/231#pullrequestreview-1628540314](https://github.com/expo//github.com/expo/expo-github-action/pull/231/issues/pullrequestreview-1628540314) * **preview:** add update manifest permalinks to the output ([#245](#245)) ([331a5ab](331a5ab)) ### Bug fixes * **preview:** allow multiple `app.json` schemes ([#244](#244)) ([42d64cf](42d64cf)) ### Code changes * update error handling to node 20 standards ([#243](#243)) ([65ee055](65ee055)) * update workflows and repository to use Bun ([#241](#241)) ([7f1c170](7f1c170)) * upgrade all actions to run on node 20 ([#242](#242)) ([b3e5355](b3e5355)) ### Other chores * **ci:** update release flow with new service account ([#238](#238)) ([e289d93](e289d93)) * update release workflow actions ([#239](#239)) ([57dcabe](57dcabe)) ### Documentation changes * add link to breaking change pull request ([9e1a8c8](9e1a8c8)) * fix changelog link in readme ([185932d](185932d)) * update example to use `eas-version` ([#222](#222)) ([7bc946c](7bc946c))
|
🎉 This PR is included in version 8.1.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
|
Hi, |
|
@yonitou thanks for the kind heads-up. didn't notice the ci problem until you share it. will follow up |
|
No problem, I opened a PR right here : #333 Pretty sure it's an issue from the |
|
sorry i missed your pr until i created my pr. will add you as co-author from #334 |
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [expo/expo-github-action](https://redirect.github.com/expo/expo-github-action) | action | minor | `v8` -> `8.2.1` | --- ### Release Notes <details> <summary>expo/expo-github-action (expo/expo-github-action)</summary> ### [`v8.2.1`](https://redirect.github.com/expo/expo-github-action/blob/HEAD/CHANGELOG.md#821-2024-01-15) [Compare Source](https://redirect.github.com/expo/expo-github-action/compare/8.2.0...8.2.1) ##### Bug fixes - **preview:** filter slugs with special characters to match dev clients `exp+<slug>` scheme ([#​252](https://redirect.github.com/expo/expo-github-action/issues/252)) ([b8a9be8](https://redirect.github.com/expo/expo-github-action/commit/b8a9be8336bf5609f8e299a8486f9a2bf7073f8a)) ### [`v8.2.0`](https://redirect.github.com/expo/expo-github-action/blob/HEAD/CHANGELOG.md#820-2023-12-02) [Compare Source](https://redirect.github.com/expo/expo-github-action/compare/8.1.0...8.2.0) ##### New features - **preview:** add `qr-target` and use proper QR codes for `expo-go` and `dev-build` ([#​247](https://redirect.github.com/expo/expo-github-action/issues/247)) ([54efbfd](https://redirect.github.com/expo/expo-github-action/commit/54efbfdf1d130888a5f13b73fb7adc85edeb8855)) ##### Documentation changes - **preview:** clarify the branch and workflow trigger relations ([#​246](https://redirect.github.com/expo/expo-github-action/issues/246)) ([ccfad6f](https://redirect.github.com/expo/expo-github-action/commit/ccfad6f148eaa709959a64b1be216481f4ca54ff)) ### [`v8.1.0`](https://redirect.github.com/expo/expo-github-action/blob/HEAD/CHANGELOG.md#810-2023-11-24) [Compare Source](https://redirect.github.com/expo/expo-github-action/compare/v8...8.1.0) ##### New features - add fingerprint integration ([#​231](https://redirect.github.com/expo/expo-github-action/issues/231)) ([e6622e0](https://redirect.github.com/expo/expo-github-action/commit/e6622e076de31220ec97e3d7494de70cf1ab85b2)) - add readme for preview-build and fingerprint action ([#​232](https://redirect.github.com/expo/expo-github-action/issues/232)) ([acc171b](https://redirect.github.com/expo/expo-github-action/commit/acc171bb5e34cd76bf152307e562bb49e7743b94)), closes [/github.com/expo/expo-github-action/pull/231#pullrequestreview-1628540314](https://redirect.github.com/expo//github.com/expo/expo-github-action/pull/231/issues/pullrequestreview-1628540314) - **preview:** add update manifest permalinks to the output ([#​245](https://redirect.github.com/expo/expo-github-action/issues/245)) ([331a5ab](https://redirect.github.com/expo/expo-github-action/commit/331a5abc4196b7590363c2b3ec842a0a17f98fa2)) ##### Bug fixes - **preview:** allow multiple `app.json` schemes ([#​244](https://redirect.github.com/expo/expo-github-action/issues/244)) ([42d64cf](https://redirect.github.com/expo/expo-github-action/commit/42d64cf92010d7210784c0f30bcaa611d8bae55d)) ##### Code changes - update error handling to node 20 standards ([#​243](https://redirect.github.com/expo/expo-github-action/issues/243)) ([65ee055](https://redirect.github.com/expo/expo-github-action/commit/65ee05557f89a7804e36b2d3fe4f3d33aea7011a)) - update workflows and repository to use Bun ([#​241](https://redirect.github.com/expo/expo-github-action/issues/241)) ([7f1c170](https://redirect.github.com/expo/expo-github-action/commit/7f1c170873ddbadfb0ba311dd94b43d14c795ee3)) - upgrade all actions to run on node 20 ([#​242](https://redirect.github.com/expo/expo-github-action/issues/242)) ([b3e5355](https://redirect.github.com/expo/expo-github-action/commit/b3e53555d9effcab01011226c5e811c263a449cb)) ##### Other chores - **ci:** update release flow with new service account ([#​238](https://redirect.github.com/expo/expo-github-action/issues/238)) ([e289d93](https://redirect.github.com/expo/expo-github-action/commit/e289d93e119801f899eb2b94d80d92718172dba3)) - update release workflow actions ([#​239](https://redirect.github.com/expo/expo-github-action/issues/239)) ([57dcabe](https://redirect.github.com/expo/expo-github-action/commit/57dcabe749340c8c995ee0334cd7c547c35770d0)) ##### Documentation changes - add link to breaking change pull request ([9e1a8c8](https://redirect.github.com/expo/expo-github-action/commit/9e1a8c8343d0f9405717e103c71e2e3ce9286bbc)) - fix changelog link in readme ([185932d](https://redirect.github.com/expo/expo-github-action/commit/185932d43cd424c08c2d530a3cedad352d66e78e)) - update example to use `eas-version` ([#​222](https://redirect.github.com/expo/expo-github-action/issues/222)) ([7bc946c](https://redirect.github.com/expo/expo-github-action/commit/7bc946c5f6b768b1a1858c1722b3aac4e0064c23)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - "after 8:00 before 23:00 every weekday except on Friday" in timezone UTC. 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/valora-inc/wallet). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJnaXRodWItYWN0aW9ucyIsInJlbm92YXRlIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [expo/expo-github-action](https://redirect.github.com/expo/expo-github-action) | action | minor | `v8` -> `8.2.1` | --- ### Release Notes <details> <summary>expo/expo-github-action (expo/expo-github-action)</summary> ### [`v8.2.1`](https://redirect.github.com/expo/expo-github-action/blob/HEAD/CHANGELOG.md#821-2024-01-15) [Compare Source](https://redirect.github.com/expo/expo-github-action/compare/8.2.0...8.2.1) ##### Bug fixes - **preview:** filter slugs with special characters to match dev clients `exp+<slug>` scheme ([#​252](https://redirect.github.com/expo/expo-github-action/issues/252)) ([b8a9be8](https://redirect.github.com/expo/expo-github-action/commit/b8a9be8336bf5609f8e299a8486f9a2bf7073f8a)) ### [`v8.2.0`](https://redirect.github.com/expo/expo-github-action/blob/HEAD/CHANGELOG.md#820-2023-12-02) [Compare Source](https://redirect.github.com/expo/expo-github-action/compare/8.1.0...8.2.0) ##### New features - **preview:** add `qr-target` and use proper QR codes for `expo-go` and `dev-build` ([#​247](https://redirect.github.com/expo/expo-github-action/issues/247)) ([54efbfd](https://redirect.github.com/expo/expo-github-action/commit/54efbfdf1d130888a5f13b73fb7adc85edeb8855)) ##### Documentation changes - **preview:** clarify the branch and workflow trigger relations ([#​246](https://redirect.github.com/expo/expo-github-action/issues/246)) ([ccfad6f](https://redirect.github.com/expo/expo-github-action/commit/ccfad6f148eaa709959a64b1be216481f4ca54ff)) ### [`v8.1.0`](https://redirect.github.com/expo/expo-github-action/blob/HEAD/CHANGELOG.md#810-2023-11-24) [Compare Source](https://redirect.github.com/expo/expo-github-action/compare/v8...8.1.0) ##### New features - add fingerprint integration ([#​231](https://redirect.github.com/expo/expo-github-action/issues/231)) ([e6622e0](https://redirect.github.com/expo/expo-github-action/commit/e6622e076de31220ec97e3d7494de70cf1ab85b2)) - add readme for preview-build and fingerprint action ([#​232](https://redirect.github.com/expo/expo-github-action/issues/232)) ([acc171b](https://redirect.github.com/expo/expo-github-action/commit/acc171bb5e34cd76bf152307e562bb49e7743b94)), closes [/github.com/expo/expo-github-action/pull/231#pullrequestreview-1628540314](https://redirect.github.com/expo//github.com/expo/expo-github-action/pull/231/issues/pullrequestreview-1628540314) - **preview:** add update manifest permalinks to the output ([#​245](https://redirect.github.com/expo/expo-github-action/issues/245)) ([331a5ab](https://redirect.github.com/expo/expo-github-action/commit/331a5abc4196b7590363c2b3ec842a0a17f98fa2)) ##### Bug fixes - **preview:** allow multiple `app.json` schemes ([#​244](https://redirect.github.com/expo/expo-github-action/issues/244)) ([42d64cf](https://redirect.github.com/expo/expo-github-action/commit/42d64cf92010d7210784c0f30bcaa611d8bae55d)) ##### Code changes - update error handling to node 20 standards ([#​243](https://redirect.github.com/expo/expo-github-action/issues/243)) ([65ee055](https://redirect.github.com/expo/expo-github-action/commit/65ee05557f89a7804e36b2d3fe4f3d33aea7011a)) - update workflows and repository to use Bun ([#​241](https://redirect.github.com/expo/expo-github-action/issues/241)) ([7f1c170](https://redirect.github.com/expo/expo-github-action/commit/7f1c170873ddbadfb0ba311dd94b43d14c795ee3)) - upgrade all actions to run on node 20 ([#​242](https://redirect.github.com/expo/expo-github-action/issues/242)) ([b3e5355](https://redirect.github.com/expo/expo-github-action/commit/b3e53555d9effcab01011226c5e811c263a449cb)) ##### Other chores - **ci:** update release flow with new service account ([#​238](https://redirect.github.com/expo/expo-github-action/issues/238)) ([e289d93](https://redirect.github.com/expo/expo-github-action/commit/e289d93e119801f899eb2b94d80d92718172dba3)) - update release workflow actions ([#​239](https://redirect.github.com/expo/expo-github-action/issues/239)) ([57dcabe](https://redirect.github.com/expo/expo-github-action/commit/57dcabe749340c8c995ee0334cd7c547c35770d0)) ##### Documentation changes - add link to breaking change pull request ([9e1a8c8](https://redirect.github.com/expo/expo-github-action/commit/9e1a8c8343d0f9405717e103c71e2e3ce9286bbc)) - fix changelog link in readme ([185932d](https://redirect.github.com/expo/expo-github-action/commit/185932d43cd424c08c2d530a3cedad352d66e78e)) - update example to use `eas-version` ([#​222](https://redirect.github.com/expo/expo-github-action/issues/222)) ([7bc946c](https://redirect.github.com/expo/expo-github-action/commit/7bc946c5f6b768b1a1858c1722b3aac4e0064c23)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - "after 8:00 before 23:00 every weekday except on Friday" in timezone UTC. 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/divvi-xyz/divvi-app-starter). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJnaXRodWItYWN0aW9ucyIsInJlbm92YXRlIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [expo/expo-github-action](https://redirect.github.com/expo/expo-github-action) | action | minor | `v8` -> `8.2.1` | --- ### Release Notes <details> <summary>expo/expo-github-action (expo/expo-github-action)</summary> ### [`v8.2.1`](https://redirect.github.com/expo/expo-github-action/blob/HEAD/CHANGELOG.md#821-2024-01-15) [Compare Source](https://redirect.github.com/expo/expo-github-action/compare/8.2.0...8.2.1) ##### Bug fixes - **preview:** filter slugs with special characters to match dev clients `exp+<slug>` scheme ([#​252](https://redirect.github.com/expo/expo-github-action/issues/252)) ([b8a9be8](https://redirect.github.com/expo/expo-github-action/commit/b8a9be8336bf5609f8e299a8486f9a2bf7073f8a)) ### [`v8.2.0`](https://redirect.github.com/expo/expo-github-action/blob/HEAD/CHANGELOG.md#820-2023-12-02) [Compare Source](https://redirect.github.com/expo/expo-github-action/compare/8.1.0...8.2.0) ##### New features - **preview:** add `qr-target` and use proper QR codes for `expo-go` and `dev-build` ([#​247](https://redirect.github.com/expo/expo-github-action/issues/247)) ([54efbfd](https://redirect.github.com/expo/expo-github-action/commit/54efbfdf1d130888a5f13b73fb7adc85edeb8855)) ##### Documentation changes - **preview:** clarify the branch and workflow trigger relations ([#​246](https://redirect.github.com/expo/expo-github-action/issues/246)) ([ccfad6f](https://redirect.github.com/expo/expo-github-action/commit/ccfad6f148eaa709959a64b1be216481f4ca54ff)) ### [`v8.1.0`](https://redirect.github.com/expo/expo-github-action/blob/HEAD/CHANGELOG.md#810-2023-11-24) [Compare Source](https://redirect.github.com/expo/expo-github-action/compare/v8...8.1.0) ##### New features - add fingerprint integration ([#​231](https://redirect.github.com/expo/expo-github-action/issues/231)) ([e6622e0](https://redirect.github.com/expo/expo-github-action/commit/e6622e076de31220ec97e3d7494de70cf1ab85b2)) - add readme for preview-build and fingerprint action ([#​232](https://redirect.github.com/expo/expo-github-action/issues/232)) ([acc171b](https://redirect.github.com/expo/expo-github-action/commit/acc171bb5e34cd76bf152307e562bb49e7743b94)), closes [/github.com/expo/expo-github-action/pull/231#pullrequestreview-1628540314](https://redirect.github.com/expo//github.com/expo/expo-github-action/pull/231/issues/pullrequestreview-1628540314) - **preview:** add update manifest permalinks to the output ([#​245](https://redirect.github.com/expo/expo-github-action/issues/245)) ([331a5ab](https://redirect.github.com/expo/expo-github-action/commit/331a5abc4196b7590363c2b3ec842a0a17f98fa2)) ##### Bug fixes - **preview:** allow multiple `app.json` schemes ([#​244](https://redirect.github.com/expo/expo-github-action/issues/244)) ([42d64cf](https://redirect.github.com/expo/expo-github-action/commit/42d64cf92010d7210784c0f30bcaa611d8bae55d)) ##### Code changes - update error handling to node 20 standards ([#​243](https://redirect.github.com/expo/expo-github-action/issues/243)) ([65ee055](https://redirect.github.com/expo/expo-github-action/commit/65ee05557f89a7804e36b2d3fe4f3d33aea7011a)) - update workflows and repository to use Bun ([#​241](https://redirect.github.com/expo/expo-github-action/issues/241)) ([7f1c170](https://redirect.github.com/expo/expo-github-action/commit/7f1c170873ddbadfb0ba311dd94b43d14c795ee3)) - upgrade all actions to run on node 20 ([#​242](https://redirect.github.com/expo/expo-github-action/issues/242)) ([b3e5355](https://redirect.github.com/expo/expo-github-action/commit/b3e53555d9effcab01011226c5e811c263a449cb)) ##### Other chores - **ci:** update release flow with new service account ([#​238](https://redirect.github.com/expo/expo-github-action/issues/238)) ([e289d93](https://redirect.github.com/expo/expo-github-action/commit/e289d93e119801f899eb2b94d80d92718172dba3)) - update release workflow actions ([#​239](https://redirect.github.com/expo/expo-github-action/issues/239)) ([57dcabe](https://redirect.github.com/expo/expo-github-action/commit/57dcabe749340c8c995ee0334cd7c547c35770d0)) ##### Documentation changes - add link to breaking change pull request ([9e1a8c8](https://redirect.github.com/expo/expo-github-action/commit/9e1a8c8343d0f9405717e103c71e2e3ce9286bbc)) - fix changelog link in readme ([185932d](https://redirect.github.com/expo/expo-github-action/commit/185932d43cd424c08c2d530a3cedad352d66e78e)) - update example to use `eas-version` ([#​222](https://redirect.github.com/expo/expo-github-action/issues/222)) ([7bc946c](https://redirect.github.com/expo/expo-github-action/commit/7bc946c5f6b768b1a1858c1722b3aac4e0064c23)) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - "after 8:00 before 23:00 every weekday except on Friday" in timezone UTC. 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/valora-inc/beefy). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzOS4yMDcuMSIsInVwZGF0ZWRJblZlciI6IjM5LjIwNy4xIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJnaXRodWItYWN0aW9ucyIsInJlbm92YXRlIl19--> Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>

Why
to dogfood
@expo/fingerprint, this pr tries to the fingerprint integration.close ENG-8599
for updating doc, i will do it in a separated pr.
How
this pr introduces two new actions, mainly designed for pull requests.
fingerprint
the action will check the fingerprint from the pr head commit against base commit and just output the fingerprint diff. this could be used for something like pr labeler:
fingerprint not changed

fingerprint changed

preview-build
the action will check the fingerprint from the pr head commit against base commit and create eas builds if necessary. example workflow
fingerprint not changed

fingerprint not changed and found compatible EAS Build

fingerprint changed

Implementations
check the high-level design first: https://www.notion.so/expo/expo-github-action-preview-build-92a444c9e4b84726a85b0bf4ef619f6c
to check whether the pr has fingerprint changes, we keep track
gitCommitSha <-> fingerprint <-> easBuildIdin a sqlite database and keep it in the github actions cache. the remaining part are just github integration like commenting or eas build command executions.some challenges i had in this pr:
ncc
i want to import the @expo/fingerprint from the version user specified in yaml, not the version prebundled when we use ncc to build. this is more like a dynamic require for ncc. other than that, sqlite3 has some prebuilt native node-pre-gyp
binaries. if i trigger ncc build on macos, the darwin binary cannot run on github linux or windows runners. to do this, mainly have two points here:
process.env['NODE_PATH']to let nodejs further search the github tool directory when usingrequire('sqlite3').github actions cache mutation
github actions cache is designed to be immutable. as long as the cache is changed, you should have a new cache key. i don't want to pollute user's cache and have many
fingerprint-db-v1,fingerprint-db-v2,fingerprint-db-v3and so on. i just have to use the github api to remove the cache key before saving new database. the downside is that we needactions: writepermission when integrating the action.github actions cache matching scope
from the design of github actions cache, when saving cache in a branch, they will actually save the cache key in its branch's namespace. when updating database in a pr branch, saving the fingerprint-db cache will not update the fingerprint-db cache on main branch. as the result, we have to add
on.push.branches: [main]from the workflow and update fingerprint database when prs merged back and push to main branch. that make the main branch's database updated when new prs coming.to further update
easBuildIdfrom pr branches in the database, when a pr merged back to main branch. we should use github api to find the associated pr from the merge commit, find the pr comment we added, and find theeasBuildIdin the hidden metadata in the comment.Risks
what if concurrent github actions workflows pushed back to main branch, the database may be overwritten in unexpected state. in this case, currently i have to use the github actions concurrency to limit the concurrency group when pushing on main:
Test Plan