Upload artifacts for ffish.js builds in CI (#834)
authoryjf2002ghty <47345902+yjf2002ghty@users.noreply.github.com>
Sun, 29 Dec 2024 18:22:52 +0000 (02:22 +0800)
committerGitHub <noreply@github.com>
Sun, 29 Dec 2024 18:22:52 +0000 (19:22 +0100)
.github/workflows/ffishjs.yml

index e02c7fc..a6fba4e 100644 (file)
@@ -43,3 +43,48 @@ jobs:
       - name: Run unit tests
         working-directory: tests/js
         run: npm test
+
+  build:
+    runs-on: ubuntu-20.04
+    needs: [test]    #Building process must start after successful testing process
+
+    strategy:
+      matrix:
+        node-version: [12.x]
+
+    steps:
+      - uses: actions/checkout@v4
+      - name: Setup cache
+        id: cache-system-libraries
+        uses: actions/cache@v2
+        with:
+          path: ${{env.EM_CACHE_FOLDER}}
+          key: emsdk-${{env.EM_VERSION}}-${{ runner.os }}
+      - uses: mymindstorm/setup-emsdk@v7
+        with:
+          version: ${{env.EM_VERSION}}
+          actions-cache-folder: ${{env.EM_CACHE_FOLDER}}
+      - name: Use Node.js ${{ matrix.node-version }}
+        uses: actions/setup-node@v1
+        with:
+          node-version: ${{ matrix.node-version }}
+      - name: Build ffish.js ES6/ES2015 module
+        working-directory: src
+        run: rm -f ../tests/js/ffish.js & rm -f ../tests/js/ffish.wasm & make -f Makefile_js build es6=yes
+      - name: Upload ffish.js ES6/ES2015 module ZIP archive
+        uses: actions/upload-artifact@v4
+        with:
+          name: ffishjs-es6
+          path: tests/js/*
+          if-no-files-found: error
+          compression-level: 9
+      - name: Build ffish.js standard module
+        working-directory: src
+        run: rm -f ../tests/js/ffish.js & rm -f ../tests/js/ffish.wasm & make -f Makefile_js build
+      - name: Upload ffish.js standard module ZIP archive
+        uses: actions/upload-artifact@v4
+        with:
+          name: ffishjs-standard
+          path: tests/js/*
+          if-no-files-found: error
+          compression-level: 9