-
Notifications
You must be signed in to change notification settings - Fork 2
74 lines (72 loc) · 2.14 KB
/
crystal.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
name: Crystal CI
on:
workflow_dispatch:
inputs:
logLevel:
description: 'Log level'
required: true
default: 'warning'
type: choice
options:
- info
- warning
- debug
push:
branches:
- master
- 'development/**'
pull_request:
branches:
- master
- 'development/**'
types: [opened, reopened, ready_for_review, review_requested]
jobs:
build:
runs-on: windows-2019
steps:
- name: crystal version
shell: pwsh
run: |
(New-Object Net.WebClient).DownloadFile("https://github.com/crystal-lang/crystal/releases/download/1.15.0/crystal-1.15.0-windows-x86_64-msvc-unsupported.exe", "$PWD\crystal-1.15.0-windows-x86_64-msvc-unsupported.exe")
$code = Start-Process .\crystal-1.15.0-windows-x86_64-msvc-unsupported.exe -Wait -ArgumentList "/VERYSILENT","/CURRENTUSER","/SP-","/SUPPRESSMSGBOXES","/LOG=$PWD\OUTPUT.LOG" -Verb RunAs
& "$env:LOCALAPPDATA\Programs\Crystal\crystal.exe" version
- uses: actions/checkout@v4
- name: Create json directory
shell: pwsh
run: |
mkdir json
- uses: actions/checkout@v4
with:
repository: marlersoft/win32json
path: json/win32json
- name: Install dependencies
shell: pwsh
run: |
& "$env:LOCALAPPDATA\Programs\Crystal\shards.exe" install
- name: Cleanup src directory
shell: pwsh
run: |
if (Test-Path -Path .\src\win32cr) { Remove-Item -Path src/win32cr -Force -Recurse }
- name: Build WinMD
shell: pwsh
run: |
echo $pwd
& .\scripts\build_winmd.ps1
- name: WinMD version
shell: cmd
run: |
bin\winmd.exe --version
- name: Generate bindings
shell: pwsh
run: |
& .\bin\winmd.exe generate -d json\win32json\api .
- name: Run tests
shell: pwsh
run: |
& "$env:LOCALAPPDATA\Programs\Crystal\crystal.exe" spec --error-trace --debug
- name: Setup tmate session
uses: mxschmitt/action-tmate@v3
with:
limit-access-to-actor: true
timeout-minutes: 15
if: ${{ failure() }}