release.yml 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. name: release
  2. on:
  3. workflow_dispatch:
  4. env:
  5. CC: gcc-4.9
  6. CXX: g++-4.9
  7. ver: dtc-v2.1.3-m
  8. jobs:
  9. build:
  10. name: Release Asset
  11. runs-on: ubuntu-20.04
  12. steps:
  13. - uses: actions/checkout@v3
  14. - name: Install gcc env
  15. run: |
  16. echo "deb http://dk.archive.ubuntu.com/ubuntu/ xenial main" | sudo tee -a /etc/apt/sources.list
  17. echo "deb http://dk.archive.ubuntu.com/ubuntu/ xenial universe" | sudo tee -a /etc/apt/sources.list
  18. sudo apt update
  19. sudo apt install gcc-4.9 g++-4.9
  20. shell: bash
  21. - name: Install dependency
  22. run: |
  23. sudo apt-get install -y make zlib1g zlib1g-dev bzip2 liblz4-dev libasan0 openssl libmxml-dev wget
  24. - name: update hsql
  25. run: |
  26. sh ${{github.workspace}}/script/download.sh
  27. tar -zxvf hsql.tar.gz
  28. cd hsql
  29. cp -rf include/ ${{github.workspace}}/src/libs/hsql/
  30. cp -f libs/libsqlparser.so ${{github.workspace}}/src/libs/hsql/libs/libsqlparser.so
  31. cp -f libs/libsqlparser.a ${{github.workspace}}/src/libs/hsql/libs/libsqlparser.a
  32. - name: cmake project
  33. run: |
  34. cd ${{github.workspace}}
  35. mkdir build
  36. cd build
  37. cmake ../
  38. make
  39. - name: Tar bin
  40. run: |
  41. cd ${{github.workspace}}/build/
  42. mkdir dtc
  43. mkdir dtc/bin
  44. mkdir dtc/conf
  45. mkdir dtc/log
  46. mkdir dtc/lib
  47. mkdir dtc/stat
  48. cp src/agent/dtcagent dtc/bin/
  49. cp src/agent-watchdog/agent-watchdog dtc/bin/
  50. cp src/connector/connector dtc/bin/
  51. cp src/core/dtcd dtc/bin/
  52. cp src/data_lifecycle/data-lifecycle-manager dtc/bin/
  53. cp src/hwcserver/hwcserver dtc/bin/
  54. cp src/rule/librule.so dtc/bin/
  55. cp src/utils/conf-gen-utils dtc/bin/
  56. cp ../src/libs/api/cc_api/libs/libdtcapi.so dtc/bin/libdtc.so.1
  57. cp ../src/libs/hsql/libs/libsqlparser.so dtc/bin/
  58. cp ../script/dtc.sh dtc/bin/
  59. cp ../script/agent.sh dtc/bin/
  60. cp ../src/libs/api/cc_api/libs/key-hash.so dtc/lib/
  61. chmod +x dtc/bin/dtc.sh
  62. chmod +x dtc/bin/agent.sh
  63. #wget "https://storage.jd.com/bq-install/shardingsphere/sharding-851d4a.tgz" -O dtc/sharding.tar.gz
  64. #tar -zxvf dtc/sharding.tar.gz -C dtc
  65. #rm dtc/sharding.tar.gz
  66. #cp ../dockerfiles/devel/mysql-connector-java-5.1.49.jar dtc/sharding/lib/mysql-connector-java-5.1.49.jar
  67. cp ../conf/log4cplus.conf dtc/conf/
  68. cp ../conf/log4cplus-wd.conf dtc/conf/
  69. cp ../conf/log4cplus-hwc.conf dtc/conf/
  70. cp ../conf/log4cplus-agent.conf dtc/conf/
  71. cp ../conf/log4cplus-life.conf dtc/conf/
  72. cp ../conf/my.conf dtc/conf/
  73. tar -zcvf dtc.tar.gz dtc/
  74. - name: Create Release
  75. id: create_release
  76. uses: actions/create-release@v1
  77. env:
  78. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  79. with:
  80. tag_name: ${{ env.ver }}
  81. release_name: ${{ env.ver }}
  82. draft: false
  83. prerelease: true
  84. - name: Upload Release Asset
  85. id: upload-release-asset
  86. uses: actions/upload-release-asset@v1
  87. env:
  88. GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
  89. with:
  90. upload_url: ${{ steps.create_release.outputs.upload_url }}
  91. asset_path: ${{github.workspace}}/build/dtc.tar.gz
  92. asset_name: ${{ env.ver }}.tar.gz
  93. asset_content_type: application/gzip