-
Notifications
You must be signed in to change notification settings - Fork 52
156 lines (153 loc) · 5.1 KB
/
windows.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
---
name: windows
on:
push:
branches:
- main
pull_request:
branches:
- "*"
workflow_dispatch: {}
jobs:
integration_test:
name: >
OTP ${{matrix.combo.otp-version}},
Elixir ${{matrix.combo.elixir-version}},
Gleam ${{matrix.combo.gleam-version}},
rebar3 ${{matrix.combo.rebar3-version}}
runs-on: ${{matrix.combo.os}}
strategy:
fail-fast: false
matrix:
combo:
- otp-version: '27'
elixir-version: 'v1.17.0-rc.0'
rebar3-version: '3.23'
os: 'windows-latest'
- otp-version: '26.0'
elixir-version: 'main'
os: 'windows-latest'
version-type: 'strict'
- otp-version: '26.0'
elixir-version: 'v1.14-otp-25'
os: 'windows-latest'
version-type: 'strict'
- otp-version: '26.0'
elixir-version: '1.14.5'
os: 'windows-latest'
version-type: 'strict'
- otp-version: '25'
rebar3-version: 'nightly'
os: 'windows-latest'
- otp-version: '24.0.2'
rebar3-version: '3.16'
os: 'windows-2019'
- otp-version: '24.0.2'
rebar3-version: 'nightly'
os: 'windows-2019'
- otp-version: '23.0'
rebar3-version: '3.15'
os: 'windows-2019'
- elixir-version: 'v1.10'
otp-version: '23'
rebar3-version: '3.14'
os: 'windows-latest'
- elixir-version: 'v1.13'
otp-version: '24'
rebar3-version: '3.15'
os: 'windows-latest'
- gleam-version: '0.19.0-rc3'
otp-version: '24'
os: 'windows-latest'
- gleam-version: '0.23.0-rc1'
otp-version: '24'
os: 'windows-latest'
- elixir-version: 'v1.13'
otp-version: '24'
escript_packages: 'hex protobuf'
escript_script: 'protoc-gen-elixir --version'
os: 'windows-latest'
steps:
- uses: actions/checkout@v4
- name: Use erlef/setup-beam
id: setup-beam
uses: ./
with:
otp-version: ${{matrix.combo.otp-version}}
elixir-version: ${{matrix.combo.elixir-version}}
gleam-version: ${{matrix.combo.gleam-version}}
rebar3-version: ${{matrix.combo.rebar3-version}}
version-type: ${{matrix.combo.version-type}}
- name: Erlang/OTP version (action)
run: echo "Erlang/OTP ${{steps.setup-beam.outputs.otp-version}}"
- name: Elixir version (action)
run: echo "Elixir ${{steps.setup-beam.outputs.elixir-version}}"
if: ${{matrix.combo.elixir-version}}
- name: Gleam version (action)
run: echo "Gleam ${{steps.setup-beam.outputs.gleam-version}}"
if: ${{matrix.combo.gleam-version}}
- name: rebar3 version (action)
run: echo "rebar3 ${{steps.setup-beam.outputs.rebar3-version}}"
- name: Run rebar3 and rebar3.cmd
run: |
# Should not fail
rebar3 version
rebar3.cmd version
if: ${{matrix.combo.rebar3-version}}
- name: rebar3 from Rust
run: |
cd test/projects/rust_rebar3_cmd
cargo test -- --nocapture
if: ${{matrix.combo.rebar3-version}}
- name: mix version and help (CLI)
run: |
mix -v
mix help local.rebar
mix help local.hex
if: ${{matrix.combo.elixir-version}}
- name: Run Elixir/Mix project tests
run: |
cd test/projects/elixir_mix
mix deps.get
mix test
if: ${{matrix.combo.elixir-version}}
- name: Run Erlang/rebar3 project tests
run: |
cd test/projects/erlang_rebar3
rebar3 ct
if: ${{matrix.combo.rebar3-version}}
- name: Run escript
run: |
mix escript.install --force ${{matrix.combo.escript_packages}}
${{matrix.combo.escript_script}}
if: ${{matrix.combo.escript_packages && matrix.combo.escript_script}}
environment_variables:
name: Environment variables
runs-on: ${{matrix.combo.os}}
strategy:
fail-fast: false
matrix:
combo:
- otp-version: '24'
elixir-version: 'v1.12'
gleam-version: '0.23.0-rc1'
rebar3-version: 'nightly'
os: 'windows-latest'
steps:
- uses: actions/checkout@v4
- name: Use erlef/setup-beam
id: setup-beam
uses: ./
with:
otp-version: ${{matrix.combo.otp-version}}
elixir-version: ${{matrix.combo.elixir-version}}
gleam-version: ${{matrix.combo.gleam-version}}
rebar3-version: ${{matrix.combo.rebar3-version}}
- run: env
- name: Check environment variables
run: |
& "$Env:INSTALL_DIR_FOR_ELIXIR/bin/elixir" "-v"
& "$Env:INSTALL_DIR_FOR_GLEAM/bin/gleam.exe" "--version"
& "$Env:INSTALL_DIR_FOR_OTP/bin/erl.exe" "+V"
& "$Env:INSTALL_DIR_FOR_REBAR3/bin/rebar3.cmd" "version"
& "$Env:INSTALL_DIR_FOR_REBAR3/bin/rebar3.ps1" "version"