Update SVG #184
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 | |
on: | |
push: | |
paths-ignore: ['**/*.md'] | |
pull_request: | |
branches: [main] | |
paths-ignore: ['**/*.md'] | |
jobs: | |
setup: | |
strategy: | |
matrix: | |
os: [macos-latest, ubuntu-latest, windows-latest] | |
runs-on: ${{ matrix.os }} | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: pnpm/action-setup@v2 | |
with: | |
version: latest | |
- name: Bundle WebUI Bridge | |
shell: bash | |
run: | | |
pnpm i -g esbuild | |
esbuild --bundle --target="chrome90,firefox90,safari15" --format=esm --tree-shaking=false --outdir=./bridge ./bridge/webui_bridge.ts | |
cd bridge | |
python3 js2c.py | |
- uses: actions/cache@v3 | |
with: | |
path: bridge/webui_bridge.h | |
key: ${{ runner.os }}-${{ github.sha }}-client | |
windows: | |
needs: setup | |
runs-on: windows-latest | |
permissions: | |
contents: write | |
strategy: | |
matrix: | |
compiler: [GCC, MSVC] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache/restore@v3 | |
with: | |
path: bridge/webui_bridge.h | |
key: ${{ runner.os }}-${{ github.sha }}-client | |
fail-on-cache-miss: true | |
- uses: microsoft/[email protected] | |
- if: ${{ matrix.compiler == 'MSVC' }} | |
uses: ilammy/msvc-dev-cmd@v1 | |
- name: Build | |
run: | | |
cd build\/${{ runner.os }}\${{ matrix.compiler }} | |
if ('${{ matrix.compiler }}' -eq 'MSVC') { | |
nmake | |
} else { | |
mingw32-make | |
} | |
- name: Prepare Artifact | |
shell: bash | |
run: | | |
rm build/${{ runner.os }}/README.md | |
rm build/${{ runner.os }}/${{ matrix.compiler }}/Makefile | |
cp -r include build/${{ runner.os }}/${{ matrix.compiler }} | |
artifact=${{ runner.os }}-${{ matrix.compiler }}-x64 | |
# Add the ARTIFACT name(`,,` ^= lowercase shell param) as GitHub environment variable. | |
echo "ARTIFACT=${artifact,,}" >> $GITHUB_ENV | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.ARTIFACT }} | |
path: build/${{ runner.os }}/${{ matrix.compiler }} | |
- name: Release Artifact | |
if: github.ref_type == 'tag' | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: ${{ env.ARTIFACT }} | |
linux: | |
needs: setup | |
runs-on: ubuntu-latest | |
permissions: | |
contents: write | |
strategy: | |
matrix: | |
compiler: [GCC, Clang] | |
fail-fast: false | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache/restore@v3 | |
with: | |
path: bridge/webui_bridge.h | |
key: ${{ runner.os }}-${{ github.sha }}-client | |
fail-on-cache-miss: true | |
- name: Build | |
run: | | |
cd build//${{ runner.os }}/${{ matrix.compiler }} | |
if [ "${{ matrix.compiler }}" == "Clang" ]; then | |
sudo ln -s llvm-ar-13 /usr/bin/llvm-ar | |
sudo ln -s llvm-ranlib-13 /usr/bin/llvm-ranlib | |
fi | |
make | |
- name: Prepare Artifact | |
run: | | |
rm build/${{ runner.os }}/README.md | |
rm build/${{ runner.os }}/${{ matrix.compiler }}/Makefile | |
cp -r include build/${{ runner.os }}/${{ matrix.compiler }} | |
artifact=${{ runner.os }}-${{ matrix.compiler }}-x64 | |
# Add the ARTIFACT name(`,,` ^= lowercase shell param) as GitHub environment variable. | |
echo "ARTIFACT=${artifact,,}" >> $GITHUB_ENV | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.ARTIFACT }} | |
path: build/${{ runner.os }}/${{ matrix.compiler }} | |
- name: Release Artifact | |
if: github.ref_type == 'tag' | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: ${{ env.ARTIFACT }} | |
macOS: | |
needs: setup | |
runs-on: macos-latest | |
name: macOS | |
permissions: | |
contents: write | |
strategy: | |
matrix: | |
compiler: [Clang] | |
steps: | |
- uses: actions/checkout@v3 | |
- uses: actions/cache/restore@v3 | |
with: | |
path: bridge/webui_bridge.h | |
key: ${{ runner.os }}-${{ github.sha }}-client | |
fail-on-cache-miss: true | |
- name: Build | |
run: | | |
cd build//${{ runner.os }}/${{ matrix.compiler }} | |
make | |
- name: Prepare Artifacts | |
run: | | |
rm build/${{ runner.os }}/README.md | |
rm build/${{ runner.os }}/${{ matrix.compiler }}/Makefile | |
cp -r include build/${{ runner.os }}/${{ matrix.compiler }} | |
# Add the ARTIFACT name(lowercased) as GitHub environment variable. | |
artifact=$(echo ${{ runner.os }}-${{ matrix.compiler }}-x64 | tr '[:upper:]' '[:lower:]') | |
echo "ARTIFACT=$artifact" >> $GITHUB_ENV | |
- name: Upload Artifact | |
uses: actions/upload-artifact@v3 | |
with: | |
name: ${{ env.ARTIFACT }} | |
path: build/${{ runner.os }}/${{ matrix.compiler }} | |
- name: Release Artifact | |
if: github.ref_type == 'tag' | |
uses: softprops/action-gh-release@v1 | |
with: | |
files: ${{ env.ARTIFACT }} |