Repository navigation
fix: fail environment import when its readiness validation refuses the workspace (#760) #236
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: Runnable native lifecycle | |
| on: | |
| pull_request: | |
| branches: [main] | |
| push: | |
| branches: [main] | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: runnable-native-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| native: | |
| runs-on: ubuntu-latest | |
| timeout-minutes: 15 | |
| steps: | |
| - uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| - uses: astral-sh/setup-uv@bec219d24cd3e171d82865faccec33120bb574f4 # v10.1.0 | |
| - name: Check out qualified Runnable agent source | |
| uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1 | |
| with: | |
| repository: codefly-dev/runnable-python | |
| ref: 207c50f5b11fc0d439e06eadf916ada7d8b2c2d7 | |
| path: .qualification-agent | |
| # The pinned agent requires Go 1.27.1; CLI's 1.27.0 minimum is lower. | |
| - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # v7.0.0 | |
| with: | |
| go-version-file: .qualification-agent/go.mod | |
| - name: Build the real agent | |
| working-directory: .qualification-agent | |
| env: | |
| GOWORK: 'off' | |
| run: | | |
| set -euo pipefail | |
| go build -o "$RUNNER_TEMP/runnable-python" . | |
| version=$(sed -n 's/^version:[[:space:]]*//p' agent.codefly.yaml) | |
| test -n "$version" | |
| echo "CODEFLY_RUNNABLE_AGENT_VERSION=${version}" >> "$GITHUB_ENV" | |
| - name: Create, build, relocate, invoke and verify through the CLI | |
| id: qualify | |
| env: | |
| GOWORK: 'off' | |
| run: | | |
| set -o pipefail | |
| CODEFLY_RUNNABLE_AGENT_BINARY="$RUNNER_TEMP/runnable-python" \ | |
| go test -tags=integration -v ./pkg/runnable | tee runnable-native.log | |
| # Gate on the qualification step having actually run: with a bare | |
| # always(), an earlier failure leaves no log and if-no-files-found:error | |
| # adds a second, misleading red step on top of the real one. | |
| - name: Retain qualification evidence | |
| if: always() && steps.qualify.conclusion != 'skipped' | |
| uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 | |
| with: | |
| name: runnable-native | |
| path: runnable-native.log | |
| if-no-files-found: error |