From efa32a3914d52344893a62105fbe97a3991ed579 Mon Sep 17 00:00:00 2001 From: Thomas Leyh Date: Sat, 6 May 2023 16:11:57 +0200 Subject: [PATCH] create action for publishing packages --- .github/workflows/build.yaml | 4 +- .github/workflows/publish.yaml | 69 ++++++++++++++++++++++++++++++++++ 2 files changed, 71 insertions(+), 2 deletions(-) create mode 100644 .github/workflows/publish.yaml diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml index 5214d2d..39ab2bd 100644 --- a/.github/workflows/build.yaml +++ b/.github/workflows/build.yaml @@ -22,7 +22,7 @@ jobs: -o out/mecab.js - uses: actions/upload-artifact@v3 with: - name: mecab + name: mecab-wasm path: out/ if-no-files-found: error test: @@ -32,7 +32,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/download-artifact@v3 with: - name: mecab + name: mecab-wasm path: src/ - uses: actions/setup-node@v3 with: diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 0000000..98fb293 --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,69 @@ +name: Publish Package to npmjs and GitHub Package Registry +on: + release: + types: [published] +jobs: + build-wasm: + runs-on: ubuntu-22.04 + container: emscripten/emsdk:3.1.36 + steps: + - uses: actions/checkout@v3 + with: + repository: "taku910/mecab" + path: mecab + - run: emconfigure mecab/mecab/configure --enable-static=true --enable-shared=false --enable-utf8-only + - run: emmake make CXXFLAGS='-O3 -Wall -std=c++11' + - run: mkdir out + - run: >- + emcc -O3 -Wall -std=c++11 + -sALLOW_MEMORY_GROWTH=1 -sMAXIMUM_MEMORY=2147483648 + -sENVIRONMENT=worker -sEXPORT_ES6=1 -sMODULARIZE=1 -sEXPORT_NAME=createModule + -sEXPORTED_FUNCTIONS=_malloc,_free,_mecab_new,_mecab_sparse_tostr,_mecab_sparse_tonode + -sEXPORTED_RUNTIME_METHODS=cwrap,writeAsciiToMemory,UTF8ToString,setValue,getValue,FS,WORKERFS + -l'workerfs.js' + src/.libs/libmecab.a + -o out/mecab.js + - uses: actions/upload-artifact@v3 + with: + name: mecab-wasm + path: out/ + if-no-files-found: error + publish-npm: + needs: build-wasm + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v3 + - uses: actions/download-artifact@v3 + with: + name: mecab-wasm + path: src/ + - uses: actions/setup-node@v3 + with: + node-version: 18 + registry-url: "https://registry.npmjs.org" + - run: npm ci + - run: npm run build + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} + publish-github: + needs: build-wasm + runs-on: ubuntu-22.04 + permissions: + contents: read + packages: write + steps: + - uses: actions/checkout@v3 + - uses: actions/download-artifact@v3 + with: + name: mecab-wasm + path: src/ + - uses: actions/setup-node@v3 + with: + node-version: 18 + registry-url: "https://npm.pkg.github.com" + - run: npm ci + - run: npm run build + - run: npm publish + env: + NODE_AUTH_TOKEN: ${{ secrets.GITHUB_TOKEN }}