Skip to content

Publish electron launcher #109

Publish electron launcher

Publish electron launcher #109

name: Publish electron launcher
on:
workflow_dispatch:
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
jobs:
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- run: sudo apt-get install -y libasound2-dev
- name: Install launcher Node.js Dependencies
run: npm ci
working-directory: './launcher'
- run: npm run release
working-directory: ./launcher
- name: extract version
id: extract-version
run: node -e "console.log('launcher-version='+require('./package.json').version)" >> $GITHUB_OUTPUT
working-directory: ./launcher
- name: publish to ftp
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
with:
server: ${{secrets.FTP_URL}}
username: ${{secrets.BUILDS_FTP_USERNAME}}
password: ${{secrets.BUILDS_FTP_PASSWORD}}
local-dir: ./launcher/dist/electron-output/
server-dir: launcher/${{steps.extract-version.outputs.launcher-version}}/
state-name: .linux-sync-state.json
port: 21
protocol: ftps
exclude: |
.*/**
*-unpacked/**
mac*/**
builder-*.yml
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: Install launcher Node.js Dependencies
run: npm ci
working-directory: './launcher'
- run: npm run release
working-directory: ./launcher
- name: extract version
id: extract-version
run: node -e "console.log('launcher-version='+require('./package.json').version)" >> $GITHUB_OUTPUT
working-directory: ./launcher
shell: bash
- name: publish to ftp
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
with:
server: ${{secrets.FTP_URL}}
username: ${{secrets.BUILDS_FTP_USERNAME}}
password: ${{secrets.BUILDS_FTP_PASSWORD}}
local-dir: ./launcher/dist/electron-output/
server-dir: launcher/${{steps.extract-version.outputs.launcher-version}}/
state-name: .windows-sync-state.json
port: 21
protocol: ftps
exclude: |
.*/**
*-unpacked/**
mac*/**
builder-*.yml
build-macos:
runs-on: macos-latest
env:
CSC_LINK: ${{ secrets.MACOS_CSC_LINK }}
CSC_KEY_PASSWORD: ${{ secrets.MACOS_CSC_KEY_PASSWORD }}
APPLE_TEAM_ID: ${{ secrets.APPLE_TEAM_ID }}
APPLE_ID: ${{ secrets.APPLE_ID }}
APPLE_APP_SPECIFIC_PASSWORD: ${{ secrets.APPLE_ID_PASSWORD }}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: 20
cache: 'npm'
cache-dependency-path: '**/package-lock.json'
- name: Install launcher Node.js Dependencies
run: npm ci
working-directory: './launcher'
- run: npm run release
working-directory: ./launcher
- name: extract version
id: extract-version
run: node -e "console.log('launcher-version='+require('./package.json').version)" >> $GITHUB_OUTPUT
working-directory: ./launcher
- name: publish to ftp
uses: SamKirkland/FTP-Deploy-Action@v4.3.5
with:
server: ${{secrets.FTP_URL}}
username: ${{secrets.BUILDS_FTP_USERNAME}}
password: ${{secrets.BUILDS_FTP_PASSWORD}}
local-dir: ./launcher/dist/electron-output/
server-dir: launcher/${{steps.extract-version.outputs.launcher-version}}/
state-name: .macos-sync-state.json
port: 21
protocol: ftps
exclude: |
.*/**
*-unpacked/**
mac*/**
builder-*.yml