diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index eacf3f0..8a6eeaa 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -9,7 +9,7 @@ on: push: tags: - v* - branches: [ master, dev, 45-snap-version] + branches: [ master, dev, ci] pull_request: branches: [ master ] # # Allows you to run this workflow manually from the Actions tab @@ -50,14 +50,20 @@ jobs: echo "tag result: $tag - $name" echo "::set-output name=tag::$tag" echo "::set-output name=name::$name" + + - name: Configure the project + uses: threeal/cmake-action@v1.3.0 + + - name: Build the project + run: cmake --build build - - name: Compress + - name: Upload prepare run: | ls -l + echo "------------------------" + ls -l build mkdir -p tmp/build - sudo rm -rf test - tar -zcf compiler.tar.gz * - mv compiler.tar.gz tmp/build + mv build/{wcc,wcsc} tmp/build cd tmp/build ls -l @@ -97,9 +103,10 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | + sudo apt install -y fuse wget -q https://github.com/TheAssassin/pyuploadtool/releases/download/continuous/pyuploadtool-x86_64.AppImage chmod +x pyuploadtool-x86_64.AppImage - ./pyuploadtool-x86_64.AppImage **build/*.tar.gz + ./pyuploadtool-x86_64.AppImage **build/wcc **build/wcsc - name: Release uses: softprops/action-gh-release@v1 @@ -110,4 +117,5 @@ jobs: name: ${{ steps.tag.outputs.name }} tag_name: ${{ steps.tag.outputs.tag }} files: | - **build/*.tar.gz + **build/wcc + **build/wcsc diff --git a/CMakeLists.txt b/CMakeLists.txt index 76be89e..904b154 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -72,26 +72,26 @@ add_executable(wcsc src/utils/string_utils.cpp src/utils/file.cpp ) -add_executable( - resolve_path - test/resolve_path.cpp - src/wxml/dom_lib/common.cpp - ) +# add_executable( +# resolve_path +# test/resolve_path.cpp +# src/wxml/dom_lib/common.cpp +# ) add_executable(test1 test/test.cpp ) -add_executable( - transit_table - test/transit_table.cpp - src/wxml/expr_lib/base.cpp - src/wxml/expr_lib/bnf.cpp - src/wxml/expr_lib/common.cpp - src/wxml/expr_lib/expr_syntax_tree.cpp - src/wxml/expr_lib/parser.cpp - src/wxml/expr_lib/token.cpp - src/wxml/expr_lib/tokenizer.cpp - src/wxml/expr_lib/transit_table.cpp - ) +# add_executable( +# transit_table +# test/transit_table.cpp +# src/wxml/expr_lib/base.cpp +# src/wxml/expr_lib/bnf.cpp +# src/wxml/expr_lib/common.cpp +# src/wxml/expr_lib/expr_syntax_tree.cpp +# src/wxml/expr_lib/parser.cpp +# src/wxml/expr_lib/token.cpp +# src/wxml/expr_lib/tokenizer.cpp +# src/wxml/expr_lib/transit_table.cpp +# ) add_test(transit_table_test $ diff --git a/node/.github/workflows/release.yml b/node/.github/workflows/release.yml new file mode 100644 index 0000000..eacf3f0 --- /dev/null +++ b/node/.github/workflows/release.yml @@ -0,0 +1,113 @@ +# This workflow will do a clean installation of node dependencies, cache/restore them, build the source code and run tests across different versions of node +# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions + +name: Build Packages + +on: + release: + types: [published] + push: + tags: + - v* + branches: [ master, dev, 45-snap-version] + pull_request: + branches: [ master ] + # # Allows you to run this workflow manually from the Actions tab + # workflow_dispatch: + +jobs: + build: + name: Build Base Packages + runs-on: ubuntu-latest + + strategy: + matrix: + node-version: [16.x] + ARCH: ['x86_64'] + # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ + + steps: + - uses: actions/checkout@v2 + with: + submodules: 'recursive' + - name: Use Node.js ${{ matrix.node-version }} + uses: actions/setup-node@v2 + + - name: Prepare + run: | + cd compiler && npm install + echo "$UID, $GID" + + - name: Generate TAG + id: Tag + run: | + tag='continuous' + name='Continuous Build' + if [ 'true' == ${{ startsWith(github.ref, 'refs/tags/') }} ];then + tag='${{ github.ref_name }}' + name='${{ github.ref_name }}' + fi + echo "tag result: $tag - $name" + echo "::set-output name=tag::$tag" + echo "::set-output name=name::$name" + + - name: Compress + run: | + ls -l + mkdir -p tmp/build + sudo rm -rf test + tar -zcf compiler.tar.gz * + mv compiler.tar.gz tmp/build + cd tmp/build + ls -l + + - name: Upload artifact + uses: actions/upload-artifact@v2.3.1 + with: + # Artifact name + name: wechat-devtools-${{ matrix.ARCH }}.build + path: tmp/build + + upload: + name: Create release and upload artifacts + needs: + - build + runs-on: ubuntu-latest + steps: + - name: Download artifacts + uses: actions/download-artifact@v2 + - name: Inspect directory after downloading artifacts + run: ls -alFR + + - name: Generate TAG + id: Tag + run: | + tag='continuous' + name='Continuous Build' + if [ 'true' == ${{ startsWith(github.ref, 'refs/tags/') }} ];then + tag='${{ github.ref_name }}' + name='${{ github.ref_name }}' + fi + echo "tag result: $tag - $name" + echo "::set-output name=tag::$tag" + echo "::set-output name=name::$name" + + - name: Create release and upload artifacts + if: startsWith(github.ref, 'refs/heads/') + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + run: | + wget -q https://github.com/TheAssassin/pyuploadtool/releases/download/continuous/pyuploadtool-x86_64.AppImage + chmod +x pyuploadtool-x86_64.AppImage + ./pyuploadtool-x86_64.AppImage **build/*.tar.gz + + - name: Release + uses: softprops/action-gh-release@v1 + if: startsWith(github.ref, 'refs/tags/') + with: + # note you'll typically need to create a personal access token + # with permissions to create releases in the other repo + name: ${{ steps.tag.outputs.name }} + tag_name: ${{ steps.tag.outputs.tag }} + files: | + **build/*.tar.gz