diff --git a/.github/workflows/build-release.yml b/.github/workflows/build-release.yml index ac0ca7a7598b02..8c03bc60f6d61d 100644 --- a/.github/workflows/build-release.yml +++ b/.github/workflows/build-release.yml @@ -46,12 +46,13 @@ jobs: - name: 'Set environment variables: version number' run: | BITCOIN_PATCHED_VERSION=$(grep -oP "(?<=^CMAKE_PROJECT_VERSION:STATIC=).+(?=)" build/CMakeCache.txt) - BRANCH_NAME=${GITHUB_REF#refs/heads/} - # Escape '/', '\' and space characters - ESCAPED_BRANCH_NAME=$(echo "$BRANCH_NAME" | sed 's/[\/\\ ]/\\&/g') - if [ "$ESCAPED_BRANCH_NAME" != "master" ]; then - BITCOIN_PATCHED_VERSION="${ESCAPED_BRANCH_NAME}-${BITCOIN_PATCHED_VERSION}" + BRANCH_NAME=$(echo $GITHUB_REF | sed 's/refs\/heads\///' | sed 's/refs\/pull\/\([0-9]*\)\/merge/pr-\1/') + SAFE_BRANCH_NAME=$(echo $BRANCH_NAME | sed 's/[^a-zA-Z0-9._-]/-/g') + + if [ "$BRANCH_NAME" != "master" ]; then + BITCOIN_PATCHED_VERSION="${BITCOIN_PATCHED_VERSION}-${SAFE_BRANCH_NAME}" fi + echo "BITCOIN_PATCHED_VERSION=$BITCOIN_PATCHED_VERSION" >> "$GITHUB_ENV" - uses: actions/upload-artifact@v4 @@ -63,7 +64,6 @@ jobs: build/src/bitcoin-cli build/src/qt/bitcoin-qt - build-windows: name: Build Windows binaries runs-on: ubuntu-24.04 @@ -107,12 +107,13 @@ jobs: - name: 'Set environment variables: version number' run: | BITCOIN_PATCHED_VERSION=$(grep -oP "(?<=^CMAKE_PROJECT_VERSION:STATIC=).+(?=)" build/CMakeCache.txt) - BRANCH_NAME=${GITHUB_REF#refs/heads/} - # Escape '/', '\' and space characters - ESCAPED_BRANCH_NAME=$(echo "$BRANCH_NAME" | sed 's/[\/\\ ]/\\&/g') - if [ "$ESCAPED_BRANCH_NAME" != "master" ]; then - BITCOIN_PATCHED_VERSION="${ESCAPED_BRANCH_NAME}-${BITCOIN_PATCHED_VERSION}" + BRANCH_NAME=$(echo $GITHUB_REF | sed 's/refs\/heads\///' | sed 's/refs\/pull\/\([0-9]*\)\/merge/pr-\1/') + SAFE_BRANCH_NAME=$(echo $BRANCH_NAME | sed 's/[^a-zA-Z0-9._-]/-/g') + + if [ "$BRANCH_NAME" != "master" ]; then + BITCOIN_PATCHED_VERSION="${BITCOIN_PATCHED_VERSION}-${SAFE_BRANCH_NAME}" fi + echo "BITCOIN_PATCHED_VERSION=$BITCOIN_PATCHED_VERSION" >> "$GITHUB_ENV" - uses: actions/upload-artifact@v4 @@ -162,12 +163,13 @@ jobs: - name: 'Set environment variables: version number' run: | BITCOIN_PATCHED_VERSION=$(ggrep -oP "(?<=^CMAKE_PROJECT_VERSION:STATIC=).+(?=)" build/CMakeCache.txt) - BRANCH_NAME=${GITHUB_REF#refs/heads/} - # Escape '/', '\' and space characters - ESCAPED_BRANCH_NAME=$(echo "$BRANCH_NAME" | sed 's/[\/\\ ]/\\&/g') - if [ "$ESCAPED_BRANCH_NAME" != "master" ]; then - BITCOIN_PATCHED_VERSION="${ESCAPED_BRANCH_NAME}-${BITCOIN_PATCHED_VERSION}" + BRANCH_NAME=$(echo $GITHUB_REF | sed 's/refs\/heads\///' | sed 's/refs\/pull\/\([0-9]*\)\/merge/pr-\1/') + SAFE_BRANCH_NAME=$(echo $BRANCH_NAME | sed 's/[^a-zA-Z0-9._-]/-/g') + + if [ "$BRANCH_NAME" != "master" ]; then + BITCOIN_PATCHED_VERSION="${BITCOIN_PATCHED_VERSION}-${SAFE_BRANCH_NAME}" fi + echo "BITCOIN_PATCHED_VERSION=$BITCOIN_PATCHED_VERSION" >> "$GITHUB_ENV" - uses: actions/upload-artifact@v4 @@ -187,18 +189,18 @@ jobs: steps: - name: Download artifacts uses: actions/download-artifact@v4 - + - name: Zip artifacts run: | - ARTIFACT_PREFIX='' - BRANCH_NAME=${GITHUB_REF#refs/heads/} - # Escape '/', '\' and space characters - ESCAPED_BRANCH_NAME=$(echo "$BRANCH_NAME" | sed 's/[\/\\ ]/\\&/g') - if [ "$ESCAPED_BRANCH_NAME" != "master" ]; then - ARTIFACT_PREFIX="L1-bitcoin-patched-${ESCAPED_BRANCH_NAME}-latest" + BRANCH_NAME=$(echo $GITHUB_REF | sed 's/refs\/heads\///' | sed 's/refs\/pull\/\([0-9]*\)\/merge/pr-\1/') + SAFE_BRANCH_NAME=$(echo $BRANCH_NAME | sed 's/[^a-zA-Z0-9._-]/-/g') + + if [ "$BRANCH_NAME" != "master" ]; then + ARTIFACT_PREFIX="L1-bitcoin-patched-${SAFE_BRANCH_NAME}" else ARTIFACT_PREFIX="L1-bitcoin-patched-latest" fi + mv bitcoin-patched-*-x86_64-apple-darwin "${ARTIFACT_PREFIX}-x86_64-apple-darwin" zip -r "${ARTIFACT_PREFIX}-x86_64-apple-darwin.zip" "${ARTIFACT_PREFIX}-x86_64-apple-darwin" mv bitcoin-patched-*-x86_64-w64-mingw32 "${ARTIFACT_PREFIX}-x86_64-w64-mingw32" @@ -214,4 +216,4 @@ jobs: pass: ${{ secrets.RELEASES_SERVER_PW }} port: 22 scp: | - 'L1-bitcoin-patched-*latest-*.zip' => '/var/www/html/' \ No newline at end of file + 'L1-bitcoin-patched-*.zip' => '/var/www/html/' \ No newline at end of file