mirror of
https://github.com/logseq/logseq.git
synced 2026-05-05 03:16:37 +00:00
add workflow to deploy any branch
This commit is contained in:
92
.github/workflows/deploy-and-branch.yml
vendored
Normal file
92
.github/workflows/deploy-and-branch.yml
vendored
Normal file
@@ -0,0 +1,92 @@
|
||||
name: Deploy Any Branch to Cloudflare
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
branch:
|
||||
description: "Git branch to build & deploy"
|
||||
required: true
|
||||
default: "main"
|
||||
|
||||
env:
|
||||
CLOJURE_VERSION: "1.11.1.1413"
|
||||
NODE_VERSION: "22"
|
||||
JAVA_VERSION: "11"
|
||||
|
||||
jobs:
|
||||
build-and-deploy:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
steps:
|
||||
- name: Checkout selected branch
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
ref: ${{ inputs.branch }}
|
||||
fetch-depth: 0
|
||||
|
||||
- name: Setup Java JDK
|
||||
uses: actions/setup-java@v4
|
||||
with:
|
||||
distribution: "zulu"
|
||||
java-version: ${{ env.JAVA_VERSION }}
|
||||
|
||||
- name: Set up Node
|
||||
uses: actions/setup-node@v4
|
||||
with:
|
||||
node-version: ${{ env.NODE_VERSION }}
|
||||
|
||||
- name: Setup Clojure
|
||||
uses: DeLaGuardo/setup-clojure@11.0
|
||||
with:
|
||||
cli: ${{ env.CLOJURE_VERSION }}
|
||||
|
||||
- name: Install Yarn deps
|
||||
run: yarn install --frozen-lockfile
|
||||
|
||||
- name: Set build environment flags
|
||||
run: |
|
||||
echo "ENABLE_FILE_SYNC_PRODUCTION=true" >> $GITHUB_ENV
|
||||
echo "ENABLE_RTC_SYNC_PRODUCTION=true" >> $GITHUB_ENV
|
||||
|
||||
- name: Build web + workers
|
||||
run: |
|
||||
yarn gulp:build
|
||||
clojure -M:cljs release app db-worker inference-worker \
|
||||
--config-merge '{:compiler-options {:source-map true :source-map-include-sources-content true :source-map-detail-level :symbols}}'
|
||||
yarn webpack-app-build
|
||||
|
||||
rsync -avz \
|
||||
--exclude node_modules \
|
||||
--exclude android \
|
||||
--exclude ios \
|
||||
--exclude mobile \
|
||||
./static/ ./public/
|
||||
|
||||
mkdir -p r2
|
||||
mv ./public/js/main.js.map ./r2/${{ inputs.branch }}.main.js.map
|
||||
|
||||
sed -i "s|=main.js.map|=https://assets.logseq.io/${{ inputs.branch }}.main.js.map|g" \
|
||||
./public/js/main.js
|
||||
env:
|
||||
LOGSEQ_SENTRY_DSN: ${{ secrets.LOGSEQ_SENTRY_DSN }}
|
||||
LOGSEQ_POSTHOG_TOKEN: ${{ secrets.LOGSEQ_POSTHOG_TOKEN }}
|
||||
|
||||
- name: Upload sourcemaps to R2
|
||||
uses: ryand56/r2-upload-action@latest
|
||||
with:
|
||||
r2-account-id: 2553ea8236c11ea0f88de28fce1cbfee
|
||||
r2-access-key-id: ${{ secrets.R2_ACCESS_KEY_ID }}
|
||||
r2-secret-access-key: ${{ secrets.R2_SECRET_ACCESS_KEY }}
|
||||
r2-bucket: ${{ secrets.R2_ASSETS_BUCKET }}
|
||||
source-dir: r2
|
||||
destination-dir: ./
|
||||
|
||||
- name: Publish to Cloudflare Pages
|
||||
uses: cloudflare/pages-action@1
|
||||
with:
|
||||
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
|
||||
accountId: 2553ea8236c11ea0f88de28fce1cbfee
|
||||
projectName: "logseq-any-branch"
|
||||
directory: "public"
|
||||
gitHubToken: ${{ secrets.GITHUB_TOKEN }}
|
||||
branch: ${{ inputs.branch }}
|
||||
Reference in New Issue
Block a user