Skip to content

Commit

Permalink
feat: Add release dedicated GitHub Action (#6569)
Browse files Browse the repository at this point in the history
## Summary

Adding an action that would run on `xx.xx-stable` branch which would be
dedicated for releases like in React Native repo. Making most of the
other workflows callable/manually dispatchable too.

## Test plan

🚀
  • Loading branch information
tjzel authored Oct 5, 2024
1 parent 49c797e commit 8c53bb8
Show file tree
Hide file tree
Showing 23 changed files with 144 additions and 2 deletions.
1 change: 1 addition & 0 deletions .github/workflows/V8-reanimated-build-check-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
- .github/workflows/helper/configureV8.js
schedule:
- cron: '37 19 * * *'
workflow_call:
workflow_dispatch:

jobs:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/babel-plugin-static-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,8 @@ on:
paths:
- '.github/workflows/babel-plugin-static-check.yml'
- 'packages/react-native-reanimated/plugin/**'
workflow_call:
workflow_dispatch:

jobs:
check:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/docs-reanimated-build-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ on:
merge_group:
branches:
- main
workflow_call:
workflow_dispatch:

jobs:
build:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/example-android-build-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ on:
- apps/paper-example/android/**
- apps/fabric-example/package.json
- apps/fabric-example/android/**
workflow_call:
workflow_dispatch:

jobs:
build:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/example-ios-build-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,8 @@ on:
- apps/paper-example/ios/**
- apps/fabric-example/package.json
- apps/fabric-example/ios/**
workflow_call:
workflow_dispatch:

jobs:
build:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/example-macos-build-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@ on:
- apps/macos-example/package.json
- apps/macos-example/ios/**
- apps/macos-example/macos/**
workflow_call:
workflow_dispatch:

jobs:
build:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/example-next-build-check-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,9 @@ on:
push:
branches:
- main
workflow_call:
workflow_dispatch:

jobs:
check:
runs-on: ubuntu-latest
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/example-tvos-build-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,8 @@ on:
- packages/react-native-reanimated/Common/**
- packages/react-native-reanimated/TVOSExample/package.json
- packages/react-native-reanimated/TVOSExample/ios/**
workflow_call:
workflow_dispatch:

jobs:
build:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/example-typescript-check-and-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ on:
push:
branches:
- main
workflow_call:
workflow_dispatch:

jobs:
check:
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/expo-devclient-build-check-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ on:
- .github/workflows/expo-devclient-build-check-nightly.yml
schedule:
- cron: '0 0 * * *' # after publishing new nightly version on NPM
workflow_call:
workflow_dispatch:

jobs:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,9 +38,11 @@ jobs:
run: yarn install
- name: Create RootApp
working-directory: monorepo
# TODO: Revise if we want to hardcode 0.73 here.
run: npx react-native@0.73 init RootApp --skip-install --version 0.73
- name: Create PackageApp
working-directory: monorepo/packages
# TODO: Revise if we want to hardcode 0.73 here.
run: npx react-native@0.73 init PackageApp --skip-install --version 0.73

- name: Install dependencies for RootApp
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ on:
- packages/react-native-reanimated/android/build.gradle
schedule:
- cron: '37 19 * * *' # at 21:37 every day
workflow_call:
workflow_dispatch:

jobs:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,13 @@ on:
- .github/workflows/react-native-nightly-reanimated-build-check-nightly.yml
schedule:
- cron: '37 19 * * *'
workflow_call:
workflow_dispatch:

jobs:
build_ios:
if: github.repository == 'software-mansion/react-native-reanimated'
runs-on: $${{ matrix.platform == 'iOS' && 'macos-14' || 'ubuntu-latest'}}
runs-on: ${{ matrix.platform == 'iOS' && 'macos-14' || 'ubuntu-latest'}}
strategy:
matrix:
react-native-architecture: ['Paper', 'Fabric']
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/reanimated-android-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ on:
- 'packages/react-native-reanimated/android/build.gradle'
- 'packages/react-native-reanimated/scripts/cpplint.sh'
- 'packages/react-native-reanimated/Common/cpp/**'
workflow_call:
workflow_dispatch:

jobs:
check:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/reanimated-apple-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,8 @@ on:
merge_group:
branches:
- main
workflow_call:
workflow_dispatch:

jobs:
check:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/reanimated-common-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ on:
merge_group:
branches:
- main
workflow_call:
workflow_dispatch:

jobs:
lint:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ on:
types: [opened, synchronize, labeled, unlabeled]
schedule:
- cron: '37 19 * * *'
workflow_call:
workflow_dispatch:

jobs:
Expand Down
107 changes: 107 additions & 0 deletions .github/workflows/reanimated-release-checks.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,107 @@
name: Reanimated release checks
on:
pull_request:
branches:
- "[0-9]+.[0-9]+-stable"
push:
branches:
- "[0-9]+.[0-9]+-stable"
workflow_call:
workflow_dispatch:

jobs:
babel_plugin_static_check:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Babel plugin static check
uses: ./.github/workflows/babel-plugin-static-check.yml

docs_reanimated_build_check:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Docs Reanimated build check
uses: ./.github/workflows/docs-reanimated-build-check.yml

example_android_build_check:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Example Android build check
uses: ./.github/workflows/example-android-build-check.yml

example_ios_build_check:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Example iOS build check
uses: ./.github/workflows/example-ios-build-check.yml

example_macos_build_check:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Example macOS build check
uses: ./.github/workflows/example-macos-build-check.yml

example_next_build_check:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Example Next build check
uses: ./.github/workflows/example-next-build-check-and-test.yml

example_tvos_build_check:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Example tvOS build check
uses: ./.github/workflows/example-tvos-build-check.yml

example_typescript_check_and_lint:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Example Typescript check and lint
uses: ./.github/workflows/example-typescript-check-and-lint.yml

monorepo_app_reanimated_build_check_nightly:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Monorepo app Reanimated build check [Nightly]
uses: ./.github/workflows/monorepo-app-reanimated-build-check-nightly.yml

reanimated_android_validation:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Reanimated Android validation
uses: ./.github/workflows/reanimated-android-validation.yml

reanimated_apple_validation:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Reanimated Apple validation
uses: ./.github/workflows/reanimated-apple-validation.yml

reanimated_common_build_check:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Reanimated Common build check
uses: ./.github/workflows/reanimated-common-validation.yml

reanimated_compatibility_check_nightly:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Reanimated Common compatibility check [Nightly]
uses: ./.github/workflows/reanimated-compatibility-check-nightly.yml

reanimated_static_checks:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Reanimated static checks
uses: ./.github/workflows/reanimated-static-checks.yml

reanimated_typescript_compatibility_test_nightly:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Reanimated Typescript compatibility test [Nightly]
uses: ./.github/workflows/reanimated-typescript-compatibility-test-nightly.yml

static_framework_reanimated_build_check_nightly:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Static framework Reanimated build check [Nightly]
uses: ./.github/workflows/static-framework-reanimated-build-check-nightly.yml

V8_reanimated_build_check_nightly:
if: github.repository == 'software-mansion/react-native-reanimated'
name: V8 Reanimated build check [Nightly]
uses: ./.github/workflows/V8-reanimated-build-check-nightly.yml

windows_hosted_app_reanimated_build_check_nightly:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Windows hosted app Reanimated build check [Nightly]
uses: ./.github/workflows/windows-hosted-app-reanimated-build-check-nightly.yml

yarn_validation:
if: github.repository == 'software-mansion/react-native-reanimated'
name: Yarn validation
uses: ./.github/workflows/yarn-validation.yml

2 changes: 2 additions & 0 deletions .github/workflows/reanimated-static-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,8 @@ on:
push:
branches:
- main
workflow_call:
workflow_dispatch:

jobs:
check:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:
- .github/workflows/reanimated-typescript-compatibility-test-nightly.yml
schedule:
- cron: '37 19 * * *'
workflow_call:
workflow_dispatch:

jobs:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:
- .github/workflows/static-framework-reanimated-build-nightly.yml
schedule:
- cron: '37 19 * * *'
workflow_call:
workflow_dispatch:

jobs:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:
- .github/workflows/windows-hosted-app-reanimated-build-check-nightly.yml
schedule:
- cron: '37 19 * * *'
workflow_call:
workflow_dispatch:

jobs:
Expand Down
2 changes: 2 additions & 0 deletions .github/workflows/yarn-validation.yml
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,8 @@ on:
- '.github/workflows/yarn-validation.yml'
- '**/package.json'
- '**/yarn.lock'
workflow_call:
workflow_dispatch:

jobs:
check:
Expand Down

0 comments on commit 8c53bb8

Please sign in to comment.