Fetch and download the bundle automatically #6
This file contains 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: Generate and Deploy JS Bundle | |
on: | |
push: | |
branches: | |
- release | |
workflow_dispatch: | |
jobs: | |
generate-bundle: | |
runs-on: ubuntu-latest | |
steps: | |
# Step 1: Checkout the repository | |
- name: Checkout code | |
uses: actions/checkout@v3 | |
# Step 2: Set up Node.js | |
- name: Set up Node.js | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
# Step 3: Install dependencies | |
- name: Install dependencies | |
run: npm install | |
# Step 4: Generate the JavaScript bundle | |
- name: Generate JS bundle | |
run: | | |
mkdir -p dist | |
npx react-native bundle \ | |
--platform android \ | |
--dev false \ | |
--entry-file index.js \ | |
--bundle-output dist/index.android.bundle \ | |
--assets-dest dist/ | |
# Step 5: Upload or Replace the Release | |
- name: Create or Replace GitHub Release | |
uses: ncipollo/release-action@v1 | |
with: | |
token: ${{ secrets.GITHUB_TOKEN }} | |
artifacts: dist/index.android.bundle | |
tag: static-release | |
releaseName: "Static JS Bundle Release" | |
body: "This release contains the latest JavaScript bundle for React Native." | |
draft: false | |
prerelease: false | |
replace: true # Allow replacing the release if it already exists |