Skip to content

Switch to yet another sftp upload action #24

Switch to yet another sftp upload action

Switch to yet another sftp upload action #24

Workflow file for this run

name: Build macOS
on:
push:
branches:
- master
paths-ignore:
- '**.md'
tags:
- '*'
pull_request:
paths-ignore:
- '**.md'
jobs:
build-macos:
runs-on: macos-latest
steps:
- name: Checkout
uses: actions/checkout@v3
- name: ccache
uses: hendrikmuhs/[email protected]
with:
key: build-macos-release
- name: Install Qt
uses: jurplel/install-qt-action@v3
- name: Install other prerequisites
run: |
brew update
brew install enchant openssl create-dmg --force-bottle
- name: Configure CMake
run: |
cd '${{github.workspace}}'
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_CXX_COMPILER_LAUNCHER=ccache ..
- name: Build
run: |
cd '${{github.workspace}}'
cd build
cmake --build .
- name: Install
run: |
cd '${{github.workspace}}'
cd build
cmake --install .
- name: Detect version
shell: bash
run: |
cd '${{github.workspace}}'
kvi_version=$(grep -i "^set(VERSION_RELEASE .*)$" CMakeLists.txt | egrep -o '[0-9\.]' | tr -d '\n')
git_desc=$(git describe --always)
echo "dmg_name=KVIrc-$kvi_version-dev-$git_desc" >> "$GITHUB_ENV"
- name: Create DMG
shell: bash
run: |
cd '${{github.workspace}}'
create-dmg --volname "${{ env.dmg_name }}" \
--background "dist/macos/installer_background.png" \
--window-pos 200 120 \
--window-size 800 450 \
--icon KVIrc.app 200 190 \
--icon-size 100 \
--app-drop-link 600 185 "${{ env.dmg_name }}.dmg" "build/KVIrc.app"
- name: Publish artifact
uses: actions/upload-artifact@v3
with:
name: ${{ env.dmg_name }}
path: ${{ env.dmg_name }}.dmg
- name: Prepare for nightly
shell: bash
run: |
mkdir upload-area
mv *.dmg upload-area/
echo '{"bin": "${{ env.dmg_name }}.dmg", "size":' $(wc -c <"${{ env.dmg_name }}.dmg") '}' > upload-area/latest-macos
- name: Upload to nightly
if: ${{ github.repository == 'kvirc/KVIrc' && github.event_name == 'push' }}
uses: wlixcc/[email protected]
with:
server: nightly.kvirc.net
username: ${{secrets.NIGHTLY_SFTP_USER}}
ssh_private_key: ${{secrets.NIGHTLY_SFTP_KEY}}
local_path: upload-area/
remote_path: x/
sftp_only: true
sftpArgs: '-o ConnectTimeout=5'