diff --git a/.github/workflows/agent-release-artifacts.yml b/.github/workflows/agent-release-artifacts.yml index e652fb35033..f5ecd65ffae 100644 --- a/.github/workflows/agent-release-artifacts.yml +++ b/.github/workflows/agent-release-artifacts.yml @@ -1,8 +1,6 @@ name: Agent Release Artifacts on: - release: - types: [published] # Allows you to run this workflow manually from the Actions tab workflow_dispatch: @@ -17,17 +15,13 @@ env: jobs: prepare: runs-on: ubuntu-latest + # Only run for agents-v* tags + if: startsWith(github.ref_name, 'agents-v') outputs: - tag_date: ${{ steps.taggen.outputs.TAG_DATE }} - tag_sha: ${{ steps.taggen.outputs.TAG_SHA }} - steps: - - name: generate tag data - id: taggen - run: | - echo "TAG_DATE=$(date +'%Y%m%d-%H%M%S')" >> $GITHUB_OUTPUT - echo "TAG_SHA=$(echo '${{ github.sha }}' | cut -b 1-7)" >> $GITHUB_OUTPUT + tag_name: ${{ github.ref_name }} build: needs: prepare + timeout-minutes: 30 strategy: fail-fast: false matrix: @@ -80,7 +74,7 @@ jobs: - name: upload binaries uses: actions/upload-artifact@v4 with: - name: ${{ matrix.TARGET }}-${{ needs.prepare.outputs.tag_sha }}-${{ needs.prepare.outputs.tag_date }} + name: ${{ matrix.TARGET }}-${{ needs.prepare.outputs.tag_name }} path: | rust/main/target/${{ matrix.TARGET }}/release/relayer rust/main/target/${{ matrix.TARGET }}/release/relayer.exe diff --git a/.github/workflows/rust-release.yml b/.github/workflows/rust-release.yml index 059a43619c9..027c661d706 100644 --- a/.github/workflows/rust-release.yml +++ b/.github/workflows/rust-release.yml @@ -100,7 +100,8 @@ jobs: needs: check-release-status if: | github.event_name == 'push' && - needs.check-release-status.outputs.has_changes == 'true' + needs.check-release-status.outputs.has_changes == 'true' && + needs.check-release-status.outputs.should_release == 'false' steps: - uses: actions/checkout@v5 with: @@ -355,7 +356,25 @@ jobs: $PRERELEASE_FLAG \ --repo "${{ github.repository }}" + # Trigger dependent workflows + # Note: We trigger explicitly because git push with GITHUB_TOKEN doesn't trigger workflows + echo "Triggering agent-release-artifacts workflow for $TAG_NAME..." + gh workflow run agent-release-artifacts.yml \ + --ref "$TAG_NAME" \ + --repo "${{ github.repository }}" || { + echo "Warning: Failed to trigger agent-release-artifacts workflow." + } + + echo "Triggering rust-docker workflow for $TAG_NAME (including arm64)..." + gh workflow run rust-docker.yml \ + --ref "$TAG_NAME" \ + --field include_arm64=true \ + --repo "${{ github.repository }}" || { + echo "Warning: Failed to trigger rust-docker workflow." + } + echo "$RELEASE_TYPE $TAG_NAME published successfully!" >> $GITHUB_STEP_SUMMARY [ "$IS_PRERELEASE" = "true" ] && echo "This is marked as a pre-release on GitHub." >> $GITHUB_STEP_SUMMARY echo "" >> $GITHUB_STEP_SUMMARY - echo "Binary artifacts will be built automatically by the agent-release-artifacts workflow." >> $GITHUB_STEP_SUMMARY + echo "Binary artifacts will be built by the agent-release-artifacts workflow." >> $GITHUB_STEP_SUMMARY + echo "Docker images will be built by the rust-docker workflow." >> $GITHUB_STEP_SUMMARY diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 24840be8b31..460249f74a9 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -268,6 +268,7 @@ jobs: runs-on: depot-ubuntu-latest needs: [rust-only] if: needs.rust-only.outputs.only_rust == 'false' + timeout-minutes: 20 strategy: fail-fast: false matrix: @@ -328,6 +329,7 @@ jobs: runs-on: depot-ubuntu-latest needs: [rust-only] if: needs.rust-only.outputs.only_rust == 'false' + timeout-minutes: 10 strategy: fail-fast: false matrix: @@ -367,6 +369,7 @@ jobs: runs-on: depot-ubuntu-latest needs: [rust-only] if: needs.rust-only.outputs.only_rust == 'false' + timeout-minutes: 10 strategy: fail-fast: false matrix: @@ -397,6 +400,7 @@ jobs: runs-on: depot-ubuntu-latest needs: [rust-only] if: needs.rust-only.outputs.only_rust == 'false' + timeout-minutes: 20 strategy: fail-fast: false matrix: @@ -461,6 +465,7 @@ jobs: runs-on: depot-ubuntu-latest needs: [rust-only] if: needs.rust-only.outputs.only_rust == 'false' + timeout-minutes: 10 steps: - uses: actions/checkout@v5 with: @@ -518,7 +523,8 @@ jobs: e2e-matrix: runs-on: depot-ubuntu-24.04-8 - if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.base_ref == 'main' || github.base_ref == 'cli-2.0') || github.event_name == 'merge_group' + if: github.event_name == 'push' || (github.event_name == 'pull_request' && github.base_ref == 'main') || github.event_name == 'merge_group' + timeout-minutes: 30 strategy: fail-fast: false matrix: