generated from actions/typescript-action
-
Notifications
You must be signed in to change notification settings - Fork 14
154 lines (141 loc) · 3.97 KB
/
test.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
name: Test the action
on:
push:
branches:
- "v*"
pull_request:
branches:
- "*"
jobs:
verify:
name: Verify install
strategy:
max-parallel: 5
fail-fast: false
matrix:
os: [ubuntu-latest, windows-latest, macOS-13]
dc:
[
ldc,
ldc-1.19.0,
ldc-1.37.0-beta1,
ldc-1.36,
ldc-1.38b,
ldc-latest,
ldc-beta,
ldc^3,
ldc-master,
# Need fix for https://issues.dlang.org/show_bug.cgi?id=22942 for macOS
dmd,
dmd-2.099.1,
dmd-2.108.1-rc.1,
dmd-2.106,
dmd-2.106b,
dmd-latest,
dmd-beta,
dmd^3,
dmd-master,
"",
]
include:
- os: macOS-latest
arch: arm64
dc: ""
- os: macOS-latest
arch: arm64
dc: ldc
- os: macos-latest
arch: arm64
dc: ldc-1.30.0
- os: macos-latest
arch: arm64
dc: ldc-1.28 # Something before ldc2-1.30.0-beta1
- os: macos-latest
arch: arm64
dc: ldc-1.35.0-beta1
- os: macos-latest
arch: arm64
dc: ldc-1.33b
- os: macOS-latest
arch: arm64
dc: ldc-latest
- os: macOS-latest
arch: arm64
dc: ldc-beta
- os: macos-latest
arch: arm64
dc: ldc^2
- os: macOS-latest
arch: arm64
dc: ldc-master
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install D compiler
uses: ./
with:
compiler: ${{ matrix.dc }}
gh_token: ${{ secrets.GITHUB_TOKEN }}
- name: Verify D compiler ($DC)
shell: bash
run: $DC .github/hello.d && ./hello
- name: Verify D compiler with explicit bitness ($DC)
if: ${{ env['DC'] == 'dmd' }}
shell: bash
run: $DC -m64 .github/hello.d && ./hello
- name: Verify D compiler ($DC, shared)
shell: bash
run: $DC -shared .github/hello.d && ./hello
- name: Verify D compiler (dub)
run: dub run --single -q .github/hello.d
- name: Install Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20
- name: Ensure `dist/index.js` is up to date
env:
NODE_OPTIONS: "--openssl-legacy-provider"
run: |
set -euxo pipefail
npm ci
npm run build
# exclude dist/index.js.map (different on Windows)
git diff --stat --exit-code HEAD -- ':!dist/index.js.map'
shell: bash
dub:
name: Verify standalone DUB install
strategy:
fail-fast: false
matrix:
os: [ ubuntu-latest, windows-latest, macOS-13 ]
dc: [ ldc-latest, dmd-latest ]
dub: [ 1.19.0, 1.23.0, 1.24.0 ]
exclude:
# Excluded because those are actually Linux executables
- { os: windows-latest, dub: 1.19.0 }
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Install D compiler
uses: ./
with:
compiler: ${{ matrix.dc }}
dub: ${{ matrix.dub }}
- name: Verify DUB version
shell: bash
run: |
if [[ ${{ matrix.dub }} == 'latest' ]]
then
DUB_VERSION_FOR_TEST=$(curl -s https://api.github.com/repos/dlang/dub/releases/latest | jq -r '.name | sub("v(?<v>.+)"; .v)')
else
DUB_VERSION_FOR_TEST=${{ matrix.dub }}
fi
echo "dub path is: `which dub`"
echo "dub version is: `dub --version`"
echo "We expect version: $DUB_VERSION_FOR_TEST"
if [[ "$(dub --version)" =~ "version $DUB_VERSION_FOR_TEST" ]]
then
echo "Match"
else
exit 1
fi