Nightly #777
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Nightly | |
| on: | |
| workflow_dispatch: | |
| # nightly build @ 2:15 AM UTC | |
| schedule: | |
| - cron: "15 2 * * *" | |
| jobs: | |
| set_release_type: | |
| runs-on: ubuntu-latest | |
| if: github.repository == 'facebook/react-native' | |
| outputs: | |
| RELEASE_TYPE: ${{ steps.set_release_type.outputs.RELEASE_TYPE }} | |
| env: | |
| EVENT_NAME: ${{ github.event_name }} | |
| REF: ${{ github.ref }} | |
| steps: | |
| - id: set_release_type | |
| run: | | |
| echo "Setting release type to nightly" | |
| echo "RELEASE_TYPE=nightly" >> $GITHUB_OUTPUT | |
| prebuild_apple_dependencies: | |
| if: github.repository == 'facebook/react-native' | |
| uses: ./.github/workflows/prebuild-ios-dependencies.yml | |
| secrets: inherit | |
| prebuild_react_native_core: | |
| uses: ./.github/workflows/prebuild-ios-core.yml | |
| with: | |
| use-hermes-nightly: true | |
| version-type: nightly | |
| secrets: inherit | |
| needs: [prebuild_apple_dependencies] | |
| build_android: | |
| runs-on: 8-core-ubuntu | |
| if: github.repository == 'facebook/react-native' | |
| needs: [set_release_type] | |
| container: | |
| image: reactnativecommunity/react-native-android:latest | |
| env: | |
| TERM: "dumb" | |
| # Set the encoding to resolve a known character encoding issue with decompressing tar.gz files in containers | |
| # via Gradle: https://github.com/gradle/gradle/issues/23391#issuecomment-1878979127 | |
| LC_ALL: C.UTF8 | |
| GRADLE_OPTS: "-Dorg.gradle.daemon=false" | |
| ORG_GRADLE_PROJECT_SIGNING_PWD: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_PWD }} | |
| ORG_GRADLE_PROJECT_SIGNING_KEY: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_KEY }} | |
| ORG_GRADLE_PROJECT_SONATYPE_USERNAME: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPE_USERNAME }} | |
| ORG_GRADLE_PROJECT_SONATYPE_PASSWORD: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPE_PASSWORD }} | |
| REACT_NATIVE_DOWNLOADS_DIR: /opt/react-native-downloads | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Build Android | |
| uses: ./.github/actions/build-android | |
| with: | |
| release-type: ${{ needs.set_release_type.outputs.RELEASE_TYPE }} | |
| gradle-cache-encryption-key: ${{ secrets.GRADLE_CACHE_ENCRYPTION_KEY }} | |
| build_npm_package: | |
| runs-on: 8-core-ubuntu | |
| needs: | |
| [ | |
| set_release_type, | |
| build_android, | |
| prebuild_apple_dependencies, | |
| prebuild_react_native_core, | |
| ] | |
| container: | |
| image: reactnativecommunity/react-native-android:latest | |
| env: | |
| TERM: "dumb" | |
| GRADLE_OPTS: "-Dorg.gradle.daemon=false" | |
| # Set the encoding to resolve a known character encoding issue with decompressing tar.gz files in containers | |
| # via Gradle: https://github.com/gradle/gradle/issues/23391#issuecomment-1878979127 | |
| LC_ALL: C.UTF8 | |
| # By default we only build ARM64 to save time/resources. For release/nightlies, we override this value to build all archs. | |
| ORG_GRADLE_PROJECT_reactNativeArchitectures: "arm64-v8a" | |
| REACT_NATIVE_DOWNLOADS_DIR: /opt/react-native-downloads | |
| env: | |
| GHA_NPM_TOKEN: ${{ secrets.GHA_NPM_TOKEN }} | |
| ORG_GRADLE_PROJECT_SIGNING_PWD: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_PWD }} | |
| ORG_GRADLE_PROJECT_SIGNING_KEY: ${{ secrets.ORG_GRADLE_PROJECT_SIGNING_KEY }} | |
| ORG_GRADLE_PROJECT_SONATYPE_USERNAME: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPE_USERNAME }} | |
| ORG_GRADLE_PROJECT_SONATYPE_PASSWORD: ${{ secrets.ORG_GRADLE_PROJECT_SONATYPE_PASSWORD }} | |
| steps: | |
| - name: Checkout | |
| uses: actions/checkout@v6 | |
| - name: Build and Publish NPM Package | |
| uses: ./.github/actions/build-npm-package | |
| with: | |
| release-type: ${{ needs.set_release_type.outputs.RELEASE_TYPE }} | |
| gha-npm-token: ${{ env.GHA_NPM_TOKEN }} | |
| gradle-cache-encryption-key: ${{ secrets.GRADLE_CACHE_ENCRYPTION_KEY }} |