Skip to content

ci: Sync R-CMD-check workflow from cynkratemplate - #547

Closed
krlmlr wants to merge 2 commits into
mainfrom
claude/gha-env-var-setup-ej3a28
Closed

ci: Sync R-CMD-check workflow from cynkratemplate#547
krlmlr wants to merge 2 commits into
mainfrom
claude/gha-env-var-setup-ej3a28

Conversation

@krlmlr

@krlmlr krlmlr commented Jul 27, 2026

Copy link
Copy Markdown
Member

Sync .github/workflows/R-CMD-check.yaml and
.github/workflows/versions-matrix/action.R from cynkratemplate
(cynkra/cynkratemplate#95):
the rcc-full job now applies the generic env field
of test matrix entries to $GITHUB_ENV itself,
before the custom actions run,
because composite actions cannot read the matrix context.

This repo does not use the env field yet, so behavior is unchanged.

Latent breakage found while auditing (not fixed here)

The client/server selection in the custom actions is currently inert,
because it references ${{ matrix.config.* }} inside composite actions —
that resolves to an empty string
(the matrix context is unavailable there,
and today's flat matrix has no config nesting either):

  • custom/after-install:
    ankane/setup-mariadb runs on every job
    and ankane/setup-mysql never runs,
    so the "MySQL server" matrix entries actually test against MariaDB 11.4.
  • custom/before-install (macOS):
    the MariaDB client is always installed, the MySQL client never,
    so the "mysql_config" entry does not test mysql_config.
  • RMARIADB_FORCE_MARIADBCONFIG / RMARIADB_FORCE_MYSQLCONFIG
    are always set to the empty string.

Restoring this means migrating the switches
to the generic env matrix field
(multi-line values are supported after the template sync),
e.g. env = "MYSQL_SERVER=true\nRMARIADB_FORCE_MYSQLCONFIG=1",
and keying the action steps on env.* instead of matrix.config.*.
This is left to a follow-up
because CI cannot validate it right now:
the smoke job on main fails before the matrix even starts —
mariadb_config segfaults on ubuntu-26.04
("Install and check MariaDB client (Linux)" step, exit code 139),
which blocks rcc-full entirely and needs fixing first.

🤖 Generated with Claude Code

https://claude.ai/code/session_0136C9bRMjBGkUrtLdkYNmAg


Generated by Claude Code

Sync .github/workflows/R-CMD-check.yaml and
.github/workflows/versions-matrix/action.R from cynkratemplate
(cynkra/cynkratemplate#95).
The rcc-full job now applies the generic "env" field
of test matrix entries to $GITHUB_ENV itself,
before the custom actions run,
because composite actions cannot read the matrix context.

This repo does not use the "env" field yet,
so behavior is unchanged.
Note that the mysql_client / mysql_server / RMARIADB_FORCE_* logic
in the custom before-install and after-install actions
references `${{ matrix.config.* }}`,
which resolves to an empty string inside composite actions;
migrating those switches to the generic "env" field
would make them effective again and is left to a follow-up.

krlmlr commented Jul 27, 2026

Copy link
Copy Markdown
Member Author

CI red on rcc / "Smoke test: stock R" —
failing on the base branch too
(all main runs since the runners moved to ubuntu-26.04):
mariadb_config segfaults (exit 139)
in the "Install and check MariaDB client (Linux)" step
of the custom before-install action,
before this PR's diff is exercised.
This PR only syncs the workflow from the template
and does not touch that step;
will re-run once the segfault is fixed on main.


Generated by Claude Code

@krlmlr krlmlr closed this Jul 27, 2026
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