# # 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 Wine # 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-src: # 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: Build # run: | # export ACTION_MODE=true # export DOCKER_UID=$UID # export DOCKER_GID=$GID # ls -l # export WINE=true # docker-compose up # - name: Compress Resources # run: | # ls -l # export WINE=true # mkdir -p tmp/src # mkdir -p tmp/build # rm -rf nwjs/node nwjs/node.exe # cp node/bin/node nwjs/node # cd nwjs && ln -s node node.exe # cd .. # tar -zcf tmp/src/src-wine.tar.gz bin nwjs package.nw tools # - name: View Directory # run: | # ls -l # - name: Upload artifact # uses: actions/upload-artifact@v2.3.1 # with: # # Artifact name # name: wechat-devtools-${{ matrix.ARCH }}.src # path: tmp/src # - name: Upload artifact # uses: actions/upload-artifact@v2.3.1 # with: # # Artifact name # name: wechat-devtools-${{ matrix.ARCH }}.build # path: tmp/build # build-tar: # name: Build tar.gz AppImage # needs: # - build-src # 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 # - name: Download artifacts # uses: actions/download-artifact@v2 # - name: Prepare # run: | # cd compiler && npm install # sudo apt install -y fuse # 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: Build # run: | # export WINE=true # export ACTION_MODE=true # # tar.gz AppImage # ls -l # mkdir -p tmp/build # tools/build-prepare.sh # tools/build-release.sh ${{ matrix.ARCH }} ${{ steps.tag.outputs.tag }} # - name: View Directory # run: | # ls -l # - name: Upload artifact # uses: actions/upload-artifact@v2.3.1 # with: # # Artifact name # name: wechat-devtools-${{ matrix.ARCH }}.build # path: tmp/build # build-deb: # name: Build DEB Package # needs: # - build-src # runs-on: ubuntu-20.04 # strategy: # matrix: # ARCH: ['x86_64'] # # See supported Node.js release schedule at https://nodejs.org/en/about/releases/ # steps: # - uses: actions/checkout@v2 # - name: Download artifacts # uses: actions/download-artifact@v2 # - 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" # # https://stackoverflow.com/questions/61096521/how-to-use-gpg-key-in-github-actions # - name: Configure GPG Key # run: | # echo -n "$GPG_SIGNING_KEY" | base64 --decode | gpg --import # env: # GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }} # - name: Prepare # run: | # sudo apt-get install -y build-essential fakeroot devscripts debhelper # debmake lintian pbuilder # - name: Build Deb Package # run: | # export BUILD_VERSION=${{ steps.tag.outputs.tag }} # ls -l # mkdir -p tmp/build # export WINE=true # tools/build-prepare.sh # tools/build-deepin.sh ${{ steps.tag.outputs.tag }} # - 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-tar # - build-deb # # - build-snap # # - build-arch # 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: | # 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/WeChat*.AppImage **build/*.tar.gz **build/*.deb # - 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/WeChat*.AppImage # **build/*.tar.gz # **build/*.deb