chore: import upstream snapshot with attribution
This commit is contained in:
@@ -0,0 +1,109 @@
|
||||
# Simplified workflow using custom electerm-builder Docker image
|
||||
name: linux-legacy-docker
|
||||
|
||||
on:
|
||||
push:
|
||||
branches: [ build, test, build-only, linux-legacy, legacy-build ]
|
||||
workflow_dispatch:
|
||||
|
||||
jobs:
|
||||
build:
|
||||
runs-on: ubuntu-latest
|
||||
container: zxdong262/electerm-builder-legacy:latest # This will be our custom image
|
||||
environment: build
|
||||
if: ${{ !contains(github.event.head_commit.message, '[skip build]') && !contains(github.event.head_commit.message, '[skip ci]') && !contains(github.event.head_commit.message, '[skip legacy]') && !contains(github.event.head_commit.message, '[skip linux-legacy]') }}
|
||||
|
||||
steps:
|
||||
- name: Clone repository to /tmp and setup
|
||||
run: |
|
||||
cd /tmp
|
||||
git clone https://github.com/electerm/electerm.git electerm_build
|
||||
cd electerm_build
|
||||
git checkout ${{ github.sha }}
|
||||
|
||||
# Configure npm to use /tmp for cache and global packages
|
||||
mkdir -p /tmp/.npm /tmp/.npm-global
|
||||
npm config set cache /tmp/.npm
|
||||
npm config set prefix /tmp/.npm-global
|
||||
export PATH="/tmp/.npm-global/bin:$PATH"
|
||||
echo "PATH=/tmp/.npm-global/bin:$PATH" >> $GITHUB_ENV
|
||||
echo "npm_config_cache=/tmp/.npm" >> $GITHUB_ENV
|
||||
echo "npm_config_prefix=/tmp/.npm-global" >> $GITHUB_ENV
|
||||
|
||||
- name: Verify pre-installed versions
|
||||
working-directory: /tmp/electerm_build
|
||||
run: |
|
||||
echo "=== Pre-installed versions ==="
|
||||
node --version
|
||||
npm --version
|
||||
yarn --version
|
||||
python3 --version
|
||||
python --version
|
||||
gcc --version
|
||||
g++ --version
|
||||
fpm --version
|
||||
|
||||
- name: Clear electron-builder cache
|
||||
working-directory: /tmp/electerm_build
|
||||
run: rm -rf ~/.cache/electron-builder
|
||||
|
||||
- name: ci init
|
||||
working-directory: /tmp/electerm_build
|
||||
run: npm config set legacy-peer-deps true
|
||||
|
||||
- name: Update electron version and remove package-lock
|
||||
working-directory: /tmp/electerm_build
|
||||
run: |
|
||||
node -e "
|
||||
const fs = require('fs');
|
||||
const pkg = JSON.parse(fs.readFileSync('package.json'));
|
||||
pkg.devDependencies.electron = '22.3.27';
|
||||
pkg.devDependencies['electron-builder'] = '26.0.20';
|
||||
pkg.devDependencies['@electron/rebuild'] = '3.7.2';
|
||||
pkg.dependencies['node-pty'] = '0.10.1';
|
||||
pkg.dependencies.serialport = '10.5.0';
|
||||
pkg.devDependencies.vite = '4';
|
||||
pkg.devDependencies['@vitejs/plugin-react'] = '4.7.0';
|
||||
fs.writeFileSync('package.json', JSON.stringify(pkg, null, 2));
|
||||
fs.unlinkSync('package-lock.json');
|
||||
"
|
||||
|
||||
- name: Install npm dependencies
|
||||
working-directory: /tmp/electerm_build
|
||||
run: npm i && npm i -S @electron/rebuild@3.7.2
|
||||
|
||||
- name: Install R2 dependencies if needed
|
||||
working-directory: /tmp/electerm_build
|
||||
if: ${{ contains(github.event.head_commit.message, '[r2]') }}
|
||||
run: npm i -D @aws-sdk/client-s3
|
||||
|
||||
- name: Verify updated dependencies
|
||||
working-directory: /tmp/electerm_build
|
||||
run: |
|
||||
echo "Verifying updated dependencies:"
|
||||
npm list electron --depth=0
|
||||
npm list @electron/rebuild --depth=0
|
||||
npm list node-pty --depth=0
|
||||
npm list serialport --depth=0
|
||||
npm list vite --depth=0
|
||||
|
||||
- name: Build application
|
||||
working-directory: /tmp/electerm_build
|
||||
run: npm run b
|
||||
|
||||
- name: Run pb
|
||||
working-directory: /tmp/electerm_build
|
||||
run: npm run pb
|
||||
|
||||
- name: Build legacy packages
|
||||
working-directory: /tmp/electerm_build
|
||||
env:
|
||||
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
BUILD_NUMBER: ${{ secrets.BUILD_NUMBER }}
|
||||
USE_SYSTEM_FPM: true
|
||||
WORKFLOW_NAME: ${{ github.workflow }}
|
||||
CF_R2_ACCOUNT_ID: ${{ secrets.CF_R2_ACCOUNT_ID }}
|
||||
CF_R2_BUCKET: ${{ secrets.CF_R2_BUCKET }}
|
||||
CF_R2_ACCESS_KEY_ID: ${{ secrets.CF_R2_ACCESS_KEY_ID }}
|
||||
CF_R2_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_SECRET_ACCESS_KEY }}
|
||||
run: node build/bin/build-linux-legacy
|
||||
Reference in New Issue
Block a user