Skip to content

feat: workflows + axl#943

Open
thesayyn wants to merge 4 commits intomainfrom
axel-f
Open

feat: workflows + axl#943
thesayyn wants to merge 4 commits intomainfrom
axel-f

Conversation

@thesayyn
Copy link
Member

Reopened from #937.

Copy link

@chatgpt-codex-connector chatgpt-codex-connector bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: def90b6dcc

ℹ️ About Codex in GitHub

Codex has been enabled to automatically review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

When you sign up for Codex through ChatGPT, Codex can also answer questions or update the PR, like "@codex address that feedback".

@thesayyn thesayyn force-pushed the axel-f branch 3 times, most recently from 07ba0bb to 8458e91 Compare February 27, 2026 23:05
@thesayyn thesayyn force-pushed the axel-f branch 3 times, most recently from f73ffa6 to 9c33cb8 Compare February 28, 2026 00:24
thesayyn and others added 3 commits February 27, 2026 17:37
Remove lint/format task stubs, linting strategy, SARIF utilities, and
GitHub review helpers that depend on aspect_rules_lint. These require
separate changes in aspect_rules_lint to land and are tracked on the
axel-f-rules-lint branch.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@thesayyn thesayyn force-pushed the axel-f branch 5 times, most recently from 0404a75 to 6140ead Compare February 28, 2026 03:54

# Configure fragments globally
bazel_fragment = ctx.fragments[BazelFragment]
hc_fragment = ctx.fragments[HealthCheckFragment]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

config["cloud_provider"] = "gcp"

# TODO: replace with agent http api call once available
warming_complete = std.fs.exists(platform_dir + "/warming_complete")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

warming_complete file path is now available via ASPECT_WORKFLOWS_RUNNER_WARMING_COMPLETE_MARKER

warming_current_cache file path is now available via ASPECT_WORKFLOWS_RUNNER_WARMING_CACHE_VERSION_FILE

For example:

ASPECT_WORKFLOWS_RUNNER_WARMING_CACHE_VERSION_FILE=/etc/aspect/workflows/warming_current_cache
ASPECT_WORKFLOWS_RUNNER_WARMING_COMPLETE_MARKER=/etc/aspect/workflows/platform/warming_complete

if std.fs.exists(platform_dir + "/" + key):
config[key] = "1"

if std.fs.exists(platform_dir + "/aws"):
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Now available from ASPECT_WORKFLOWS_RUNNER_CLOUD_PROVIDER=aws|gcp

return _build_environment(config, _read_ci(std))


def legacy_get_environment(std, platform_dir: str = DEFAULT_PLATFORM_DIR) -> Environment:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lets aim to remove this entirely before landing.. iterating now on more envs


def is_warming_complete(std, platform_dir: str = DEFAULT_PLATFORM_DIR) -> bool:
"""Check whether cache warming has completed, without reading full environment."""
return std.fs.exists(platform_dir + "/warming_complete")
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ASPECT_WORKFLOWS_RUNNER_WARMING_COMPLETE_MARKER points to the file now

warming_current_cache_path = DEFAULT_WORKFLOWS_DIR + "/warming_current_cache"
if std.fs.exists(warming_current_cache_path):
config["warming_current_cache"] = std.fs.read_to_string(warming_current_cache_path).strip()
runner_job_history_path = platform_dir + "/runner_job_history"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adding envs to the runner_job_history file & the last_health_check file: aspect-build/silo#10229

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here is the full list of env vars now availabile:

ASPECT_WORKFLOWS_BES_BACKEND=grpc://10.2.0.7:5005
ASPECT_WORKFLOWS_BES_RESULTS_URL=app.gcp.awd-cci-test-dev.aspect.build
ASPECT_WORKFLOWS_CIRCLE_PIPELINE_NUMBER=95
ASPECT_WORKFLOWS_CIRCLE_PIPELINE_PROJECT_TYPE=github
ASPECT_WORKFLOWS_CIRCLE_WORKFLOW_BASE_NAME=aspect-workflows
ASPECT_WORKFLOWS_DELIVERY_API_ENDPOINT=unix:///etc/aspect/workflows/run/deliveryd.sock
ASPECT_WORKFLOWS_REMOTE_BYTESTREAM_URI_PREFIX=10.2.0.13:8980
ASPECT_WORKFLOWS_REMOTE_CACHE=unix:///mnt/ephemeral/buildbarn/.cache/bb_clientd/grpc
ASPECT_WORKFLOWS_RUNNER=1
ASPECT_WORKFLOWS_RUNNER_AZ=us-west1-a
ASPECT_WORKFLOWS_RUNNER_CLOUD_ACCOUNT=awd-cci-test-dev
ASPECT_WORKFLOWS_RUNNER_CLOUD_PROVIDER=gcp
ASPECT_WORKFLOWS_RUNNER_HAS_NVME_STORAGE=1
ASPECT_WORKFLOWS_RUNNER_INSTANCE_ID=1067804700504423302
ASPECT_WORKFLOWS_RUNNER_INSTANCE_NAME=aw-cci-runner-j9m9
ASPECT_WORKFLOWS_RUNNER_INSTANCE_TYPE=c2d-standard-4
ASPECT_WORKFLOWS_RUNNER_JOB_HISTORY_FILE=/etc/aspect/workflows/platform/runner_job_history
ASPECT_WORKFLOWS_RUNNER_LAST_HEALTH_CHECK_FILE=/etc/aspect/workflows/platform/last_health_check
ASPECT_WORKFLOWS_RUNNER_REGION=us-west1
ASPECT_WORKFLOWS_RUNNER_STATE_DIR=/var/aspect/workflows/state
ASPECT_WORKFLOWS_RUNNER_STORAGE_PATH=/mnt/ephemeral
ASPECT_WORKFLOWS_RUNNER_VERSION=0.0.0-PLACEHOLDER
ASPECT_WORKFLOWS_RUNNER_WARMING_CACHE_VERSION_FILE=/etc/aspect/workflows/warming_current_cache
ASPECT_WORKFLOWS_RUNNER_WARMING_COMPLETE_MARKER_FILE=/etc/aspect/workflows/platform/warming_complete
ASPECT_WORKFLOWS_RUNNER_WARMING_ENABLED=1

For state that you want to keep in AXL between jobs, the aspect-runner user has write access to the ASPECT_WORKFLOWS_RUNNER_STATE_DIR directory so we can write things to there at will.

Job history, we should use ASPECT_WORKFLOWS_RUNNER_JOB_HISTORY_FILE if it exists, otherwise write our own file to ASPECT_WORKFLOWS_RUNNER_STATE_DIR. That will handle compat with rosetta for the version of Workflows where we have both rosetta and aspect.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants