Skip to content

refactor(nightly): rewrite preview-server #2093

refactor(nightly): rewrite preview-server

refactor(nightly): rewrite preview-server #2093

Workflow file for this run

name: Nightly Release CI
# on:
# pull_request:
# branches:
# - refactor/node
on: [pull_request]
jobs:
call-rust-build:
uses: ./.github/workflows/rust-build.yaml
check-core-artifacts:
name: Check Core Artifacts
runs-on: ubuntu-latest
needs: call-rust-build
steps:
- uses: actions/download-artifact@v4
with:
path: /tmp/artifacts
- name: Check
run: |
for abi in linux-x64-gnu darwin-x64 darwin-arm64
do
test -f /tmp/artifacts/${{ github.sha }}-${abi}/farm.${abi}.node
done
check-create-farm-rust-artifacts:
name: Check Create Farm Rust Artifacts
runs-on: ubuntu-latest
needs: call-rust-build
steps:
- uses: actions/download-artifact@v4
with:
path: /tmp/artifacts
- name: Check
run: |
for abi in linux-x64-gnu linux-x64-musl darwin-x64 win32-x64-msvc linux-arm64-musl linux-arm64-gnu darwin-arm64 win32-ia32-msvc win32-arm64-msvc android-arm64 linux-arm-gnueabihf android-arm-eabi
do
ls /tmp/artifacts/
test -f /tmp/artifacts/${{ github.sha }}-${abi}-create-farm/create-farm.${abi}.node
done
check-plugin-artifacts:
name: Check ${{ matrix.settings.name }} Artifacts
runs-on: ubuntu-latest
needs: call-rust-build
strategy:
fail-fast: false
matrix:
settings:
- name: plugin-sass
- name: plugin-react
steps:
- uses: actions/download-artifact@v4
with:
path: /tmp/artifacts
- name: Check
run: |
for abi in linux-x64-gnu linux-x64-musl darwin-x64 win32-x64-msvc linux-arm64-musl linux-arm64-gnu darwin-arm64 win32-ia32-msvc win32-arm64-msvc
do
test -f /tmp/artifacts/${{ github.sha }}-${abi}-${{ matrix.settings.name }}/index.farm
done
nightly-release:
name: Nightly Release
needs: [call-rust-build]
runs-on: ubuntu-latest
steps:
- name: Checkout Repo
uses: actions/checkout@v3
- name: Setup Node.js 18.x
uses: actions/setup-node@v3
with:
node-version: 18.x
# batch download artifacts
- uses: actions/download-artifact@v4
with:
path: /tmp/artifacts
- name: Copy Farm Core Binary
run: cp /tmp/artifacts/${{ github.sha }}-linux-x64-gnu/* ./packages/core/binding
- name: Move Artifacts
run: |
for abi in linux-x64-gnu linux-x64-musl darwin-x64 win32-x64-msvc linux-arm64-musl linux-arm64-gnu darwin-arm64 win32-ia32-msvc win32-arm64-msvc
do
mv /tmp/artifacts/${{ github.sha }}-${abi}/* ./packages/core/npm/${abi}
mv /tmp/artifacts/${{ github.sha }}-${abi}-plugin-react/* ./rust-plugins/react/npm/${abi}
mv /tmp/artifacts/${{ github.sha }}-${abi}-plugin-sass/* ./rust-plugins/sass/npm/${abi}
mv /tmp/artifacts/${{ github.sha }}-${abi}-create-farm/* ./packages/create-farm/npm/${abi}
test -f ./packages/core/npm/${abi}/farm.${abi}.node
test -f ./packages/create-farm/npm/${abi}/create-farm.${abi}.node
test -f ./rust-plugins/react/npm/${abi}/index.farm
test -f ./rust-plugins/sass/npm/${abi}/index.farm
done
for abi in android-arm-eabi linux-arm-gnueabihf android-arm64
do
mv /tmp/artifacts/${{ github.sha }}-${abi}-create-farm/* ./packages/create-farm/npm/${abi}
test -f ./packages/create-farm/npm/${abi}/create-farm.${abi}.node
done
- name: Install Dependencies
run: npm install -g pnpm@9.4.0 && pnpm i --frozen-lockfile
- name: Build Plugin Tools
run: pnpm --filter @farmfe/plugin-tools run build
- name: Set Nightly Version for CLI and Core
run: |
NIGHTLY_VERSION="2.0.0-nightly.$(date +'%Y%m%d%H%M%S')"
pnpm --filter "./packages/cli" version $NIGHTLY_VERSION --no-git-tag-version
pnpm --filter "./packages/core" version $NIGHTLY_VERSION --no-git-tag-version
# - name: Publish Nightly to npm
# env:
# GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
# NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
# run: |
# echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc
# pnpm publish --tag nightly --no-git-checks
- name: Create Nightly Release Pull Request or Publish Nightly Version to npm
id: changesets
uses: changesets/action@v1
with:
version: pnpm run bump:nightly
publish: npm run release:nightly
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}