Skip to content

Fix mise E2E activation, CI triggering, and PR plugin testing#17

Closed
Copilot wants to merge 8 commits into
mainfrom
copilot/fix-mise-e2e-tests
Closed

Fix mise E2E activation, CI triggering, and PR plugin testing#17
Copilot wants to merge 8 commits into
mainfrom
copilot/fix-mise-e2e-tests

Conversation

Copilot AI commented Jun 16, 2026

Copy link
Copy Markdown

The mise_e2e_tests workflow was failing while building Elixir on macOS because erlc was not available on PATH after activating the Erlang toolchain with mise. This updates the workflow to use shim-based activation so Erlang executables remain visible during the Elixir build, ensures workflow-only edits trigger the CI job, and makes the mise E2E run test the checked-out PR plugin instead of cloning main.

  • Root cause

    • The macOS mise job activated tools with mise activate bash, which did not expose erlc for the subsequent make step in the Elixir install.
    • The workflow installed vfox-elixir from vfox:version-fox/vfox-elixir, which cloned the plugin from main instead of exercising the plugin code from the PR branch.
    • Linux already used shim activation and did not hit the same erlc failure mode.
  • Workflow change

    • Switch the macOS mise activation calls to mise activate bash --shims after selecting:
      • vfox:version-fox/vfox-erlang@26.2.3
      • vfox-elixir-ci@1.16.2
    • Add the checked-out repository as a local mise plugin before the Unix-like E2E steps:
      • mise plugin add vfox-elixir-ci "$GITHUB_WORKSPACE"
    • Update the workflow push and pull_request path filters to include:
      • .github/workflows/mise_e2e_test.yaml
  • Effect

    • Keeps the Erlang compiler tools on PATH during Elixir compilation in the macOS E2E path.
    • Ensures the mise E2E workflow validates the plugin changes from the current PR branch rather than main.
    • Aligns macOS behavior with the existing Linux shim-based activation path.
    • Ensures changes to the mise E2E workflow YAML itself trigger CI.
mise plugin add vfox-elixir-ci "$GITHUB_WORKSPACE"

mise use -g vfox:version-fox/vfox-erlang@26.2.3
eval "$(mise activate bash --shims)"

mise use -g vfox-elixir-ci@1.16.2
eval "$(mise activate bash --shims)"

Copilot AI changed the title [WIP] Fix failing GitHub Actions job mise_e2e_tests on macos-latest Fix macOS mise E2E activation for Elixir install Jun 16, 2026
Copilot AI requested a review from yeshan333 June 16, 2026 04:26
@yeshan333 yeshan333 marked this pull request as ready for review June 16, 2026 04:48
@yeshan333

Copy link
Copy Markdown
Member

@copilot The yaml should also support CI triggering

Copilot AI commented Jun 16, 2026

Copy link
Copy Markdown
Author

@copilot The yaml should also support CI triggering

Addressed in dcc3157: the workflow now includes .github/workflows/mise_e2e_test.yaml in its push and pull_request path filters, so CI triggers when this YAML is changed.

Copilot AI changed the title Fix macOS mise E2E activation for Elixir install Fix macOS mise E2E activation and CI triggering Jun 16, 2026
@yeshan333

Copy link
Copy Markdown
Member

@copilot 修复 CI 失败直到跑通

Copilot AI commented Jun 16, 2026

Copy link
Copy Markdown
Author

@copilot 修复 CI 失败直到跑通

已在 c7fc933 修复:mise E2E 现在会先把当前 checkout 作为本地 plugin 加到 mise,再安装 vfox-elixir,这样 PR 的改动会被实际跑到,不会再回退去拉 main 上的 plugin。新的 workflow run 27600262538 已触发,但 GitHub Actions 目前把它标成了 action_required,还没有下发 job。

Copilot AI changed the title Fix macOS mise E2E activation and CI triggering Fix mise E2E activation, CI triggering, and PR plugin testing Jun 16, 2026
yeshan333 and others added 4 commits June 16, 2026 19:10
`mise plugin add` only supports Git/zip URLs, not local directories.
`mise plugins link` creates the symlink mise needs to discover the
local vfox plugin.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
mise strips shims from PATH when running vfox plugin hooks, so erlc
is not found during Elixir compilation. Switch to `mise env` which
exports actual tool bin directories. Also set fail-fast: false so
both matrix jobs run independently.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
mise v2026.6.10 sanitizes the environment for os.execute() in vfox
plugin hooks — only declared dependencies get their bin dirs on PATH.
Without this declaration, erlc is not found during Elixir compilation.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
mise v2026.6.10 sanitizes os.execute() environment in vfox hooks,
stripping mise-managed install dirs from PATH. This makes erlc
unavailable during Elixir compilation.

Add find_erlang_bin() that searches for erlc on PATH first, then
falls back to scanning mise install directories. Inject the found
directory into the make command's PATH.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@yeshan333

Copy link
Copy Markdown
Member

Bad!

@yeshan333 yeshan333 closed this Jun 17, 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