-
Notifications
You must be signed in to change notification settings - Fork 0
134 lines (120 loc) · 4 KB
/
itch-deploy.yaml
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
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
name: Build and publish to itch.io
on:
workflow_call:
inputs:
minidisk_main_file:
required: true
type: string
minidisk_additional_entries:
required: false
type: string
boot_opts_path:
required: false
type: string
custom_executable_name:
description: "Name to use for executable - optional"
required: false
type: string
itch_io_username:
required: true
type: string
itch_io_game_id:
required: true
type: string
itchio_web_channel:
type: string
required: false
default: browser
secrets:
itch_io_api_key:
required: true
# Note how because this is a reusable workflow and runs in the
# context of the caller, the composite actions (local to this
# workflow) have to be referenced absolutely.
jobs:
prepare-assets:
runs-on: ubuntu-latest
steps:
- uses: treytomes/micro-hack/.github/actions/build-minidisk@main
with:
main_file: ${{ inputs.minidisk_main_file }}
additional_entries: ${{ inputs.minidisk_additional_entries }}
- uses: treytomes/micro-hack/.github/actions/upload-boot-opts@main
with:
boot_opts_path: ${{ inputs.boot_opts_path }}
# === BUILD JOBS ===
build-webgl:
needs: prepare-assets
runs-on: ubuntu-latest
steps:
- uses: treytomes/micro-hack/.github/actions/build-webgl@main
build-windows:
needs: prepare-assets
runs-on: ubuntu-latest
steps:
- uses: treytomes/micro-hack/.github/actions/build-windows@main
with:
custom_executable_name: ${{ inputs.custom_executable_name }}
build-mac:
needs: prepare-assets
runs-on: ubuntu-latest
steps:
- uses: treytomes/micro-hack/.github/actions/build-mac@main
with:
custom_executable_name: ${{ inputs.custom_executable_name }}
build-linux:
needs: prepare-assets
runs-on: ubuntu-latest
steps:
- uses: treytomes/micro-hack/.github/actions/build-linux@main
with:
custom_executable_name: ${{ inputs.custom_executable_name }}
# === PUBLISH JOBS ===
publish-webgl:
needs: build-webgl
runs-on: ubuntu-latest
steps:
- uses: treytomes/micro-hack/.github/actions/itch-publish@main
with:
artifact_name: webgl-build
artifact_data_folder: ./minimicro-web
itchio_api_key: ${{ secrets.itch_io_api_key }}
itchio_username: ${{ inputs.itch_io_username }}
itchio_game_id: ${{ inputs.itch_io_game_id }}
itchio_build_channel: ${{ inputs.itchio_web_channel }}
publish-windows:
needs: build-windows
runs-on: ubuntu-latest
steps:
- uses: treytomes/micro-hack/.github/actions/itch-publish@main
with:
artifact_name: windows-build
artifact_data_folder: ./minimicro-win
itchio_api_key: ${{ secrets.itch_io_api_key }}
itchio_username: ${{ inputs.itch_io_username }}
itchio_game_id: ${{ inputs.itch_io_game_id }}
itchio_build_channel: windows
publish-mac:
needs: build-mac
runs-on: ubuntu-latest
steps:
- uses: treytomes/micro-hack/.github/actions/itch-publish@main
with:
artifact_name: mac-build
artifact_data_folder: ./minimicro-mac
itchio_api_key: ${{ secrets.itch_io_api_key }}
itchio_username: ${{ inputs.itch_io_username }}
itchio_game_id: ${{ inputs.itch_io_game_id }}
itchio_build_channel: mac
publish-linux:
needs: build-linux
runs-on: ubuntu-latest
steps:
- uses: treytomes/micro-hack/.github/actions/itch-publish@main
with:
artifact_name: linux-build
artifact_data_folder: ./minimicro-linux
itchio_api_key: ${{ secrets.itch_io_api_key }}
itchio_username: ${{ inputs.itch_io_username }}
itchio_game_id: ${{ inputs.itch_io_game_id }}
itchio_build_channel: linux