| 
1 | 1 | name: CI  | 
2 | 2 | 
 
  | 
3 | 3 | on:  | 
 | 4 | +  push:  | 
 | 5 | +    branches:  | 
 | 6 | +    - swiftwasm  | 
4 | 7 |   pull_request:  | 
5 | 8 |     branches:  | 
6 | 9 |     - swiftwasm  | 
 | 
13 | 16 |     steps:  | 
14 | 17 |     - uses: actions/checkout@v1  | 
15 | 18 |     - name: Run a multi-line script  | 
16 |  | -      run: |  | 
17 |  | -        sudo apt update  | 
18 |  | -        sudo apt install \  | 
19 |  | -          git ninja-build clang python \  | 
20 |  | -          uuid-dev libicu-dev icu-devtools libbsd-dev \  | 
21 |  | -          libedit-dev libxml2-dev libsqlite3-dev swig \  | 
22 |  | -          libpython-dev libncurses5-dev pkg-config \  | 
23 |  | -          libblocksruntime-dev libcurl4-openssl-dev \  | 
24 |  | -          systemtap-sdt-dev tzdata rsync  | 
25 |  | -
  | 
26 |  | -        ./utils/update-checkout --clone --scheme wasm  | 
27 |  | -        git checkout $GITHUB_SHA  | 
28 |  | -        export sourcedir=$PWD/..  | 
29 |  | -        cd $sourcedir  | 
30 |  | -
  | 
31 |  | -        wget -O install_cmake.sh "https://github.com/Kitware/CMake/releases/download/v3.15.3/cmake-3.15.3-Linux-x86_64.sh"  | 
32 |  | -        chmod +x install_cmake.sh  | 
33 |  | -        sudo mkdir -p /opt/cmake  | 
34 |  | -        sudo ./install_cmake.sh --skip-license --prefix=/opt/cmake  | 
35 |  | -        sudo ln -sf /opt/cmake/bin/* /usr/local/bin  | 
36 |  | -        cmake --version  | 
37 |  | -
  | 
38 |  | -        wget -O wasi-sdk.tar.gz https://github.com/swiftwasm/wasi-sdk/releases/download/20190421.6/wasi-sdk-3.19gefb17cb478f9.m-linux.tar.gz  | 
39 |  | -        tar xfz wasi-sdk.tar.gz  | 
40 |  | -        mv wasi-sdk-3.19gefb17cb478f9+m/opt/wasi-sdk ./wasi-sdk  | 
41 |  | -
  | 
42 |  | -        wget -O icu.tar.xz "https://github.com/swiftwasm/icu4c-wasi/releases/download/20190421.3/icu4c-wasi.tar.xz"  | 
43 |  | -        tar xf icu.tar.xz  | 
44 |  | -
  | 
45 |  | -        cd swift  | 
46 |  | -        utils/build-script --release --wasm --verbose \  | 
47 |  | -          --skip-build-benchmarks \  | 
48 |  | -          --extra-cmake-options=" \  | 
49 |  | -            -DSWIFT_SDKS='WASM;LINUX' \  | 
50 |  | -            -DSWIFT_BUILD_SOURCEKIT=FALSE \  | 
51 |  | -            -DSWIFT_ENABLE_SOURCEKIT_TESTS=FALSE \  | 
52 |  | -            -DCMAKE_AR='$sourcedir/wasi-sdk/bin/llvm-ar' \  | 
53 |  | -            -DCMAKE_RANLIB='$sourcedir/wasi-sdk/bin/llvm-ranlib' \  | 
54 |  | -          " \  | 
55 |  | -          --build-stdlib-deployment-targets "wasm-wasm32" \  | 
56 |  | -          --build-swift-static-stdlib \  | 
57 |  | -          --install-destdir="$sourcedir/install" \  | 
58 |  | -          --install-prefix="/opt/swiftwasm-sdk" \  | 
59 |  | -          --install-swift \  | 
60 |  | -          --installable-package="$sourcedir/swiftwasm.tar.gz" \  | 
61 |  | -          --llvm-targets-to-build "X86;WebAssembly" \  | 
62 |  | -          --stdlib-deployment-targets "wasm-wasm32" \  | 
63 |  | -          --wasm-icu-data "todo-icu-data" \  | 
64 |  | -          --wasm-icu-i18n "$sourcedir/icu_out/lib" \  | 
65 |  | -          --wasm-icu-i18n-include "$sourcedir/icu_out/include" \  | 
66 |  | -          --wasm-icu-uc "$sourcedir/icu_out/lib" \  | 
67 |  | -          --wasm-icu-uc-include "$sourcedir/icu_out/include" \  | 
68 |  | -          --wasm-wasi-sdk "$sourcedir/wasi-sdk"  | 
 | 19 | +      run: ./ci-linux.sh  | 
69 | 20 | 
 
  | 
70 | 21 |   macos_build:  | 
71 | 22 |     timeout-minutes: 0  | 
 | 
74 | 25 |     steps:  | 
75 | 26 |     - uses: actions/checkout@v1  | 
76 | 27 |     - name: Run a multi-line script  | 
77 |  | -      run: |  | 
78 |  | -        brew install cmake ninja llvm  | 
79 |  | -        ./utils/update-checkout --clone --scheme wasm  | 
80 |  | -        git checkout $GITHUB_SHA  | 
81 |  | -        export sourcedir=$PWD/..  | 
82 |  | -        cd $sourcedir  | 
83 |  | -        wget -O wasi-sdk.tar.gz https://github.com/swiftwasm/wasi-sdk/releases/download/20190421.6/wasi-sdk-3.19gefb17cb478f9.m-linux.tar.gz  | 
84 |  | -        tar xfz wasi-sdk.tar.gz  | 
85 |  | -        mv wasi-sdk-3.19gefb17cb478f9+m/opt/wasi-sdk ./wasi-sdk  | 
86 |  | -        # Link sysroot/usr/include to sysroot/include because Darwin sysroot doesn't   | 
87 |  | -        # find header files in sysroot/include but sysroot/usr/include  | 
88 |  | -        mkdir wasi-sdk/share/sysroot/usr/  | 
89 |  | -        ln -s ../include wasi-sdk/share/sysroot/usr/include  | 
90 |  | -        wget -O icu.tar.xz "https://github.com/swiftwasm/icu4c-wasi/releases/download/20190421.3/icu4c-wasi.tar.xz"  | 
91 |  | -        tar xf icu.tar.xz  | 
92 |  | -        cd swift  | 
93 |  | -        ./utils/build-script --release --wasm --verbose \  | 
94 |  | -          --skip-build-benchmarks \  | 
95 |  | -          --extra-cmake-options=" \  | 
96 |  | -            -DSWIFT_PRIMARY_VARIANT_SDK:STRING=WASM \  | 
97 |  | -            -DSWIFT_PRIMARY_VARIANT_ARCH:STRING=wasm32 \  | 
98 |  | -            -DSWIFT_OSX_x86_64_ICU_STATICLIB=TRUE \  | 
99 |  | -            -DSWIFT_BUILD_SOURCEKIT=FALSE \  | 
100 |  | -            -DSWIFT_ENABLE_SOURCEKIT_TESTS=FALSE \  | 
101 |  | -            -DCMAKE_AR='/usr/local/opt/llvm/bin/llvm-ar' \  | 
102 |  | -            -DCMAKE_RANLIB='/usr/local/opt/llvm/bin/llvm-ranlib' \  | 
103 |  | -          " \  | 
104 |  | -          --build-stdlib-deployment-targets "wasm-wasm32" \  | 
105 |  | -          --build-swift-dynamic-sdk-overlay false \  | 
106 |  | -          --build-swift-static-sdk-overlay false \  | 
107 |  | -          --build-swift-static-stdlib \  | 
108 |  | -          --llvm-targets-to-build "X86;WebAssembly" \  | 
109 |  | -          --stdlib-deployment-targets "wasm-wasm32" \  | 
110 |  | -          --wasm-icu-data "todo-icu-data" \  | 
111 |  | -          --wasm-icu-i18n "$sourcedir/icu_out/lib" \  | 
112 |  | -          --wasm-icu-i18n-include "$sourcedir/icu_out/include" \  | 
113 |  | -          --wasm-icu-uc "$sourcedir/icu_out/lib" \  | 
114 |  | -          --wasm-icu-uc-include "$sourcedir/icu_out/include" \  | 
115 |  | -          --wasm-wasi-sdk "$sourcedir/wasi-sdk"  | 
 | 28 | +      run: ./ci-mac.sh  | 
0 commit comments