Skip to content

Proxy update: 408, optimization (#1309) #596

Proxy update: 408, optimization (#1309)

Proxy update: 408, optimization (#1309) #596

name: Deploy to night.bastyon.com
on:
workflow_dispatch:
push:
branches:
- master
jobs:
prepare:
runs-on: ubuntu-latest
steps:
- name: Checkout git repository
uses: actions/checkout@v3
with:
ref: ${{ github.ref }}
- name: Save HEAD information
run: git --no-pager log --decorate=short --pretty=oneline -n1 > head.txt
- name: Archive repo
run: |
mkdir -p /tmp/repo
rsync -ah --exclude={'.git','.gitignore','.github','node_modules','.well-known'} ./ /tmp/repo/
cd /tmp/repo
tar czf /tmp/repo.tgz ./
- name: Upload artifact repo.tgz
uses: actions/upload-artifact@v3
with:
name: repo.tgz
path: /tmp/repo.tgz
- name: Save artifact head.txt
uses: actions/upload-artifact@v3
with:
name: head
path: ./head.txt
deploy-pre:
needs: prepare
runs-on: gui
steps:
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: repo.tgz
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v3
with:
node-version: 16
- name: Prepare
run: |
tar xzf repo.tgz
rm -rf repo.tgz
npm i
npm run build:proxy16
npm run minimize:bastyon -- -sha=${{ github.sha }}
- name: Copy to dest dir
run: rsync -ah --exclude={'.git','.gitignore','.github','package.json','package-lock.json','minimize.json','node_modules','.well-known','assets','proxy16','cordova','res','build'} ./ /docker/night/
- name: Reset nginx cache
run: /data/reset_cache.sh
shell: bash
- name: Clean work dir
run: rm -rf ./*
build-macos:
needs: prepare
runs-on: macos-latest
steps:
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: repo.tgz
- name: Unpack artifact
run: tar xzf repo.tgz
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v3
with:
node-version: 16
- name: Prepare building
run: |
npm i
npm run build:proxy16
npm run dev:bastyon -- -sha=${{ github.sha }}
- name: Prepare for app notarization
run: |
mkdir -p ~/private_keys/
echo '${{ secrets.APPLE_API_KEY }}' > ~/private_keys/AuthKey_${{ secrets.APPLE_API_KEY_ID }}.p8
echo '${{ secrets.APPLECERT }}' | base64 -d > applecert.p12
- name: Building
env:
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_ID_PASSWORD: ${{ secrets.APPLE_ID_PASS }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_APP_SPECIFIC_PASSWORD }}
CSC_LINK: 'file://applecert.p12'
CSC_KEY_PASSWORD: ${{ secrets.APPLECERTPWD }}
run: |
npm run distm
ls -lh ./dist/
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: macos
path: ./dist/BastyonSetup.dmg
build-unix:
needs: prepare
runs-on: ubuntu-latest
steps:
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: repo.tgz
- name: Unpack artifact
run: tar xzf repo.tgz
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v3
with:
node-version: 16
- name: Prepare building
run: |
apt update && apt install -y binutils rpm
npm i
npm run build:proxy16
npm run dev:bastyon -- -sha=${{ github.sha }}
- name: Building
run: |
npm run distl
ls -lh ./dist/
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: unix
path: |
./dist/BastyonSetup.deb
./dist/BastyonSetup.rpm
./dist/Bastyon.AppImage
build-windows:
needs: prepare
runs-on: windows-latest
steps:
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: repo.tgz
- name: Unpack artifact
run: tar xzf repo.tgz
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v3
with:
node-version: 16
- name: Prepare building
run: |
npm i
npm run build:proxy16
npm run dev:bastyon -- -sha=${{ github.sha }}
- name: Building
run: |
npm run dist
ls .\dist\
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: windows
path: ./dist/BastyonSetup.exe
build-android:
needs: prepare
runs-on: ubuntu-20.04
steps:
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: repo.tgz
- name: Unpack artifact
run: tar xzf repo.tgz
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v3
with:
node-version: 16
- name: Install Cordova
run: |
npm i -g cordova@10
cordova --version
- name: Prepare building
run: |
npm i
npm run build:proxy16
npm run minimize:cordova -- -sha=${{ github.sha }}
cd ./cordova
npm i
- name: Prepare configuration
run: |
cd ./cordova
echo "${{ secrets.ANDROID_SECRET_KEY }}" | base64 -d > cert.keystore
echo "${{ secrets.ANDROID_BUILD_CONF }}" | base64 -d > build.json
echo "${{ secrets.ANDROID_FIREBASE_CONF }}" | base64 -d > google-services.json
ls -l cert.keystore
ls -l build.json
- name: Fixing Android Build Tool Issue
run: |
cd $ANDROID_HOME/build-tools/33.0.0
mv d8 dx
cd lib
mv d8.jar dx.jar
- name: Configure Cordova Plugins
run: |
cd ./cordova
npm run android-add
- name: Building
run: |
cd ./cordova
npm run android-build
- name: Rename apk binary
run: |
cd ./cordova/platforms/android/app/build/outputs/apk/release
ls -lh
mv app-release.apk Bastyon.apk
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: android
path: ./cordova/platforms/android/app/build/outputs/apk/release/Bastyon.apk
build-android-gf:
needs: prepare
runs-on: ubuntu-20.04
steps:
- name: Download artifact
uses: actions/download-artifact@v3
with:
name: repo.tgz
- name: Unpack artifact
run: tar xzf repo.tgz
- uses: actions/setup-java@v3
with:
distribution: 'temurin'
java-version: '17'
- name: Install Node.js, NPM and Yarn
uses: actions/setup-node@v3
with:
node-version: 16
- name: Install Cordova
run: |
npm i -g cordova@10
cordova --version
- name: Prepare building
run: |
npm i
npm run build:proxy16
npm run minimize:cordova:gfree -- -sha=${{ github.sha }} -run=${{ github.run_number }}${{ github.run_attempt }}
cd ./cordova
npm i
- name: Prepare configuration
run: |
cd ./cordova
echo "${{ secrets.ANDROID_SECRET_KEY }}" | base64 -d > cert.keystore
echo "${{ secrets.ANDROID_BUILD_GFREE_CONF }}" | base64 -d > buildgfree.json
echo "${{ secrets.ANDROID_FIREBASE_CONF }}" | base64 -d > google-services.json
- name: Fixing Android Build Tool Issue
run: |
cd $ANDROID_HOME/build-tools/33.0.0
mv d8 dx
cd lib
mv d8.jar dx.jar
- name: Configure Cordova Plugins
run: |
cd ./cordova
npm run android-add
- name: Building
run: |
cd ./cordova
npm run android-build-gfree
- name: Rename apk binary
run: |
cd ./cordova/platforms/android/app/build/outputs/apk/release
ls -lh
mv app-release.apk BastyonGF.apk
- name: Upload artifact
uses: actions/upload-artifact@v3
with:
name: android-gfree
path: ./cordova/platforms/android/app/build/outputs/apk/release/BastyonGF.apk
deploy-app-binaries:
needs: [ build-macos, build-unix, build-windows, build-android, build-android-gf ]
runs-on: dev.pocketnet.app
steps:
- name: Download artifact
uses: actions/download-artifact@v3
- name: Copy artifacts
run: cp ./**/Bastyon* /data/dev/binaries/night/
- name: Copy HEAD information
run: cp ./head/head.txt /data/dev/binaries/night/head.txt
- name: Clean work dir
run: rm -rf ./*