Skip to content

fix: fail environment import when its readiness validation refuses the workspace (#760) #236

fix: fail environment import when its readiness validation refuses the workspace (#760)

fix: fail environment import when its readiness validation refuses the workspace (#760) #236

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