From cc100b19c6204ced180acc61ad5149efca9f5c0f Mon Sep 17 00:00:00 2001 From: limitcool Date: Fri, 14 Feb 2025 16:24:07 +0800 Subject: [PATCH] build: Customize binary name and improve release workflow debugging - Added BINARY_NAME environment variable for consistent artifact naming - Simplified project name extraction from repository name - Enhanced build step with debug information and directory listing - Updated archive and binary path generation to use custom binary name - Removed redundant project name references in workflow steps --- .github/workflows/release.yml | 28 ++++++++++++++++++++++------ 1 file changed, 22 insertions(+), 6 deletions(-) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 6e545c2..47e1f16 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -10,6 +10,9 @@ on: permissions: contents: write +env: + BINARY_NAME: bilistream # 定义二进制文件名称为环境变量 + jobs: create-release: name: create-release @@ -20,7 +23,10 @@ jobs: if: env.VERSION == '' run: echo "VERSION=${{ github.ref_name }}" >> $GITHUB_ENV - name: Get project name from repository name - run: echo "PROJECT_NAME=${{ github.repository }}" >> $GITHUB_ENV + run: | + repository="${{ github.repository }}" + project_name="${repository##*/}" # 只获取仓库名,去掉所有者部分 + echo "PROJECT_NAME=$project_name" >> $GITHUB_ENV - name: Show the version and project name run: | echo "version is: $VERSION" @@ -123,12 +129,23 @@ jobs: run: | ${{ env.CARGO }} build --verbose --release ${{ env.TARGET_FLAGS }} if [ "${{ matrix.os }}" = "windows-latest" ]; then - bin="target/${{ matrix.target }}/release/${{ needs.create-release.outputs.project_name }}.exe" + bin="target/${{ matrix.target }}/release/${{ env.BINARY_NAME }}.exe" else - bin="target/${{ matrix.target }}/release/${{ needs.create-release.outputs.project_name }}" + bin="target/${{ matrix.target }}/release/${{ env.BINARY_NAME }}" fi echo "BIN=$bin" >> $GITHUB_ENV + # 添加调试信息 + echo "=== Build Debug Info ===" + echo "Binary path: $bin" + echo "Target directory content:" + if [ "${{ matrix.target }}" ]; then + ls -la target/${{ matrix.target }}/release/ + else + ls -la target/release/ + fi + echo "=======================" + # - name: Strip release binary (macos) # if: matrix.os == 'macos-latest' # shell: bash @@ -142,14 +159,13 @@ jobs: "$PWD/target:/target:Z" \ "ghcr.io/cross-rs/${{ matrix.target }}:main" \ "${{ matrix.strip }}" \ - "/$BIN" + "/target/${{ matrix.target }}/release/${{ env.BINARY_NAME }}" - name: Determine archive name shell: bash run: | version="${{ needs.create-release.outputs.version }}" - project_name="${{ needs.create-release.outputs.project_name }}" - echo "ARCHIVE=$project_name-$version-${{ matrix.target }}" >> $GITHUB_ENV + echo "ARCHIVE=${{ env.BINARY_NAME }}-$version-${{ matrix.target }}" >> $GITHUB_ENV - name: Creating directory for archive shell: bash