-
Notifications
You must be signed in to change notification settings - Fork 0
157 lines (147 loc) · 4.93 KB
/
build.workflow-test-with-haxe.yml
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
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
# SPDX-FileCopyrightText: © Vegard IT GmbH (https://vegardit.com) and contributors
# SPDX-FileContributor: Sebastian Thomschke, Vegard IT GmbH
# SPDX-License-Identifier: Apache-2.0
#
# https://docs.github.com/en/free-pro-team@latest/actions/reference/workflow-syntax-for-github-actions
name: Test "test-with-haxe" Workflow
on:
push:
branches:
- '**'
tags-ignore:
- '**'
paths-ignore:
- '**/*.adoc'
- '**/*.md'
- '.github/*.yml'
- '.github/actions/test-with-haxe/*'
- '.github/workflows/build.action-*.yml'
pull_request:
schedule:
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows
- cron: '0 10 1 * *'
workflow_dispatch:
# https://github.blog/changelog/2020-07-06-github-actions-manual-triggers-with-workflow_dispatch/
inputs:
debug-with-ssh:
description: "Start an SSH session for debugging purposes after tests ran:"
default: never
type: choice
options: [ always, on_failure, on_failure_or_cancelled, never ]
debug-with-ssh-only-for-actor:
description: "Limit access to the SSH session to the GitHub user that triggered the job."
default: true
type: boolean
debug-with-ssh-only-jobs-matching:
description: "Only start an SSH session for jobs matching this regex pattern:"
default: ".*"
type: string
jobs:
test-with-haxe-workflow-test:
uses: ./.github/workflows/test-with-haxe.yml
strategy:
fail-fast: false
matrix:
os: # https://github.com/actions/runner-images#available-images
- ubuntu-latest
- macos-13 # Intel
- windows-latest
haxe:
- nightly
- 4.3.6
- 4.2.5
- 3.4.7
include:
- os: macos-latest # ARM
haxe: nightly
- os: macos-latest # ARM
haxe: 4.3.6
with:
haxe-reusable-workflows-repo: ${{ github.repository }}
haxe-reusable-workflows-version: ${{ github.ref }}
runner-os: ${{ matrix.os }}
haxe-version: ${{ matrix.haxe }}
haxe-libs: |
haxe-doctest # install latest version from lib.haxe.org
[email protected] # install fixed version from lib.haxe.org
haxe-files@git:https://github.com/vegardit/haxe-files # install version from default git branch
haxe-strings@git:https://github.com/vegardit/haxe-strings#v7.0.2 # install version from specific git tag
test-cpp: true
test-cs: ${{ matrix.haxe != 'nightly' }} # C# support removed from Haxe 5
test-eval: true
test-flash: |
haxe-args: "tests-flash.hxml"
enabled: ${{ !startsWith(matrix.os, 'macos') }} # FlashPlayer hangs on MacOS
retries: 10
timeout-minutes: 1
allow-failure: true
test-hl: ${{ matrix.haxe != '3.4.7' }}
test-java: |
enabled: ${{ matrix.haxe != 'nightly' }} # Java support removed from Haxe 5
java-version: 17
test-jvm: true
test-lua: |
lua-version: 5.2.4
test-neko: true
test-node: tests.hxml
test-php: true
test-python: true
before-tests: |
echo "Preparing tests..."
after-tests: |
case "$GITHUB_JOB_STATUS" in
success) echo "Job success" ;;
failure) echo "Job failure" ;;
cancelled) echo "Job cancelled." ;;
*) echo "ERROR: Unexpected job status $GITHUB_JOB_STATUS"; exit 1 ;;
esac
debug-with-ssh: ${{ inputs.debug-with-ssh || 'never' }}
debug-with-ssh-only-for-actor: ${{ inputs.debug-with-ssh-only-for-actor || false }}
debug-with-ssh-only-jobs-matching: ${{ inputs.debug-with-ssh-only-jobs-matching }}
test-reusable-workflow-continue-on-error:
uses: ./.github/workflows/test-with-haxe.yml
with:
haxe-reusable-workflows-repo: ${{ github.repository }}
haxe-reusable-workflows-version: ${{ github.ref }}
runner-os: ubuntu-latest
haxe-version: latest
haxe-args: -cp test -main MainWithError
retries: 1
test-cpp: |
allow-failure: true
enabled: true
test-cs: |
allow-failure: true
enabled: true
test-eval: |
allow-failure: true
enabled: true
test-flash: |
haxe-args: "tests-flash.hxml"
enabled: ${{ !startsWith(matrix.os, 'macos') }} # FlashPlayer hangs on MacOS
timeout-minutes: 1
allow-failure: true
test-hl: |
allow-failure: true
enabled: true
test-java: |
allow-failure: true
enabled: true
test-jvm: |
allow-failure: true
enabled: true
test-lua: |
allow-failure: true
enabled: true
test-neko: |
allow-failure: true
enabled: true
test-node: |
allow-failure: true
enabled: true
test-php: |
allow-failure: true
enabled: true
test-python: |
allow-failure: true
enabled: true