name: "upload_COS" ############################################################################### # This ci packages the repository files and uploads them to # the Tencent cloud storage bucket ############################################################################### on: push: branches: [ main, dev ] jobs: client_build: runs-on: windows-latest steps: - uses: actions/checkout@v3 - name: Setup dotnet Core uses: actions/setup-dotnet@v3 with: dotnet-version: 6.0.x - name: Setup Python uses: actions/setup-python@v4 with: python-version: '3.9.2' architecture: 'x64' - name: Pip Install paramiko run: pip install paramiko - name: Publish run: | mkdir -p THUAI6/win/win64 mkdir -p THUAI6/win/win64/Debug mkdir -p THUAI6/linux/linux64 mkdir -p THUAI6/linux/linux64/Debug dotnet publish "./logic/Server/Server.csproj" -c Release -r win-x64 -o ./THUAI6/win/win64 --self-contained true dotnet publish "./logic/Server/Server.csproj" -c Debug -r win-x64 -o ./THUAI6/win/win64/Debug --self-contained true dotnet publish "./logic/Server/Server.csproj" -c Release -r linux-x64 -o ./THUAI6/linux/linux64 --self-contained true dotnet publish "./logic/Server/Server.csproj" -c Debug -r linux-x64 -o ./THUAI6/linux/linux64/Debug --self-contained true dotnet publish "./logic/Client/Client.csproj" -c Release -r win-x64 -o ./THUAI6/win/win64 --self-contained true rm ./THUAI6/linux/linux64/*.pdb rm ./THUAI6/linux/linux64/Debug/*.pdb rm ./THUAI6/win/win64/*.pdb rm ./THUAI6/win/win64/Debug/*.pdb - name: Copy CAPI run: | mkdir -p THUAI6/win/CAPI/proto mkdir -p THUAI6/win/CAPI/cpp mkdir -p THUAI6/win/CAPI/python cp ./dependency/proto/Message2Clients.proto ./THUAI6/win/CAPI/proto/ cp ./dependency/proto/Message2Server.proto ./THUAI6/win/CAPI/proto/ cp ./dependency/proto/Services.proto ./THUAI6/win/CAPI/proto/ cp ./dependency/proto/MessageType.proto ./THUAI6/win/CAPI/proto/ cp -r ./CAPI/cpp/API ./THUAI6/win/CAPI/cpp cp -r ./CAPI/cpp/grpc ./THUAI6/win/CAPI/cpp cp -r ./CAPI/cpp/spdlog ./THUAI6/win/CAPI/cpp cp -r ./CAPI/cpp/tclap ./THUAI6/win/CAPI/cpp cp -r ./CAPI/cpp/proto ./THUAI6/win/CAPI/cpp cp ./CAPI/cpp/CAPI.sln ./THUAI6/win/CAPI/cpp cp ./CAPI/cpp/CMakeLists.txt ./THUAI6/win/CAPI/cpp cp -r ./CAPI/python/PyAPI ./THUAI6/win/CAPI/python cp ./CAPI/python/requirements.txt ./THUAI6/win/CAPI/python cp -r ./THUAI6/win/CAPI ./THUAI6/linux/ - name: Copy shell run: | cp -r ./CAPI/cmd/* ./THUAI6/win/ cp -r ./CAPI/shell/* ./THUAI6/linux/ - uses: actions/upload-artifact@v2 with: name: my-artifact path: ./THUAI6 build_upload: needs: client_build runs-on: ubuntu-latest steps: - uses: actions/checkout@v3 - name: Setup dotnet Core uses: actions/setup-dotnet@v3 with: dotnet-version: 6.0.x - name: Setup Python uses: actions/setup-python@v4 with: python-version: '3.9' - name: Pip Install paramiko run: pip install paramiko - uses: actions/download-artifact@v2 with: name: my-artifact path: ./THUAI6 - name: Markdown to PDF and HTML uses: BaileyJM02/markdown-to-pdf@v1.2.0 with: input_dir: ./docs output_dir: ./THUAI6/ images_dir: ./resource image_import: ./images build_html: false - name: Hash Files run: | python ./dependency/py/HashFiles.py -t ./THUAI6 - name: Upload COS uses: zkqiang/tencent-cos-action@v0.1.0 with: args: upload -r ./THUAI6/hash.json / secret_id: ${{ secrets.TENCENT_CLOUD_SECRET_ID }} secret_key: ${{ secrets.TENCENT_CLOUD_SECRET_KEY }} bucket: ${{ secrets.COS_BUCKET }} region: ${{ secrets.COS_REGION }} - name: Remove Files run: | rm ./THUAI6/hash.json rm -r ./THUAI6/win/CAPI/cpp/grpc rm -r ./THUAI6/win/CAPI/cpp/spdlog rm -r ./THUAI6/win/CAPI/cpp/tclap rm ./THUAI6/win/win64/PresentationCore.dll rm ./THUAI6/win/win64/PresentationFramework.dll rm ./THUAI6/win/win64/Debug/Microsoft.DiaSymReader.Native.amd64.dll rm ./THUAI6/win/win64/WindowsBase.dll rm ./THUAI6/linux/linux64/System.*.dll rm ./THUAI6/linux/linux64/Debug/System.*.dll rm ./THUAI6/win/win64/System.*.dll rm ./THUAI6/win/win64/Debug/System.*.dll rm ./THUAI6/win/win64/Debug/grpc_csharp_ext.x64.dll rm ./THUAI6/win/win64/grpc_csharp_ext.x64.dll rm ./THUAI6/linux/linux64/*.so rm ./THUAI6/linux/linux64/Debug/*.so - name: Upload COS uses: zkqiang/tencent-cos-action@v0.1.0 with: args: upload -r ./THUAI6/ /THUAI6/ secret_id: ${{ secrets.TENCENT_CLOUD_SECRET_ID }} secret_key: ${{ secrets.TENCENT_CLOUD_SECRET_KEY }} bucket: ${{ secrets.COS_BUCKET }} region: ${{ secrets.COS_REGION }}