name: Release on: push: branches: [master] jobs: build: name: Build runs-on: ubuntu-20.04 env: BUILD_CONFIGURATION: Release DOTNET_NOLOGO: true DOTNET_CLI_TELEMETRY_OPTOUT: true steps: - uses: actions/checkout@master name: Checkout with: ref: ${{ github.head_ref }} fetch-depth: 0 - uses: actions/setup-dotnet@v3 name: Setup dotnet with: dotnet-version: '8.0.x' - name: Restore dependencies run: dotnet restore Torch.Server/Torch.Server.csproj --locked-mode - name: Git Version id: version uses: codacy/git-version@2.7.1 - name: Build run: dotnet build Torch.Server/Torch.Server.csproj --no-restore -c ${{ env.BUILD_CONFIGURATION }} -p:Version="${{ steps.version.outputs.version }}" -p:AssemblyVersion="${{ steps.version.outputs.version }}" - name: Publish run: dotnet publish Torch.Server/Torch.Server.csproj --no-build --sc -c ${{ env.BUILD_CONFIGURATION }} -o ./publish - uses: vimtor/action-zip@v1 name: Zip Release with: files: publish/ dest: release.zip - name: Create release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: tag_name: ${{ steps.version.outputs.version }} release_name: Release v${{ steps.version.outputs.version }} body: ${{ steps.github_release.outputs.changelog }} draft: true prerelease: false - name: Upload release asset uses: actions/upload-release-asset@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: upload_url: ${{ steps.create_release.outputs.upload_url }} asset_path: release.zip asset_name: torch-server.zip asset_content_type: application/zip - uses: eregon/publish-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: release_id: ${{ steps.create_release.outputs.id }} - run: dotnet pack -c Release ./Torch.API/Torch.API.csproj -o pack -p:Version="${{ steps.version.outputs.version }}" -p:AssemblyVersion="${{ steps.version.outputs.version }}" --no-build - run: dotnet pack -c Release ./Torch/Torch.csproj -o pack -p:Version="${{ steps.version.outputs.version }}" -p:AssemblyVersion="${{ steps.version.outputs.version }}" --no-build - run: dotnet pack -c Release ./Torch.Server/Torch.Server.csproj -o pack -p:Version="${{ steps.version.outputs.version }}" -p:AssemblyVersion="${{ steps.version.outputs.version }}" --no-build - run: mkdir blank && sed -i 's/torchVersion/${{ steps.version.outputs.version }}/g' Torch.Server.ReferenceAssemblies.net7.nuspec && nuget pack Torch.Server.ReferenceAssemblies.net7.nuspec -BasePath ./blank -OutputDirectory pack -NonInteractive -NoPackageAnalysis - name: Install Sleet run: dotnet tool install -g sleet - name: Push Nuget Package env: SLEET_FEED_TYPE: s3 SLEET_FEED_PATH: https://nuget.storage.yandexcloud.net SLEET_FEED_BUCKETNAME: nuget SLEET_FEED_SERVICEURL: https://storage.yandexcloud.net SLEET_FEED_ACCESSKEYID: ${{ secrets.S3_KEY_ID }} SLEET_FEED_SECRETACCESSKEY: ${{ secrets.S3_KEY }} run: sleet push ./pack