You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tooling.apache.org by "asf-tooling (via GitHub)" <gi...@apache.org> on 2026/05/08 06:50:20 UTC

Re: [I] Deploy self hosted GitHub action runners for distribution workflows (tooling-trusted-releases)

asf-tooling commented on issue #613:
URL: https://github.com/apache/tooling-trusted-releases/issues/613#issuecomment-4404189423

   <!-- gofannon-issue-triage-bot v2 -->
   
   **Automated triage** — analyzed at `main@837830e8`
   
   **Type:** `discussion`  •  **Classification:** `no_action`  •  **Confidence:** `high`
   **Application domain(s):** `distribution_publishing`, `shared_infrastructure`
   
   ### Summary
   This issue is an infrastructure planning ticket for deploying self-hosted GitHub Action runners to work with Nexus 3 repository.apache.org. @alitheg concluded that m5.xlarge (4 vCPU, 16GB RAM) is appropriate, with Java 17 (Temurin), Maven 3.9, jq, curl, bash, and rsync installed. Labeling should include ATR plus Java/Maven versions. The next step is filing JIRA INFRA issues to request the runner from ASF Infrastructure. No code changes are required in this repository—the work is about external infrastructure provisioning and would affect workflow configuration in the `apache/tooling-actions` repository.
   
   ### Where this lives in the code today
   
   #### `atr/get/distribution.py` — `_render_distribution_tasks` (lines 309-320)
   _currently does this_
   Shows distribution workflow task tracking in the UI, which is the feature that depends on GitHub Actions runners being available.
   
   ```python
   def _render_distribution_tasks(
       tasks: Sequence[sql.Task], block: htm.Block, project_key: safe.ProjectKey, version_key: safe.VersionKey
   ):
       failed_tasks = [
           t for t in tasks if (t.status == sql.TaskStatus.FAILED) or (t.workflow and (t.workflow.status == "failed"))
       ]
       in_progress_tasks = [
           t
           for t in tasks
           if (t.status in [sql.TaskStatus.QUEUED, sql.TaskStatus.ACTIVE])
           or (t.workflow and (t.workflow.status not in ["completed", "success", "failed"]))
       ]
   ```
   
   #### `atr/get/distribution.py` — `automate` (lines 38-49)
   _currently does this_
   The distribution automation endpoint that triggers GitHub Actions workflows which would run on the self-hosted runners.
   
   ```python
   @get.typed
   async def automate(
       session: web.Committer,
       _distribution: Literal["distribution/automate"],
       project_key: safe.ProjectKey,
       version_key: safe.VersionKey,
   ) -> str:
       """
       URL: /distribution/automate/<project_key>/<version>
       """
       await session.prevent_confusing_ui_display(project_key)
       return await _automate_form_page(project_key, version_key, staging=False)
   ```
   
   ### Proposed approach
   This issue does not require code changes in this repository. It is an infrastructure planning ticket whose conclusions have been reached in the discussion: m5.xlarge instances with Java 17 (Temurin), Maven 3.9, jq, curl, bash, and rsync, labeled with ATR and Java/Maven versions. The next actionable step is filing JIRA INFRA issues with ASF Infrastructure to provision the runners, and then configuring them in the `apache/tooling-actions` repository's workflow files with appropriate `runs-on` labels. The security note from @alitheg about not running PR-triggered builds should be documented in the workflow configuration.
   
   ### Open questions
   - Have the JIRA INFRA issues been filed yet to request the runner provisioning?
   - What specific runner labels will be used in the `apache/tooling-actions` workflow files (e.g., 'self-hosted,atr,java17,maven3.9')?
   - Is there a tracking issue or PR in `apache/tooling-actions` for updating the workflow `runs-on` configuration once runners are available?
   
   _The agent reviewed this issue and is not proposing patches in this run. Review the existing-code citations and open questions above before deciding next steps._
   
   ### Files examined
   - `.asf.yaml`
   - `Dockerfile.alpine`
   - `Makefile`
   - `atr/get/announce.py`
   - `atr/get/distribution.py`
   - `atr/mail.py`
   - `atr/manager.py`
   - `atr/merge.py`
   
   ---
   *Draft from a triage agent. A human reviewer should validate before merging any change. The agent did not run tests or verify diffs apply.*


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: dev-unsubscribe@tooling.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tooling.apache.org
For additional commands, e-mail: dev-help@tooling.apache.org