Skip to content

[SES-42] use craft build again and test collect step #69

[SES-42] use craft build again and test collect step

[SES-42] use craft build again and test collect step #69

name: IONOS Windows Build
on:
workflow_dispatch:
push:
branches:
- feature/SES-42_pipeline
defaults:
run:
shell: pwsh
jobs:
build:
env:
HOME: ${{ github.workspace }}
CRAFT_TARGET: windows-msvc2019_64-cl
BUILDING_ROOT: ${{ github.workspace }}\nc-client-building
DESKTOP_ROOT: ${{ github.workspace }}\nc-client-building\desktop
CRAFTMASTER_PS1: ${{ github.workspace }}\nc-client-building\desktop\.github\workflows\craftmaster.ps1
name: IONOS Windows Build
runs-on: windows-2019
steps:
- name: Clone Client Building
run: git clone -b develop --single-branch https://github.com/IONOS-Productivity/nc-client-building.git "${{ env.BUILDING_ROOT }}"
- name: print directory recursively
run: ls -R "C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\"
- name: Checkout
uses: actions/checkout@v4
with:
path: ${{ env.DESKTOP_ROOT }}
- name: Setup Python
uses: actions/setup-python@v5
with:
python-version: '3.12'
- name: Clone CraftMaster
run: git clone -q --depth=1 https://invent.kde.org/kde/craftmaster.git "${{ env.HOME }}\craft\CraftMaster"
- name: Craftmaster setup
run: |
& "${{env.CRAFTMASTER_PS1}}" --setup
- name: Craft unshelve
continue-on-error: true
run: |
& "${{env.CRAFTMASTER_PS1}}" -c --unshelve "${{ env.DESKTOP_ROOT }}\craft.shelf"
- name: Install dependencies
run: |
& "${{env.CRAFTMASTER_PS1}}" -c --install-deps nextcloud-client
- name: Cache Install inkscape
id: cache-install-inkscape
uses: actions/cache@v4
with:
path: C:\Program Files\inkscape
key: ${{ runner.os }}-cache-install-inkscape
- name: Install inkscape
if: steps.cache-install-inkscape.outputs.cache-hit != 'true'
run: |
choco install inkscape
- name: Load png2ico
run: Invoke-WebRequest https://github.com/hiiamok/png2ImageMagickICO/releases/download/v1.0/x64.zip -OutFile ${{ env.HOME }}\png2ico.zip
- name: Unzip png2ico
run: Expand-Archive -Path ${{ env.HOME }}\png2ico.zip -DestinationPath ${{ env.HOME }}\png2ico
- name: Setup Variables
run: |
echo "PROJECT_PATH=${{ env.BUILDING_ROOT }}" >> $GITHUB_ENV
- name: Build
env:
Png2Ico_EXECUTABLE: ${{ github.workspace }}\png2ico\png2ico.exe
run: |
& "${{env.CRAFTMASTER_PS1}}" -c --src-dir ${{ env.DESKTOP_ROOT }} nextcloud-client
# - name: QT Stuff
# run: |
# & "${{env.CRAFTMASTER_PS1}}" -c --qt --src-dir ${{ env.DESKTOP_ROOT }} nextcloud-client
- name: Collect Artifacts for Build
env:
PROJECT_PATH: ${{ env.BUILDING_ROOT }}
CRAFT_PATH: ${{ env.HOME }}\craft\${{ env.CRAFT_TARGET }}
QT_PATH: ${{ env.HOME }}\craft\${{ env.CRAFT_TARGET }}\bin
QT_BIN_PATH: ${{ env.HOME }}\craft\${{ env.CRAFT_TARGET }}\bin
QT_PREFIX: ${{ env.HOME }}\craft\${{ env.CRAFT_TARGET }}\bin
shell: bash
run: |
cd "${{ env.BUILDING_ROOT }}"
./single-build-installer-collect.bat Release
# - name: Zip Output Dir
# run: Compress-Archive -Path ${{ env.HOME }}\craft\${{ env.CRAFT_TARGET }}\build\ -DestinationPath ${{ env.HOME }}\build.zip
# - name: Upload Build
# uses: actions/upload-artifact@v4
# with:
# name: build
# path: ${{ env.HOME }}\build.zip
# - name: Build
# env:
# PROJECT_PATH: ${{ env.BUILDING_ROOT }}
# Png2Ico_EXECUTABLE: ${{ github.workspace }}\png2ico\png2ico.exe
# PULL_DESKTOP: 0
# CHECKOUT_DESKTOP: 0
# SKIP_CLEANUP: 1
# shell: bash
# run: |
# cd "${{ env.BUILDING_ROOT }}"
# ./build.bat Release