# This workflow will build a .NET project # For more information see: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-net name: publish on: push: tags: - 'v*' env: DOTNET_VERSION: '7' # The .NET SDK version to use DOTNET_SOURCE: './Source' DOTNET_CONFIGURATION: 'Release' jobs: build: uses: ./.github/workflows/dotnet-build.yml release: needs: build runs-on: ubuntu-latest steps: - name: Calculate version id: version run: | export TAG=${{ github.ref_name }} echo "version=${TAG#v}" >> $GITHUB_OUTPUT - name: Download artifacts uses: actions/download-artifact@v3 with: path: artifacts - name: Rename artifacts id: rename working-directory: ./artifacts run: for FILENAME in *; do mv ${FILENAME} Libation.${{ steps.version.outputs.version }}-${FILENAME,,}; done - name: Zip assets working-directory: ./artifacts run: | for FILENAME in *; do zip -r ${FILENAME}.zip ${FILENAME}; done mkdir ./assets mv *.zip ./assets - name: Create release id: create_release uses: actions/create-release@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} # This token is provided by Actions, you do not need to create your own token with: tag_name: ${{ github.ref }} release_name: Libation ${{ steps.version.outputs.version }} body: draft: true prerelease: false - name: Upload release assets uses: dwenegar/upload-release-assets@v1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} with: release_id: ${{ steps.create_release.outputs.id }} assets_path: ./artifacts/assets