Skip to content

Nightly

Nightly #49

Workflow file for this run

name: Nighlty
on:
# Runs every night at 2 AM
schedule:
- cron: '0 2 * * *'
# Manaual trigger
workflow_dispatch:
concurrency:
group: nightly-${{ github.ref }}
cancel-in-progress: true
jobs:
validate:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 9.11.0
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- uses: nrwl/nx-set-shas@v4
- name: Typecheck and lint
run: pnpm lint typecheck
- name: Run tests
run: pnpm test
- name: Build framework
run: pnpm build
- name: Publish framework to Verdaccio
run: |
pnpm verdaccio:init &
npx [email protected] http://localhost:4873
pnpm verdaccio:publish
- name: Run end-to-end tests
run: |
NPM_CONFIG_REGISTRY=http://localhost:4873 pnpm e2e
build-android:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 9.11.0
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- name: Install Java
uses: actions/setup-java@v4
with:
java-version: 17
distribution: adopt
cache: gradle
- run: pnpm install --frozen-lockfile
- uses: nrwl/nx-set-shas@v4
- name: Build framework
run: pnpm build
- name: Publish framework to Verdaccio
run: |
pnpm verdaccio:init &
npx [email protected] http://localhost:4873
pnpm verdaccio:publish
- name: Deploy template
run: |
cd ..
NPM_CONFIG_REGISTRY=http://localhost:4873 pnpm create @rnef/app \
--registry http://localhost:4873 \
NightlyDeploy \
--template=default \
--platform=ios --platform=android \
--plugin=metro
cd NightlyDeploy
NPM_CONFIG_REGISTRY=http://localhost:4873 \
NPM_CONFIG_NODE_LINKER=hoisted \
pnpm install
- name: Build Android template
run: |
cd ../NightlyDeploy
pnpm rnef build:android
build-ios:
runs-on: macos-latest
steps:
- uses: actions/checkout@v4
- uses: pnpm/action-setup@v4
with:
version: 9.11.0
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'pnpm'
- run: pnpm install --frozen-lockfile
- uses: nrwl/nx-set-shas@v4
- name: Build framework
run: pnpm build
- name: Publish framework to Verdaccio
run: |
pnpm verdaccio:init &
npx [email protected] http://localhost:4873
pnpm verdaccio:publish
- name: Deploy template
run: |
cd ..
NPM_CONFIG_REGISTRY=http://localhost:4873 pnpm create @rnef/app \
--registry http://localhost:4873 \
NightlyDeploy \
--template=default \
--platform=ios --platform=android \
--plugin=metro
cd NightlyDeploy
NPM_CONFIG_REGISTRY=http://localhost:4873 \
NPM_CONFIG_NODE_LINKER=hoisted \
pnpm install
- name: Install CocoaPods
run: |
cd ../NightlyDeploy
bundle install
cd ios
bundle exec pod install
- name: Build iOS template
run: |
cd ../NightlyDeploy
pnpm rnef build:ios --verbose