name: publish on: push: tags: - "v*.*.*" env: draft: true jobs: wasm3-windows: runs-on: windows-latest name: ${{ matrix.config.target }} timeout-minutes: 10 strategy: fail-fast: false matrix: config: - {target: wasm3-win-x64, platform: "-A x64", toolset: "-T ClangCL" } - {target: wasm3-win-x86, platform: "-A Win32", toolset: "-T ClangCL" } - {target: wasm3-strace-win-x64, platform: "-A x64", toolset: "-T ClangCL", cflags: "-DDEBUG -Dd_m3EnableStrace=2 -Dd_m3RecordBacktraces=1" } env: LDFLAGS: -s steps: - uses: actions/checkout@v2 - name: Configure env: CFLAGS: ${{ matrix.config.cflags }} run: | mkdir build cd build cmake ${{ matrix.config.platform }} ${{ matrix.config.toolset }} .. - name: Build run: | cmake --build build --config Release cp ./build/Release/wasm3.exe ./${{ matrix.config.target }}.exe - name: Publish uses: softprops/action-gh-release@v1 with: draft: ${{ env.draft }} files: "*.exe" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} wasm3-linux-x64: runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@v2 - name: Setup musl run: | sudo apt update sudo apt install musl-tools - name: Setup cmake uses: jwlawson/actions-setup-cmake@v1.9 with: cmake-version: '3.16.x' - name: Configure env: CC: musl-gcc LDFLAGS: "-static -s" run: | mkdir build cd build cmake --version cmake .. - name: Build run: | cmake --build build --verbose cp ./build/wasm3 ./wasm3-linux-x64.elf - name: Publish uses: softprops/action-gh-release@v1 with: draft: ${{ env.draft }} files: "*.elf" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} wasm3-cosmopolitan: runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@v2 - name: Build αcτµαlly pδrταblε εxεcµταblε run: | cd platforms/cosmopolitan ./build.sh cp ./wasm3.com ../../wasm3-cosmopolitan.com cp ./wasm3.com.dbg ../../wasm3-cosmopolitan.com.dbg - name: Publish uses: softprops/action-gh-release@v1 with: draft: ${{ env.draft }} files: | *.com *.com.dbg env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} wasm3-wasi: runs-on: ubuntu-latest timeout-minutes: 10 env: LDFLAGS: -s steps: - uses: actions/checkout@v2 - name: Install Python dependencies run: | python3 -m pip install pip==20.1.1 python3 -m pip install --upgrade setuptools wheel pip3 --version - name: Install Wasienv env: WASMER_RELEASE_TAG: "1.0.2" run: curl https://raw.githubusercontent.com/wasienv/wasienv/master/install.sh | sh - name: Configure run: | source $HOME/.wasienv/wasienv.sh mkdir build cd build wasimake cmake .. - name: Build run: | source $HOME/.wasienv/wasienv.sh cmake --build build cp ./build/wasm3.wasm ./wasm3-wasi.wasm - name: Configure, Build wasm3-strace env: CFLAGS: -DDEBUG -Dd_m3EnableStrace=2 -Dd_m3RecordBacktraces=1 run: | source $HOME/.wasienv/wasienv.sh mkdir build-strace cd build-strace wasimake cmake .. cmake --build . cp ./wasm3.wasm ../wasm3-strace.wasm - name: Publish uses: softprops/action-gh-release@v1 with: draft: ${{ env.draft }} files: "*.wasm" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} wasm3-android-coremark: runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@v2 - uses: seanmiddleditch/gha-setup-ninja@master - name: Set up JDK 1.8 uses: actions/setup-java@v1 with: java-version: 1.8 - name: Install NDK run: | sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "ndk;22.1.7171670" sudo ${ANDROID_HOME}/tools/bin/sdkmanager --uninstall "cmake;3.18.1" sudo ${ANDROID_HOME}/tools/bin/sdkmanager --install "cmake;3.10.2.4988404" - name: Build run: | cd platforms/android ./gradlew build - name: Copy run: | cp ./platforms/android/app/build/outputs/apk/debug/app-debug.apk ./wasm3-android-coremark.apk - name: Publish uses: softprops/action-gh-release@v1 with: draft: ${{ env.draft }} files: "*.apk" env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}