v0.6.1 #4
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Post-Release Smoke | |
| on: | |
| release: | |
| types: [published] | |
| workflow_dispatch: | |
| inputs: | |
| version: | |
| description: "Version to smoke-test (without leading v), e.g. 0.5.10" | |
| required: true | |
| type: string | |
| permissions: {} | |
| concurrency: | |
| group: post-release-smoke-${{ github.event.release.id || inputs.version }} | |
| cancel-in-progress: true | |
| jobs: | |
| resolve-version: | |
| name: Resolve target version | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 5 | |
| outputs: | |
| version: ${{ steps.pick.outputs.version }} | |
| steps: | |
| - name: Pick version from event or input | |
| id: pick | |
| shell: bash | |
| env: | |
| EVENT_NAME: ${{ github.event_name }} | |
| DISPATCH_VERSION: ${{ inputs.version }} | |
| RELEASE_TAG: ${{ github.event.release.tag_name }} | |
| run: | | |
| if [ "$EVENT_NAME" = "workflow_dispatch" ]; then | |
| VERSION="$DISPATCH_VERSION" | |
| else | |
| VERSION="${RELEASE_TAG#v}" | |
| fi | |
| if [ -z "$VERSION" ]; then | |
| echo "::error::Could not resolve version" | |
| exit 1 | |
| fi | |
| echo "version=$VERSION" >> "$GITHUB_OUTPUT" | |
| echo "Resolved version: $VERSION" | |
| npm-smoke: | |
| name: npm install (${{ matrix.os }}) | |
| needs: resolve-version | |
| runs-on: ${{ matrix.os }} | |
| timeout-minutes: 15 | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| steps: | |
| - name: Setup Node.js | |
| uses: actions/setup-node@v6 | |
| with: | |
| node-version: 22 | |
| registry-url: https://registry.npmjs.org | |
| - name: Wait for npm registry propagation | |
| shell: bash | |
| env: | |
| VERSION: ${{ needs.resolve-version.outputs.version }} | |
| run: | | |
| for i in $(seq 1 30); do | |
| if npm view "@fitlab-ai/agent-infra@${VERSION}" version >/dev/null 2>&1; then | |
| echo "Package @fitlab-ai/agent-infra@${VERSION} available on npm" | |
| exit 0 | |
| fi | |
| echo "Waiting for npm registry... (attempt $i/30)" | |
| sleep 10 | |
| done | |
| echo "::error::Package @fitlab-ai/agent-infra@${VERSION} not found on npm after 5 minutes" | |
| exit 1 | |
| - name: Smoke test - agent-infra version | |
| shell: bash | |
| env: | |
| VERSION: ${{ needs.resolve-version.outputs.version }} | |
| run: | | |
| OUTPUT=$(npx -y "@fitlab-ai/agent-infra@${VERSION}" version) | |
| echo "$OUTPUT" | |
| echo "$OUTPUT" | grep -F "${VERSION}" | |
| - name: Smoke test - sandbox --help | |
| shell: bash | |
| env: | |
| VERSION: ${{ needs.resolve-version.outputs.version }} | |
| run: | | |
| npx -y "@fitlab-ai/agent-infra@${VERSION}" sandbox --help | |
| brew-smoke: | |
| name: brew install (macos-latest) | |
| needs: resolve-version | |
| runs-on: macos-latest | |
| timeout-minutes: 20 | |
| steps: | |
| - name: Wait for Homebrew tap formula update | |
| shell: bash | |
| env: | |
| VERSION: ${{ needs.resolve-version.outputs.version }} | |
| run: | | |
| FORMULA_URL="https://raw.githubusercontent.com/fitlab-ai/homebrew-tap/main/Formula/agent-infra.rb" | |
| for i in $(seq 1 60); do | |
| BODY=$(curl -fsSL "$FORMULA_URL" 2>/dev/null || true) | |
| if printf '%s' "$BODY" | grep -qF "agent-infra-${VERSION}.tgz"; then | |
| echo "Formula updated to ${VERSION}" | |
| exit 0 | |
| fi | |
| echo "Waiting for tap formula update... (attempt $i/60)" | |
| sleep 10 | |
| done | |
| echo "::error::Tap formula not updated to ${VERSION} after 10 minutes" | |
| exit 1 | |
| - name: brew install | |
| shell: bash | |
| run: brew install fitlab-ai/tap/agent-infra | |
| - name: Smoke test - agent-infra version | |
| shell: bash | |
| env: | |
| VERSION: ${{ needs.resolve-version.outputs.version }} | |
| run: | | |
| OUTPUT=$(agent-infra version) | |
| echo "$OUTPUT" | |
| echo "$OUTPUT" | grep -F "${VERSION}" |