File: create-installers.yml

package info (click to toggle)
xournalpp 1.3.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 30,044 kB
  • sloc: cpp: 64,195; xml: 939; sh: 752; ansic: 362; python: 338; php: 74; makefile: 15
file content (93 lines) | stat: -rw-r--r-- 3,774 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
name: Create Installers

on:
  # To trigger from another workflow
  workflow_call:
    inputs:
      linux_builds:
        # Some JSON string of a list of items, each containing the following members
        #   - runner: one of github's UBUNTU runners
        #   - displayed_name
        #   - gcc_version (optional, defaults to whatever the package "gcc" is on this version of ubuntu)
        #   - build_appimage (optional, defaults to false)
        #   - container_image: runs in the given container (optional)
        #   - extra_packages: install those extra packages via apt before building (optional)
        type: string
        default: ''
      windows_builds:
        # Some JSON string of a list of items, each containing the following members
        #   - runner: one of github's WINDOWS runners
        #   - displayed_name
        #   - msystem: ID of one of the msys environments https://www.msys2.org/docs/environments/
        #   - msys_package_env: msys package "group" - inserted in package names. see e.g. https://packages.msys2.org/search?t=binpkg&q=libzip
        #   - build_portable (optional, defaults to false)
        type: string
        default: ''
      macos_builds:
        # Some JSON string of a list of items, each containing the following members
        #   - runner: one of github's MACOS runners
        #   - displayed_name
        type: string
        default: ''
      head_sha:        # SHA of the commit to build. Defaults to the head of the triggering event (cf github doc.)
        type: string
        default: ''
      build_type:
        type: string
        default: 'RelWithDebInfo'
      artifact_version_suffix:
        type: string
        default: ''

jobs:
  ci-ubuntu:
    name: Create installer (Linux)
    if: ${{ inputs.linux_builds != '' && inputs.linux_builds != '[]' }}
    strategy:
      fail-fast: false
      matrix:
        run: ${{fromJSON(inputs.linux_builds)}}
    uses: ./.github/workflows/make-installer-linux.yml
    with:
      displayed_name: ${{ matrix.run.displayed_name }}
      gcc_version: ${{ matrix.run.gcc_version }}
      runner: ${{ matrix.run.runner }}
      build_appimage: ${{ matrix.run.build_appimage == 'true' }}
      extra_packages: ${{ matrix.run.extra_packages }}
      container_image: ${{ matrix.run.container_image }}
      head_sha: ${{ inputs.head_sha }}
      artifact_version_suffix: ${{ inputs.artifact_version_suffix }}
      extra_cmake_flags: ${{ matrix.run.extra_cmake_flags }}

  ci-windows:
    name: Create installer (Windows)
    if: ${{ inputs.windows_builds != '' && inputs.windows_builds != '[]' }}
    strategy:
      fail-fast: false
      matrix:
        run: ${{fromJSON(inputs.windows_builds)}}
    uses: ./.github/workflows/make-installer-windows.yml
    with:
      runner: ${{ matrix.run.runner }}
      displayed_name: ${{ matrix.run.displayed_name }}
      msystem: ${{ matrix.run.msystem }}
      msys_package_env: ${{ matrix.run.msys_package_env }}
      publish_portable_version:  ${{ matrix.run.build_portable == 'true' }}
      head_sha: ${{ inputs.head_sha }}
      artifact_version_suffix: ${{ inputs.artifact_version_suffix }}
      extra_cmake_flags: ${{ matrix.run.extra_cmake_flags }}

  ci-macos:
    name: Create installer (MacOS)
    if: ${{ inputs.macos_builds != '' && inputs.macos_builds != '[]' }}
    strategy:
      fail-fast: false
      matrix:
        run: ${{fromJSON(inputs.macos_builds)}}
    uses: ./.github/workflows/make-installer-macos.yml
    with:
      runner: ${{ matrix.run.runner }}
      displayed_name: ${{ matrix.run.displayed_name }}
      head_sha: ${{ inputs.head_sha }}
      artifact_version_suffix: ${{ inputs.artifact_version_suffix }}
      extra_cmake_flags: ${{ matrix.run.extra_cmake_flags }}