Skip to content

Add GitHub Actions CI#13

Merged
davydog187 merged 2 commits into
mainfrom
ci/github-actions
Jul 10, 2026
Merged

Add GitHub Actions CI#13
davydog187 merged 2 commits into
mainfrom
ci/github-actions

Conversation

@davydog187

@davydog187 davydog187 commented Jul 10, 2026

Copy link
Copy Markdown
Contributor

Adds a Test workflow (.github/workflows/ci.yml) that runs on pushes to main and on all pull requests. Borrowed structure from the lua repo's CI.

What it does

build job (blocking) — matrix over Elixir 1.19/OTP 28 and Elixir 1.20/OTP 29:

  • mix deps.get (with deps + _build caching)
  • mix format --check-formatted (lint variant only)
  • mix deps.unlock --check-unused (lint variant only)
  • mix compile --warnings-as-errors --force
  • mix test --exclude spec

Verified locally

  • mix format --check-formatted
  • mix compile --warnings-as-errors
  • mix deps.unlock --check-unused
  • mix test --exclude spec → 0 failures ✅

Runs the test suite, format check, unused-deps check, and
warnings-as-errors compile across Elixir 1.19/OTP 28 and 1.20/OTP 29.

The Oils-format conformance spec suite (which tracks known gaps
against reference Bash) runs in a separate, non-blocking job that
reports its pass/fail count to the job summary.
@davydog187 davydog187 force-pushed the ci/github-actions branch 2 times, most recently from 15abb1c to 939340d Compare July 10, 2026 19:44
The test interpolated the tmp_dir path into an unquoted redirect
target. On Elixir 1.19+, ExUnit's tmp_dir name includes the test
description verbatim, which for this test contains "(-C)" — and
unquoted parentheses are shell-special, so the redirect misparsed
(exit 127, no error output) rather than triggering noclobber. Real
Bash would fail on the unquoted path too.

Quote the redirect target so the path is treated literally, and read
stderr via the session's persistent collector (flush_session_output/1)
rather than the result-embedded collector, which is transferred and
cleaned up asynchronously after execution.
@davydog187 davydog187 merged commit 6e5b2c5 into main Jul 10, 2026
3 checks passed
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