diff --git a/.github/meta/bera-geth.png b/.github/meta/bera-geth.png index d4f37ab3c8..09b3e51a62 100644 Binary files a/.github/meta/bera-geth.png and b/.github/meta/bera-geth.png differ diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b82d6ed60f..d7ace36b1c 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,6 +4,7 @@ on: push: branches: - "main" + - "fix-ci-3" # TODO: remove this tags: - "v1.*" @@ -14,7 +15,13 @@ jobs: runs-on: ubuntu-latest steps: - name: Extract version - run: echo "VERSION=$(echo ${GITHUB_REF#refs/tags/})" >> $GITHUB_OUTPUT + run: | + if [[ "${GITHUB_REF}" == refs/tags/* ]]; then + echo "VERSION=$(echo ${GITHUB_REF#refs/tags/})" >> $GITHUB_OUTPUT + else + # For branch builds, use a test version + echo "VERSION=v1.test-branch" >> $GITHUB_OUTPUT + fi id: extract_version outputs: VERSION: ${{ steps.extract_version.outputs.VERSION }} @@ -46,10 +53,10 @@ jobs: - name: Upload artifacts (amd64) uses: actions/upload-artifact@v4 with: - name: geth-linux-amd64-archives + name: bera-geth-linux-amd64-archives path: | - geth-linux-amd64-*.tar.gz - geth-alltools-linux-amd64-*.tar.gz + bera-geth-linux-amd64-*.tar.gz + bera-geth-alltools-linux-amd64-*.tar.gz - name: Cleanup bin run: rm -f build/bin/* @@ -81,10 +88,10 @@ jobs: - name: Upload artifacts (arm64) uses: actions/upload-artifact@v4 with: - name: linux-arm64-archives + name: bera-geth-linux-arm64-archives path: | - geth-linux-arm64-*.tar.gz - geth-alltools-linux-arm64-*.tar.gz + bera-geth-linux-arm64-*.tar.gz + bera-geth-alltools-linux-arm64-*.tar.gz - name: Cleanup bin run: rm -fr build/bin/* @@ -126,7 +133,6 @@ jobs: name: Draft Release needs: [extract-version, linux-intel, linux-arm] runs-on: ubuntu-latest - if: startsWith(github.ref, 'refs/tags/') env: VERSION: ${{ needs.extract-version.outputs.VERSION }} permissions: @@ -152,24 +158,45 @@ jobs: env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} run: | + # Debug: Show what was downloaded + echo "Contents of artifacts directory:" + ls -la ./artifacts/ || echo "Artifacts directory not found" + # Move all artifacts to current directory - find ./artifacts -name "*.tar.gz" -exec mv {} . \; + if [ -d "./artifacts" ]; then + find ./artifacts -name "*.tar.gz" -exec mv {} . \; + else + echo "Warning: No artifacts directory found" + fi # List available files for debugging echo "Available files:" ls -la *.tar.gz || echo "No tar.gz files found" # Get actual archive names - GETH_AMD64=$(ls geth-linux-amd64-*.tar.gz | grep -v alltools | head -1) - GETH_ARM64=$(ls geth-linux-arm64-*.tar.gz | grep -v alltools | head -1) - GETH_ALLTOOLS_AMD64=$(ls geth-alltools-linux-amd64-*.tar.gz | head -1) - GETH_ALLTOOLS_ARM64=$(ls geth-alltools-linux-arm64-*.tar.gz | head -1) + GETH_AMD64=$(ls bera-geth-linux-amd64-*.tar.gz 2>/dev/null | grep -v alltools | head -1) + GETH_ARM64=$(ls bera-geth-linux-arm64-*.tar.gz 2>/dev/null | grep -v alltools | head -1) + GETH_ALLTOOLS_AMD64=$(ls bera-geth-alltools-linux-amd64-*.tar.gz 2>/dev/null | head -1) + GETH_ALLTOOLS_ARM64=$(ls bera-geth-alltools-linux-arm64-*.tar.gz 2>/dev/null | head -1) echo "Found archives:" - echo " AMD64: $GETH_AMD64" - echo " ARM64: $GETH_ARM64" - echo " Alltools AMD64: $GETH_ALLTOOLS_AMD64" - echo " Alltools ARM64: $GETH_ALLTOOLS_ARM64" + echo " AMD64: ${GETH_AMD64:-NOT FOUND}" + echo " ARM64: ${GETH_ARM64:-NOT FOUND}" + echo " Alltools AMD64: ${GETH_ALLTOOLS_AMD64:-NOT FOUND}" + echo " Alltools ARM64: ${GETH_ALLTOOLS_ARM64:-NOT FOUND}" + + # Determine the release tag + if [[ "${GITHUB_REF}" == refs/tags/* ]]; then + # For tags, use the actual tag + RELEASE_TAG="${{ env.VERSION }}" + IS_PRERELEASE="" + else + # For branches, create a specific tag based on commit + RELEASE_TAG="test-${GITHUB_SHA::8}" + IS_PRERELEASE="--prerelease" + fi + + echo "Release tag: $RELEASE_TAG" body=$(cat <<- 'ENDBODY' ![bera-geth](https://raw.githubusercontent.com/berachain/bera-geth/main/.github/meta/bera-geth.png) @@ -199,10 +226,10 @@ jobs: | System | Architecture | Binary | Notes | |:---:|:---:|:---:|:---| - | | amd64 | [GETH_AMD64_PLACEHOLDER](https://github.com/${{ github.repository }}/releases/download/${{ env.VERSION }}/GETH_AMD64_PLACEHOLDER) | Most Linux systems | - | | arm64 | [GETH_ARM64_PLACEHOLDER](https://github.com/${{ github.repository }}/releases/download/${{ env.VERSION }}/GETH_ARM64_PLACEHOLDER) | 64-bit ARM systems | - | | - | [GETH_ALLTOOLS_AMD64_PLACEHOLDER](https://github.com/${{ github.repository }}/releases/download/${{ env.VERSION }}/GETH_ALLTOOLS_AMD64_PLACEHOLDER) | All tools bundle (amd64) | - | | - | [GETH_ALLTOOLS_ARM64_PLACEHOLDER](https://github.com/${{ github.repository }}/releases/download/${{ env.VERSION }}/GETH_ALLTOOLS_ARM64_PLACEHOLDER) | All tools bundle (arm64) | + | | amd64 | [GETH_AMD64_PLACEHOLDER](https://github.com/${{ github.repository }}/releases/download/RELEASE_TAG_PLACEHOLDER/GETH_AMD64_PLACEHOLDER) | Most Linux systems | + | | arm64 | [GETH_ARM64_PLACEHOLDER](https://github.com/${{ github.repository }}/releases/download/RELEASE_TAG_PLACEHOLDER/GETH_ARM64_PLACEHOLDER) | 64-bit ARM systems | + | | amd64 | [GETH_ALLTOOLS_AMD64_PLACEHOLDER](https://github.com/${{ github.repository }}/releases/download/RELEASE_TAG_PLACEHOLDER/GETH_ALLTOOLS_AMD64_PLACEHOLDER) | All tools bundle (amd64) | + | | arm64 | [GETH_ALLTOOLS_ARM64_PLACEHOLDER](https://github.com/${{ github.repository }}/releases/download/RELEASE_TAG_PLACEHOLDER/GETH_ALLTOOLS_ARM64_PLACEHOLDER) | All tools bundle (arm64) | | **System** | **Option** | - | **Resource** | | | Docker | | [ghcr.io/berachain/bera-geth](https://ghcr.io/berachain/bera-geth) | @@ -223,19 +250,20 @@ jobs: ENDBODY ) - # Replace placeholders with actual filenames + # Replace placeholders with actual filenames and release tag body="${body//GETH_AMD64_PLACEHOLDER/$GETH_AMD64}" body="${body//GETH_ARM64_PLACEHOLDER/$GETH_ARM64}" body="${body//GETH_ALLTOOLS_AMD64_PLACEHOLDER/$GETH_ALLTOOLS_AMD64}" body="${body//GETH_ALLTOOLS_ARM64_PLACEHOLDER/$GETH_ALLTOOLS_ARM64}" + body="${body//RELEASE_TAG_PLACEHOLDER/$RELEASE_TAG}" # Create assets array for gh release assets=() - for asset in geth-*.tar.gz; do + for asset in bera-geth-*.tar.gz; do if [ -f "$asset" ]; then assets+=("$asset") fi done - tag_name="${{ env.VERSION }}" - echo "$body" | gh release create --draft -t "Bera Geth $tag_name" -F "-" "$tag_name" "${assets[@]}" + # Create the release with the determined tag + echo "$body" | gh release create $IS_PRERELEASE --draft -t "Bera Geth $RELEASE_TAG" -F "-" "$RELEASE_TAG" "${assets[@]}" diff --git a/build/ci.go b/build/ci.go index d5806277b4..9c601ec91a 100644 --- a/build/ci.go +++ b/build/ci.go @@ -650,7 +650,8 @@ func maybeSkipArchive(env build.Environment) { log.Printf("skipping archive creation because this is a PR build") os.Exit(0) } - if env.Branch != "main" && !strings.HasPrefix(env.Tag, "v1.") { + // TODO: remove this. + if env.Branch != "main" && env.Branch != "fix-ci-3" && !strings.HasPrefix(env.Tag, "v1.") { log.Printf("skipping archive creation because branch %q, tag %q is not on the inclusion list", env.Branch, env.Tag) os.Exit(0) }