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

Monorepo [0/?] - move move github actions to root #5993

Merged
merged 40 commits into from
Jun 5, 2024

Conversation

tjzel
Copy link
Contributor

@tjzel tjzel commented May 8, 2024

About

This pull request is a part of the effort of migrating to monorepo structure:

Summary

Moving .github directory to the root of the project, alongside with fixes that regard new repository structures.

This pull request won't fix CIs which are being tackled in

Test plan

No CI should fail on a step related to the change of the monorepo structure.

Steps achieved towards monorepo

  • All CI pass
  • Precommit scripts work properly
  • react-native-reanimated is a separate workspace which uses hoisted node_modules
  • app is a separate workspace which uses hoisted node_modules
  • paper example is a separate workspace which uses hoisted node_modules
  • fabric example is a separate workspace which uses hoisted node_modules
  • web example is a separate workspace which uses hoisted node_modules
  • macos example is a separate workspace which uses hoisted node_modules
  • example is a separate workspace which uses hoisted node_modules
  • reanimated eslint plugin is a separate workspace which uses hoisted node_modules
  • the npm package builds and works as expected
  • reanimated2 directory is removed
  • TypeScript, ESLint and Prettier configs are unified and only extended when necessary in workspaces

@tjzel tjzel marked this pull request as draft May 8, 2024 14:21
java-version: 17

- name: Restore Reanimated node_modules from cache
uses: actions/cache@v3
with:
path: node_modules
key: ${{ runner.os }}-android-node-modules-reanimated-${{ hashFiles('yarn.lock') }}
path: packages/react-native-reanimated/node_modules
Copy link
Contributor Author

Choose a reason for hiding this comment

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

cc @tomekzaw

If you could explain to me (preferably offline) how does the memoization work here.

@tjzel tjzel marked this pull request as ready for review May 9, 2024 16:45
@tjzel tjzel requested a review from piaskowyk May 9, 2024 16:45
Copy link
Member

@piaskowyk piaskowyk left a comment

Choose a reason for hiding this comment

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

⚠️ After merging all monorepo PRs, this PR will break all CI processes due to path changes. However, let's merge it to avoid complicating the merging process, and we can address the necessary fixes immediately afterward.

@tjzel tjzel merged commit 04171e3 into @tjzel/monorepo Jun 5, 2024
40 checks passed
@tjzel tjzel deleted the @tjzel/monorepo-github-actions branch June 5, 2024 13:27
tjzel added a commit that referenced this pull request Jun 5, 2024
## About

This pull request is a part of the effort of migrating to monorepo
structure:
- #5992
- #5993

## Summary

This particular pull requests moves the precommit husky script to the
root directory to enable it. It also extracts `lint-staged`
configuration from `packages/react-native-reanimated` to a separate file
for it to be less polluted.

## Test plan

The script should be working as expected. Try it by cloning the monorepo
and doing something bad in the code.
tjzel added a commit that referenced this pull request Jun 5, 2024
…code and paper example (#5999)

## Summary

## About

This pull request is a part of the effort of migrating to monorepo
structure:
- #5992
- #5993
- #5998

## Summary

This particular pull request moves `app` directory to a package called
`reanimated-app` and `Example` directory to `reanimated-paper-example`
package. It also makes use of hoisted `node_modules` for those two
packages and `react-native-reanimated`.

## Test plan

Run `reanimated-paper-example` on both iOS and Android to see that it
works.
tjzel added a commit that referenced this pull request Jun 5, 2024
…code and paper example (#5999)

This pull request is a part of the effort of migrating to monorepo
structure:
- #5992
- #5993
- #5998

This particular pull request moves `app` directory to a package called
`reanimated-app` and `Example` directory to `reanimated-paper-example`
package. It also makes use of hoisted `node_modules` for those two
packages and `react-native-reanimated`.

Run `reanimated-paper-example` on both iOS and Android to see that it
works.
tjzel added a commit that referenced this pull request Jun 5, 2024
## About

This pull request is a part of the effort of migrating to monorepo
structure:
- #5992
- #5993
- #5999

## Summary

This particular pull request setups our Web Example. I had serious
issues with re-configuring the previous one to work in monorepo and I
decided to build this one from scratch.

## Test plan

New Web Example should work just like the old one.

---------

Co-authored-by: Michał Bert <michal.bert@swmansion.com>
tjzel added a commit that referenced this pull request Jun 5, 2024
## About

This pull request is a part of the effort of migrating to monorepo
structure:
- #5992
- #5993
- #5999
- #6008

## Summary

This particular pull requests all our configuration files (ESLint,
Prettier, Typescript) to the root directory and extend them in the
packages. It also moves `eslint-plugin-reanimated` to a separate
package.

## Test plan

🚀
tjzel added a commit that referenced this pull request Jun 5, 2024
## About

This pull request is a part of the effort of migrating to monorepo
structure:
- #5992
- #5993
- #5999
- #6008
- #6020

## Summary

This particular pull request takes `FabricExample` out of
`react-native-reanimated` workspace and turns it into a separate
package.

## Test plan

New FabricExample app should compile and work as expected.
tjzel added a commit that referenced this pull request Jun 5, 2024
## About

This pull request is a part of the effort of migrating to monorepo
structure:
- #5992
- #5993
- #5999
- #6008
- #6020
- #6023

## Summary

This particular pull request takes `NextExample` out of
`react-native-reanimated` workspace and turns it into a separate
package.

## Test plan

New NextExample app should compile and work as expected.
tjzel added a commit that referenced this pull request Jun 5, 2024
## About

This pull request is a part of the effort of migrating to monorepo
structure:
- #5992
- #5993
- #5999
- #6008
- #6020
- #6023

## Summary

This particular pull request takes `MacOSExample` out of
`react-native-reanimated` workspace and turns it into a separate
package.

## Test plan

New MacOSExample app should compile and work as expected.

---------

Co-authored-by: Krzysztof Piaskowy <krzysztof.piaskowy@swmansion.com>
tjzel added a commit that referenced this pull request Jun 5, 2024
## About

This pull request is a part of the effort of migrating to monorepo
structure:
- #5992
- #5993
- #5999
- #6008
- #6020
- #6023
- #6029

## Summary

This particular pull request takes our docs out of
`react-native-reanimated` workspace and turns it into a separate
package. However, due to some issues that seem to stem from Docusaurus
and Yarn versions, it doesn't work as a workspace. For now we will use
it just like we did before, with its own `yarn.lock` etc. until we are
able to fix that.

## Test plan

Docs should compile and work as expected.

---------

Co-authored-by: Krzysztof Piaskowy <krzysztof.piaskowy@swmansion.com>
tjzel added a commit that referenced this pull request Jun 5, 2024
## About

This pull request is a part of the effort of migrating to monorepo
structure:
- #5992
- #5993
- #5999
- #6008
- #6020
- #6023
- #6029
- #6051

## Summary

This particular pull request takes `TVOSExample` out of
`react-native-reanimated` workspace and turns it into a separate
package.

## Test plan

TVOSExample should compile and work as expected.

---------

Co-authored-by: Krzysztof Piaskowy <krzysztof.piaskowy@swmansion.com>
tjzel added a commit that referenced this pull request Jun 5, 2024
## About

This pull request is a part of the effort of migrating to monorepo
structure:
- #5992
- #5993
- #5998
- #5999
- #6008
- #6020
- #6023
- #6029
- #6051
- #6053 

## Summary

This particular pull request takes removes `reanimated2` directory from
`src`.

## Test plan

Example apps should work as expected.

---------

Co-authored-by: Krzysztof Piaskowy <krzysztof.piaskowy@swmansion.com>
Co-authored-by: Michał Bert <michal.bert@swmansion.com>
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.

None yet

2 participants