Skip to content

updates server

updates server #343

Workflow file for this run

name: Desktop build
permissions:
contents: write
# Build for everything on "main" & "v*.*.*"
on:
repository_dispatch:
types: [ build ]
push:
branches:
- 'main'
- 'new-chain'
- 'v*'
tags:
- 'v*'
paths-ignore:
- '**.md'
pull_request:
branches:
- 'main'
- 'new-chain'
- 'v*'
paths-ignore:
- '**.md'
jobs:
linux:
runs-on: ubuntu-20.04
steps:
# Checkout code
- uses: actions/checkout@v4
with:
submodules: recursive
# Install GoLang
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ^1.21
- uses: actions/setup-node@v4
with:
node-version: 18.x
- uses: denoland/setup-deno@v1
with:
deno-version: v1.41.2
# Set up GoLang cache
- name: Go Cache
uses: actions/cache@v4
with:
path: |
~/.cache/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
# Install Wails build deps
- run: sudo apt-get update && sudo apt-get install libgtk-3-0 libwebkit2gtk-4.0-dev
- run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
- name: Build
run: |
make server-linux
wails build --platform linux/amd64 -webview2 embed
- run: chmod +x build/bin/lethean-desktop
- name: 'Tar files'
run: cd build/bin/ && tar -cvf ../../linux-lethean-desktop.tar .
# uploads the job file, makes no release
- uses: actions/upload-artifact@v4
with:
name: Linux Desktop
path: linux-lethean-desktop.tar
# if this is a tag build, upload
- name: Release Tag
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: linux-lethean-desktop.tar
- name: Release Branch
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/heads/main')
with:
tag_name: canary
prerelease: true
files: linux-lethean-desktop.tar
macos:
runs-on: macos-latest
steps:
# Checkout code
- uses: actions/checkout@v4
with:
submodules: recursive
# Install GoLang
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ^1.21
- uses: actions/setup-node@v4
with:
node-version: 18.x
- uses: denoland/setup-deno@v1
with:
deno-version: v1.41.2
# Set up GoLang cache
- name: Go Cache
uses: actions/cache@v4
with:
path: |
~/Library/Caches/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- run: |
go install github.com/wailsapp/wails/v2/cmd/wails@latest
brew install mitchellh/gon/gon
- name: Build
run: |
make server-macos
wails build --platform darwin/amd64 -webview2 embed
- name: chmod +x exe
run: chmod +x build/bin/lethean.app/Contents/MacOS/lethean
- name: MacOS Extras
working-directory: ./build/bin/lethean.app
run: |
wget https://github.com/letheanVPN/blockchain-iTw3/releases/latest/download/lethean-gui-bundle-macos-testnet-i386.tar.bz2
tar -xjf lethean-gui-bundle-macos-testnet-i386.tar.bz2
rm lethean-gui-bundle-macos-testnet-i386.tar.bz2
- name: Zip .app
working-directory: ./build/bin
run: |
ditto -c -k --keepParent ./lethean.app ./lethean.app.zip
# - name: Import Code-Signing Certificates for macOS
# if: startsWith(github.ref, 'refs/tags/')
# uses: Apple-Actions/import-codesign-certs@v1
# with:
# keychain-password: ${{ secrets.APPLE_PASSWORD }}
# p12-file-base64: ${{ secrets.MAC_DEVELOPER_CERT }}
# p12-password: ${{ secrets.MAC_DEVELOPER_PASS }}
# - name: Import Code-Signing Certificates for macOS
# if: startsWith(github.ref, 'refs/tags/')
# uses: Apple-Actions/import-codesign-certs@v1
# with:
# keychain-password: ${{ secrets.APPLE_PASSWORD }}
# p12-file-base64: ${{ secrets.MAC_DEVELOPER_INSTALL_CERT }}
# p12-password: ${{ secrets.MAC_DEVELOPER_INSTALL_PASS }}
# create-keychain: false
# - name: Sign our macOS binary
# if: startsWith(github.ref, 'refs/tags/')
# env:
# APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
# run: |
# echo "Signing Package"
# gon -log-level=info ./build/darwin/gon-sign.json
# echo "Building Zip file"
# ditto -c -k --keepParent ./build/bin/lethean.app ./build/bin/lethean.app.zip
# echo "Building Installer"
# productbuild --sign 'Developer ID Installer: Lethean LTD (W2DNA5L5DY)' --component ./build/bin/lethean.app ./build/bin/lethean.pkg
# echo "notarising Installer and zip"
# gon -log-level=info ./build/darwin/gon-notarize.json
# uploads the job file, makes no release
- uses: actions/upload-artifact@v4
with:
name: macOS Universal Desktop
path: build/bin/lethean.app.zip
# if this is a tag build, upload
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
build/bin/lethean.app.zip
macos-m1:
runs-on: macos-latest
steps:
# Checkout code
- uses: actions/checkout@v4
with:
submodules: recursive
# Install GoLang
- name: Set up Go
uses: actions/setup-go@v4
with:
go-version: ^1.21
- uses: actions/setup-node@v4
with:
node-version: 18.x
- uses: denoland/setup-deno@v1
with:
deno-version: v1.41.2
# Set up GoLang cache
- name: Go Cache
uses: actions/cache@v4
with:
path: |
~/Library/Caches/go-build
~/go/pkg/mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- run: |
go install github.com/wailsapp/wails/v2/cmd/wails@latest
brew install mitchellh/gon/gon
- name: Build
run: |
make server-macos-m1
wails build --platform darwin/arm64 -webview2 embed
- name: chmod +x exe
run: chmod +x build/bin/lethean.app/Contents/MacOS/lethean
- name: MacOS Extras
working-directory: ./build/bin/lethean.app
run: |
wget https://github.com/letheanVPN/blockchain-iTw3/releases/latest/download/lethean-gui-bundle-macos-testnet-i386.tar.bz2
tar -xjf lethean-gui-bundle-macos-testnet-i386.tar.bz2
rm lethean-gui-bundle-macos-testnet-i386.tar.bz2
- name: Zip .app
working-directory: ./build/bin
run: |
ditto -c -k --keepParent ./lethean.app ./lethean.app.zip
# - name: Import Code-Signing Certificates for macOS
# if: startsWith(github.ref, 'refs/tags/')
# uses: Apple-Actions/import-codesign-certs@v1
# with:
# keychain-password: ${{ secrets.APPLE_PASSWORD }}
# p12-file-base64: ${{ secrets.MAC_DEVELOPER_CERT }}
# p12-password: ${{ secrets.MAC_DEVELOPER_PASS }}
# - name: Import Code-Signing Certificates for macOS
# if: startsWith(github.ref, 'refs/tags/')
# uses: Apple-Actions/import-codesign-certs@v1
# with:
# keychain-password: ${{ secrets.APPLE_PASSWORD }}
# p12-file-base64: ${{ secrets.MAC_DEVELOPER_INSTALL_CERT }}
# p12-password: ${{ secrets.MAC_DEVELOPER_INSTALL_PASS }}
# create-keychain: false
# - name: Sign our macOS binary
# if: startsWith(github.ref, 'refs/tags/')
# env:
# APPLE_PASSWORD: ${{ secrets.APPLE_PASSWORD }}
# run: |
# echo "Signing Package"
# gon -log-level=info ./build/darwin/gon-sign.json
# echo "Building Zip file"
# ditto -c -k --keepParent ./build/bin/lethean.app ./build/bin/lethean.app.zip
# echo "Building Installer"
# productbuild --sign 'Developer ID Installer: Lethean LTD (W2DNA5L5DY)' --component ./build/bin/lethean.app ./build/bin/lethean.pkg
# echo "notarising Installer and zip"
# gon -log-level=info ./build/darwin/gon-notarize.json
# uploads the job file, makes no release
- uses: actions/upload-artifact@v4
with:
name: macOS Universal Desktop
path: build/bin/lethean.app.zip
# if this is a tag build, upload
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
build/bin/lethean.app.zip
windows:
runs-on: windows-2022
steps:
# Checkout code
- uses: actions/checkout@v4
with:
submodules: recursive
# Install GoLang
- uses: actions/setup-go@v4
with:
go-version: ^1.21
- uses: actions/setup-node@v4
with:
node-version: 18.x
- uses: denoland/setup-deno@v1
with:
deno-version: v1.41.2
# Set up GoLang cache
- name: Go Cache
uses: actions/cache@v4
with:
path: |
%LocalAppData%\go-build
~\go\pkg\mod
key: ${{ runner.os }}-go-${{ hashFiles('**/go.sum') }}
restore-keys: |
${{ runner.os }}-go-
- name: Eat the Choco
run: |
choco install zip -y
- run: go install github.com/wailsapp/wails/v2/cmd/wails@latest
- name: Build
run: |
make server-windows
wails build --platform windows/amd64 -webview2 embed
- name: package
working-directory: ${{ github.workspace }}/build/bin
run: |
iwr -outf lethean-gui-bundle-win-testnet-x64.zip https://github.com/letheanVPN/blockchain-iTw3/releases/latest/download/lethean-gui-bundle-win-testnet-x64.zip
unzip -d . lethean-gui-bundle-win-testnet-x64.zip
rm lethean-gui-bundle-win-testnet-x64.zip
zip -r ${{ github.workspace }}/testnet-lethean-desktop-windows-amd64.zip *
# uploads the job file, makes no release
- uses: actions/upload-artifact@v4
with:
name: Windows Desktop
if-no-files-found: error
path: |
${{ github.workspace }}/testnet-lethean-desktop-windows-amd64.zip
# if this is a tag build, upload
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
files: |
testnet-lethean-desktop-windows-amd64.zip