Skip to content

Release

Release #13

Workflow file for this run

# Copyright © SixtyFPS GmbH <info@slint.dev>
# SPDX-License-Identifier: GPL-3.0-only OR LicenseRef-Slint-Royalty-free-2.0 OR LicenseRef-Slint-Software-3.0
name: Release
on:
workflow_dispatch:
inputs:
private:
type: boolean
default: true
required: false
description: "Private build? True means artifacts are only built. False means the artefacts are published (docs, vscode extension) to the web/marketplace"
gh_release:
type: string
description: name of github release to upload to
default: "nightly"
jobs:
build_packages:
strategy:
matrix:
board: [stm32h735g-dk, stm32h747i-disco]
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@v4
with:
sparse-checkout: ${{ matrix.board }}
- name: build source package
run: |
git archive -o slint-cpp-template-${{ matrix.board }}.zip --prefix=slint-cpp-template-${{ matrix.board }}/ HEAD:${{ matrix.board }}
- name: "Upload extension artifact"
uses: actions/upload-artifact@v4
with:
name: slint-cpp-template-${{ matrix.board }}
path: slint-cpp-template-${{ matrix.board }}.zip
test_packages:
strategy:
matrix:
os: [ubuntu-20.04, macOS-12, windows-2022]
board: [stm32h735g-dk, stm32h747i-disco]
needs: [build_packages]
runs-on: ${{ matrix.os }}
steps:
- uses: actions/download-artifact@v4
with:
name: slint-cpp-template-${{ matrix.board }}
- name: extract archive
run: |
unzip slint-cpp-template-${{ matrix.board }}.zip
- uses: seanmiddleditch/gha-setup-ninja@v5
- name: Install GNU Arm Embedded Toolchain
uses: carlosperate/arm-none-eabi-gcc-action@v1
with:
release: '13.3.Rel1'
- name: CMake configure
working-directory: slint-cpp-template-${{ matrix.board }}
run: |
cmake --preset Debug
- name: CMake build
working-directory: slint-cpp-template-${{ matrix.board }}
run: |
cmake --build --preset Debug
upload_packages:
if: github.event.inputs.private != 'true'
needs: [test_packages]
runs-on: ubuntu-20.04
steps:
- uses: actions/download-artifact@v4
with:
pattern: slint-cpp-template-*
merge-multiple: true
- run: |
gh release upload --repo slint-ui/slint ${{github.event.inputs.gh_release}} *.zip