build (emsdk) #25
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: build (emsdk) | |
on: | |
release: | |
types: [published] | |
workflow_dispatch: | |
inputs: | |
version: | |
description: 'Version' | |
required: true | |
default: 'test-build' | |
env: | |
VERSION: ${{ github.ref_name }} | |
jobs: | |
emsdk-build: | |
runs-on: ubuntu-20.04 | |
permissions: | |
contents: write | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Preparing Sonolus Server Source Code | |
run: | | |
git clone https://github.com/SonolusHaniwa/sonolus-server-cpp sources | |
mkdir sources/emsdk | |
wget https://github.com/SonolusHaniwa/sonolus-server-cpp/releases/download/emsdk/emsdk.zip -O sources/emsdk/emsdk.zip | |
cd sources/emsdk && unzip emsdk.zip | |
- name: Preparing Emscripten SDK | |
run: | | |
git clone https://github.com/emscripten-core/emsdk | |
cd emsdk | |
./emsdk install latest | |
./emsdk activate latest | |
- name: Checking Emscripten Compiler | |
run: | | |
source "/home/runner/work/sonolus-server-cpp/sonolus-server-cpp/emsdk/emsdk_env.sh" | |
emcc --version | |
- name: Compiling Sonolus Server for NodeJS | |
run: | | |
source "/home/runner/work/sonolus-server-cpp/sonolus-server-cpp/emsdk/emsdk_env.sh" | |
cd sources | |
sqlite3 sonolus.db ".read ../data.sql" | |
./emake | |
- name: Preparing Package Environment | |
run: | | |
mkdir packages | |
mkdir packages/public | |
mv ./sources/config ./packages/public/config | |
mv ./sources/i18n ./packages/public/i18n | |
mv ./sources/web ./packages/public/web | |
mv ./sources/api ./packages/api | |
mv ./sources/libsonolus.js ./packages/public/libsonolus.js | |
mv ./sources/libsonolus.wasm ./packages/public/libsonolus.wasm | |
mv ./sources/sonolus.db ./packages/public/sonolus.db | |
mv ./sources/CODE_OF_CONDUCT.md ./packages/ | |
mv ./sources/LICENSE.txt ./packages/ | |
mv ./sources/README.md ./packages/ | |
mv ./sources/README_en.md ./packages/ | |
- name: Packaging Sonolus Server for Linux x64 | |
run: | | |
cd packages | |
zip ../sonolus-server-emsdk-${{ env.VERSION }}.zip ./* -r | |
zip ../sonolus-server-emsdk-${{ inputs.version }}.zip ./* -r | |
- name: Uploading Sonolus Server for Linux x64 | |
uses: softprops/action-gh-release@v1 | |
if: startsWith(github.ref, 'refs/tags/') | |
with: | |
files: sonolus-server-emsdk-${{ env.VERSION }}.zip | |
- name: Uploading Sonolus Server for Linux x64 | |
uses: softprops/action-gh-release@v1 | |
if: github.event_name == 'workflow_dispatch' | |
with: | |
tag_name: ${{ inputs.version }} | |
prerelease: true | |
files: sonolus-server-emsdk-${{ inputs.version }}.zip |