mirror of https://github.com/nocodb/nocodb
աɨռɢӄաօռɢ
2 years ago
committed by
GitHub
12 changed files with 372 additions and 52 deletions
@ -0,0 +1,158 @@ |
|||||||
|
name: "Release : Timely Executables" |
||||||
|
|
||||||
|
on: |
||||||
|
# Triggered manually |
||||||
|
workflow_dispatch: |
||||||
|
inputs: |
||||||
|
tag: |
||||||
|
description: "Timely version" |
||||||
|
required: true |
||||||
|
# Triggered by release-nightly-dev.yml / release-pr.yml |
||||||
|
workflow_call: |
||||||
|
inputs: |
||||||
|
tag: |
||||||
|
description: "Timely version" |
||||||
|
required: true |
||||||
|
type: string |
||||||
|
secrets: |
||||||
|
NC_GITHUB_TOKEN: |
||||||
|
required: true |
||||||
|
jobs: |
||||||
|
build-executables: |
||||||
|
runs-on: ubuntu-latest |
||||||
|
steps: |
||||||
|
- uses: actions/checkout@v3 |
||||||
|
with: |
||||||
|
token: ${{ secrets.NC_GITHUB_TOKEN }} |
||||||
|
repository: 'nocodb/nocodb-timely' |
||||||
|
- name: Cache node modules |
||||||
|
id: cache-npm |
||||||
|
uses: actions/cache@v3 |
||||||
|
env: |
||||||
|
cache-name: cache-node-modules |
||||||
|
with: |
||||||
|
# npm cache files are stored in `~/.npm` on Linux/macOS |
||||||
|
path: ~/.npm |
||||||
|
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} |
||||||
|
restore-keys: | |
||||||
|
${{ runner.os }}-build-${{ env.cache-name }}- |
||||||
|
${{ runner.os }}-build- |
||||||
|
${{ runner.os }}- |
||||||
|
- name: Cache pkg modules |
||||||
|
id: cache-pkg |
||||||
|
uses: actions/cache@v3 |
||||||
|
env: |
||||||
|
cache-name: cache-pkg |
||||||
|
with: |
||||||
|
# pkg cache files are stored in `~/.pkg-cache` |
||||||
|
path: ~/.pkg-cache |
||||||
|
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ hashFiles('**/package-lock.json') }} |
||||||
|
restore-keys: | |
||||||
|
${{ runner.os }}-build-${{ env.cache-name }}- |
||||||
|
${{ runner.os }}-build- |
||||||
|
${{ runner.os }}- |
||||||
|
- name: Install QEMU and ldid |
||||||
|
run: | |
||||||
|
sudo apt update |
||||||
|
# Install qemu |
||||||
|
sudo apt install qemu binfmt-support qemu-user-static |
||||||
|
# install ldid |
||||||
|
git clone https://github.com/daeken/ldid.git |
||||||
|
cd ./ldid |
||||||
|
./make.sh |
||||||
|
sudo cp ./ldid /usr/local/bin |
||||||
|
|
||||||
|
- name: Update nocodb-timely |
||||||
|
env: |
||||||
|
TAG: ${{ github.event.inputs.tag || inputs.tag }} |
||||||
|
run: | |
||||||
|
npm i -E nocodb-daily@$TAG |
||||||
|
|
||||||
|
git config user.name 'github-actions[bot]' |
||||||
|
git config user.email 'github-actions[bot]@users.noreply.github.com' |
||||||
|
|
||||||
|
git commit package.json -m "Update to $TAG" |
||||||
|
git tag $TAG |
||||||
|
git push --tags |
||||||
|
|
||||||
|
|
||||||
|
- uses: actions/setup-node@v3 |
||||||
|
with: |
||||||
|
node-version: 16 |
||||||
|
|
||||||
|
- name : Install dependencies and build executables |
||||||
|
run: | |
||||||
|
# install npm dependendencies |
||||||
|
npm i |
||||||
|
|
||||||
|
# Copy sqlite binaries |
||||||
|
rsync -rvzhP ./binaries/binding/ ./node_modules/sqlite3/lib/binding/ |
||||||
|
|
||||||
|
# clean up code to optimize size |
||||||
|
npx modclean --patterns="default:*" --ignore="nc-lib-gui-daily/**,dayjs/**,express-status-monitor/**,sqlite3/**" --run |
||||||
|
|
||||||
|
# build executables |
||||||
|
npm run build |
||||||
|
|
||||||
|
mkdir ./mac-dist |
||||||
|
mv ./dist/Noco-macos-arm64 ./mac-dist/ |
||||||
|
mv ./dist/Noco-macos-x64 ./mac-dist/ |
||||||
|
|
||||||
|
- name: Upload executables(except mac executables) to release |
||||||
|
uses: svenstaro/upload-release-action@v2 |
||||||
|
with: |
||||||
|
repo_token: ${{ secrets.NC_GITHUB_TOKEN }} |
||||||
|
file: dist/** |
||||||
|
tag: ${{ github.event.inputs.tag || inputs.tag }} |
||||||
|
overwrite: true |
||||||
|
file_glob: true |
||||||
|
repo_name: nocodb/nocodb-timely |
||||||
|
|
||||||
|
- uses: actions/upload-artifact@master |
||||||
|
with: |
||||||
|
name: ${{ github.event.inputs.tag || inputs.tag }} |
||||||
|
path: mac-dist |
||||||
|
retention-days: 1 |
||||||
|
|
||||||
|
sign-mac-executables: |
||||||
|
runs-on: macos-latest |
||||||
|
needs: build-executables |
||||||
|
steps: |
||||||
|
|
||||||
|
- uses: actions/download-artifact@master |
||||||
|
with: |
||||||
|
name: ${{ github.event.inputs.tag || inputs.tag }} |
||||||
|
path: mac-dist |
||||||
|
|
||||||
|
- name: Sign macOS executables |
||||||
|
run: | |
||||||
|
/usr/bin/codesign --force -s - ./mac-dist/Noco-macos-arm64 -v |
||||||
|
/usr/bin/codesign --force -s - ./mac-dist/Noco-macos-x64 -v |
||||||
|
|
||||||
|
- uses: actions/upload-artifact@master |
||||||
|
with: |
||||||
|
name: ${{ github.event.inputs.tag || inputs.tag }} |
||||||
|
path: mac-dist |
||||||
|
retention-days: 1 |
||||||
|
|
||||||
|
|
||||||
|
publish-mac-executables: |
||||||
|
needs: sign-mac-executables |
||||||
|
runs-on: ubuntu-latest |
||||||
|
steps: |
||||||
|
- uses: actions/download-artifact@master |
||||||
|
with: |
||||||
|
name: ${{ github.event.inputs.tag || inputs.tag }} |
||||||
|
path: mac-dist |
||||||
|
|
||||||
|
- name: Upload mac executables to release |
||||||
|
uses: svenstaro/upload-release-action@v2 |
||||||
|
with: |
||||||
|
repo_token: ${{ secrets.NC_GITHUB_TOKEN }} |
||||||
|
file: mac-dist/** |
||||||
|
tag: ${{ github.event.inputs.tag || inputs.tag }} |
||||||
|
overwrite: true |
||||||
|
file_glob: true |
||||||
|
repo_name: nocodb/nocodb-timely |
||||||
|
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,12 @@ |
|||||||
|
process.env.NC_BINARY_BUILD = 'true'; |
||||||
|
(async () => { |
||||||
|
try { |
||||||
|
const app = require('express')(); |
||||||
|
const {Noco} = require("nocodb"); |
||||||
|
const httpServer = app.listen(process.env.PORT || 8080); |
||||||
|
app.use(await Noco.init({}, httpServer, app)); |
||||||
|
console.log(`Visit : localhost:${process.env.PORT}/dashboard`) |
||||||
|
} catch(e) { |
||||||
|
console.log(e) |
||||||
|
} |
||||||
|
})() |
@ -0,0 +1,33 @@ |
|||||||
|
{ |
||||||
|
"name": "Noco", |
||||||
|
"version": "1.0.0", |
||||||
|
"description": "", |
||||||
|
"main": "index.js", |
||||||
|
"bin": "index.js", |
||||||
|
"scripts": { |
||||||
|
"test": "echo \"Error: no test specified\" && exit 1", |
||||||
|
"start": "node index.js", |
||||||
|
"upgrade": "npm uninstall --save nocodb && npm install --save nocodb", |
||||||
|
"build": "npx pkg . --out-path dist --compress GZip" |
||||||
|
}, |
||||||
|
"pkg": { |
||||||
|
"assets": [ |
||||||
|
"node_modules/**/*" |
||||||
|
], |
||||||
|
"targets": [ |
||||||
|
"node16-linux-arm64", |
||||||
|
"node16-macos-arm64", |
||||||
|
"node16-win-arm64", |
||||||
|
"node16-linux-x64", |
||||||
|
"node16-macos-x64", |
||||||
|
"node16-win-x64" |
||||||
|
] |
||||||
|
}, |
||||||
|
"keywords": [], |
||||||
|
"author": "", |
||||||
|
"license": "ISC", |
||||||
|
"dependencies": { |
||||||
|
"express": "^4.17.1", |
||||||
|
"nocodb": "0.91.10" |
||||||
|
} |
||||||
|
} |
Loading…
Reference in new issue