Revision history for App-Actions - run GitHub Actions workflows locally
0.002.1 Sun Oct 25 07:56:17 PM EDT 2026
- t/regex.t checks that tokenizing four times the expression takes less
than eight times as long, rather than holding it to two seconds,
which a slower or busy machine went past.
- t/unit.t no longer depends on which of two parallel jobs finishes
first when checking a result that cannot be written.
- t/function.t's test that _system on Windows runs a program given by
its path no longer empties PATH for it, which kept Perl from starting
on GitHub's Windows runners.
- action-run cache no longer reports an image as missing when Docker
has it but gives no size for it, and --prune removes such an image
instead of forgetting it (which left it on the daemon and out of the
record).
- if: false and fail-fast: false work on Perl 5.36 again: each matrix
instance's copy of its job was made with Storable, whose version in
5.36 (3.26) turns a core boolean into an empty string, which ran the
job.
- A run that uses a kept image without pulling it again updates the
image's last use in the record (App::Actions::Cache->touch), so
"action-run cache --prune --older-than" no longer removes an image
that runs still use. An image the record does not hold is still never
added. Jobs run in parallel report the images they used too.
- Added t/integration.t: end-to-end tests across the modules, with
unwritable and unsearchable directories, an unreachable daemon, slow
and failing pulls, and malformed answers and files. It needs
Test::Permissions and Test::Without::Module.
- YAML::PP 0.38 is required: older versions do not load true and false
as Perl's own booleans, which if: false and fail-fast: false rely on
from Perl 5.36.
- A pull that fails while a job runs is reported in the chosen language
(App::Actions::Error runner.image.pull_failed), as the preflight's
already was.
- The core modules the tool and its tests use are all declared as
prerequisites.
- The tests pass from a checkout with CRLF line endings (t/changes.t,
t/self_test.t), t/function.t no longer fails now and then when a
second passes during the mount check, and its fork() tests no longer
end the test on Windows, where Process and parallel jobs do not fork.
- t/self_test.t runs the fake daemon's steps with the Perl under test:
where the first perl on PATH was another one, without the tool's
dependencies, the second workflow fell back to cpanm and failed
(a CPAN Testers report on Perl 5.44.0).
Fixes https://matrix.perl-magpie.org/results/fbe62b68-cfbc-11f1-b73e-b510376a2ca8
0.002.0 Fri Oct 23 02:52:55 PM EDT 2026
- Security: an environment value is interpolated only once, so ${{ }}
text from a context value (a commit message, say) is no longer
evaluated again; a variable that refers to itself is an error
(runner.env_cycle). A docker:// image is likewise interpolated once.
- Security: keep_logs refuses a log name or run id that is not a plain
file name (runner.logs.bad_name).
- if: false, pre-if, post-if and fail-fast: false are honoured on Perl
5.36 and later.
- Warnings and errors go through a Log::Abstraction logger;
App::Actions->new takes a logger argument. Progress and the summary
stay on standard output. Log::Abstraction 0.41 is required.
- Documented the configuration Object::Configure adds (App__Actions
config sections and environment variables).
- The cache and logs listings and a child process's error lines are
translated.
- Windows: a missing program is status 255 and is no longer retried
through cmd.exe.
- Bug fixes in Expression (re-entrant, booleans, negative numbers,
quoted }}, format()), Workflow (matrix instances share no job data),
Runner (continue-on-error under fail-fast), Steps, Containers,
Images, Parallel, Process, Cache, Check, Schema, Action and the
preflight's deferred images. Run errors no longer show a Perl
source location, the caller's $@ is preserved, and invalid
arguments are an App::Actions::Error (actions.invalid_arguments).
- Removed three unreachable messages.
- New tests: t/function.t (white-box), t/unit.t (black-box, against
the POD) and t/changes.t; the fixture, pre-commit, regex and
space-path tests were improved. New test dependencies:
Test::Mockingbird, Test::Returns and Test::Memory::Cycle.
- META: https repository URL; non-standard keys removed.
- POD fixes.
0.001.0 Thu Oct 22 12:40:02 PM EDT 2026
- First release
Keyboard Shortcuts
Global
s
Focus search bar
?
Bring up this help dialog
GitHub
gp
Go to pull requests
gi
Go to GitHub issues (only if GitHub is preferred repository)