Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CI setup #1

Merged
merged 1 commit into from
Apr 30, 2024
Merged

CI setup #1

merged 1 commit into from
Apr 30, 2024

Conversation

SevInf
Copy link

@SevInf SevInf commented Apr 29, 2024

Multiple different things are happening here:

  1. Checked-in pre-compiled engines replaced by the download logic.

    Engine hash is stored in checked-in .versions/engine file and is
    downloaded in prepare script. Pre-compiled engines are still part of
    published npm package but they are no longer checked into the
    repository. That also removes the need for LFS setup.

  2. CI workflow for automated testing is added

    It is pretty much e2e test from prisma/prisma moved into this repository
    instead. Build example app and runs simple integration test on both iOS
    and Android emulator. It also fixes a bunch of linting failures present
    in the repo.

  3. CI workflow for automated updates of client, engines, and automated
    publishing of the package.

    Polls npm on cron, if the update found on either prisma@dev or
    prisma@latest, pulls in the new version, does update on the separate
    temporary branch and runs aforementioned test on it. If the test is
    succsful, branch is merged back into main and new @prisma/react-native
    package is published with an identical version and npm tag.

  4. Bunch of different tools that were added to the dependencies but never actually worked are removed (turborepo, release-it)

Close https://github.com/prisma/team-orm/issues/1106

@SevInf SevInf force-pushed the ci branch 16 times, most recently from a3ad6de to 38e6c64 Compare April 30, 2024 09:19
@SevInf SevInf marked this pull request as ready for review April 30, 2024 09:20
Multiple different things are happening here:

1. Checked-in pre-compiled engines replaced by the download logic.

Engine hash is stored in checked-in `.versions/engine` file and is
downloaded in `prepare` script. Pre-compiled engines are still part of
published npm package but they are no longer checked into the
repository. That also removes the need for LFS setup.

2. CI workflow for automated testing is setup

It is pretty much e2e test from prisma/prisma moved into this repository
instead. Build example app and runs simple integration test on both iOS
and Android emulator. It also fixes a bunch of linting failures present
in the repo.

3. CI workflow for automated updates of client, engines, and automated
   publishing of the package.

Polls npm on cron, if the update found on either `prisma@dev` or
`prisma@latest`, pulls in the new version, does update on the separate
temporary branch and runs aforementioned test on it. If the test is
succsful, branch is merged back into main and new `@prisma/react-native`
package is published with an identical version and npm tag.

Close prisma/team-orm#1106
@SevInf SevInf changed the title [WIP] CI CI setup Apr 30, 2024
@@ -0,0 +1,30 @@

package com.prismaexample;
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link

@Jolg42 Jolg42 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good.

I'm not a big fan of having more yarn in our codebases but I guess that was not picked by you. It would be nice to get rid of yarn in the future, maybe.

@SevInf SevInf merged commit 0f5eddd into main Apr 30, 2024
3 checks passed
@SevInf SevInf deleted the ci branch April 30, 2024 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants