-
Notifications
You must be signed in to change notification settings - Fork 36
74 lines (71 loc) · 2.63 KB
/
windows-cygwin.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: build-swoole-cli-windows-cygwin
on: [ push, pull_request ]
jobs:
windows-cygwin:
if: 0
runs-on: windows-latest
steps:
- name: Prepare git
run: |
git config --global core.autocrlf false
git config --global core.eol lf
env
ipconfig
uname -a
pwd
- uses: actions/checkout@v3
- name: Prepare submodule
run: |
ipconfig /all
# git submodule update --init
- name: Cache cygwin packages
id: cache-cygwin
uses: actions/cache@v3
env:
cache-name: cache-cygwin-packages
with:
path: C:/cygwin-packages
key: ${{ runner.os }}-build-${{ env.cache-name }}
- name: Install deps
uses: cygwin/cygwin-install-action@v4
with:
platform: x86_64
packages: make git curl wget tar libtool re2c bison gcc-g++ autoconf automake openssl libpcre2-devel libssl-devel libcurl-devel libxml2-devel libxslt-devel libgmp-devel ImageMagick libpng-devel libjpeg-devel libfreetype-devel libwebp-devel libsqlite3-devel zlib-devel libbz2-devel liblz4-devel liblzma-devel libzip-devel libicu-devel libonig-devel libcares-devel libsodium-devel libyaml-devel libMagick-devel libzstd-devel libbrotli-devel libreadline-devel libintl-devel libpq-devel libssh2-devel libidn2-devel gettext-devel coreutils openssl-devel zip unzip libpq5 libpq-devel
- name: Install re2c
run: |
bash ./sapi/scripts/cygwin/install-re2c.sh
- name: Prepare
run: |
# git config --global --add safe.directory /cygdrive/d/a/swoole-cli/swoole-cli
# git submodule update --init
bash ./sapi/scripts/cygwin/cygwin-config-ext.sh
- name: Configure
run: |
bash ./sapi/scripts/cygwin/cygwin-config.sh
- name: Build
run: |
bash ./sapi/scripts/cygwin/cygwin-build.sh
- name: Show Build Result
run: |
./bin/swoole-cli -v
./bin/swoole-cli -m
./bin/swoole-cli --ri pdo_pgsql
./bin/swoole-cli --ri swoole
- name: Archive
run: |
bash ./sapi/scripts/cygwin/cygwin-archive.sh
- name: production artifacts
uses: actions/upload-artifact@v3
with:
name: cygwin-swoole-cli-dist
path: |
bin/swoole-cli.exe
- name: gh release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
files: swoole-cli-*-cygwin-x64.zip
draft: true
prerelease: true