OSDN Git Service

Please enter the commit message for your changes. Lines starting
[eos/base.git] / util / src / TclTk / tcl8.6.12 / .github / workflows / win-build.yml
1 name: Windows
2 on: [push]
3 env:
4   ERROR_ON_FAILURES: 1
5 jobs:
6   msvc:
7     runs-on: windows-latest
8     defaults:
9       run:
10         shell: powershell
11         working-directory: win
12     strategy:
13       matrix:
14         cfgopt:
15           - ""
16           - "OPTS=static,msvcrt"
17           - "OPTS=symbols"
18           - "OPTS=memdbg"
19     # Using powershell means we need to explicitly stop on failure
20     steps:
21       - name: Checkout
22         uses: actions/checkout@v2
23       - name: Init MSVC
24         uses: ilammy/msvc-dev-cmd@v1
25       - name: Build ${{ matrix.cfgopt }}
26         run: |
27           &nmake -f makefile.vc ${{ matrix.cfgopt }} all
28           if ($lastexitcode -ne 0) {
29              throw "nmake exit code: $lastexitcode"
30           }
31       - name: Build Test Harness ${{ matrix.cfgopt }}
32         run: |
33           &nmake -f makefile.vc ${{ matrix.cfgopt }} tcltest
34           if ($lastexitcode -ne 0) {
35              throw "nmake exit code: $lastexitcode"
36           }
37       - name: Run Tests ${{ matrix.cfgopt }}
38         run: |
39           &nmake -f makefile.vc ${{ matrix.cfgopt }} test
40           if ($lastexitcode -ne 0) {
41              throw "nmake exit code: $lastexitcode"
42           }
43   gcc:
44     runs-on: windows-latest
45     defaults:
46       run:
47         shell: msys2 {0}
48         working-directory: win
49     strategy:
50       matrix:
51         cfgopt:
52           - ""
53           - "--disable-shared"
54           - "--enable-symbols"
55           - "--enable-symbols=mem"
56     # Using powershell means we need to explicitly stop on failure
57     steps:
58       - name: Install MSYS2
59         uses: msys2/setup-msys2@v2
60         with:
61           msystem: MINGW64
62           install: git mingw-w64-x86_64-toolchain make
63       - name: Checkout
64         uses: actions/checkout@v2
65       - name: Prepare
66         run: |
67           touch tclStubInit.c tclOOStubInit.c
68           mkdir "${HOME}/install dir"
69         working-directory: generic
70       - name: Configure ${{ matrix.cfgopt }}
71         run: |
72           ./configure ${CFGOPT} "--prefix=$HOME/install dir" || (cat config.log && exit 1)
73         env:
74           CFGOPT: --enable-64bit ${{ matrix.cfgopt }}
75       - name: Build
76         run: make all
77       - name: Build Test Harness
78         run: make tcltest
79       - name: Run Tests
80         run: make test