Skip to content

v4.10.0

Choose a tag to compare

@github-actions github-actions released this 17 Oct 21:14
· 12 commits to main since this release
  • A path an include names without wildcards stays against a wider
    exclude:.
    build/version.txt next to exclude: build/**, or src/.env
    next to exclude: '**/.*', is kept in sources and generates, as is a
    generates fingerprint: file; only an exclusion naming the same path removes
    it. A path named only by a task taken with from: or task: still follows
    the taking task's exclusions. Tasks whose exclude: used to remove such a
    path see their checksum change once.
  • An exclude: matches dot entries. Its wildcards and ** also match
    names beginning with a dot, so exclude: dir/** removes everything an
    include lists under dir, hidden files included. Includes still list a dot
    entry only when its name is written out without wildcards. Only tasks whose
    wildcard includes list a dot entry inside an excluded tree see their checksum
    change, once. Tasks with a dot-file include elsewhere, such as
    web/.yarnrc.yml next to exclude: '**/node_modules/**', no longer scan the
    excluded trees, which could make them twice as slow.
  • An exclude: removes every path its pattern matches, however an include
    reached it:
    through a symlink, a link back up, or a directory that can be
    searched but not read. exclude: a//b/** now excludes a/b/**, and
    exclude: link/** drops link when it is a symlink to a directory. Tasks
    with such paths see their checksum change once. Exclusions no longer walk
    the tree themselves, which speeds up patterns such as exclude: '**/*.pyc'.
  • A task's own exclude: dir/** also keeps the sources and generates it
    takes from other tasks (task:, from:) from scanning dir.
    A task
    taking **/*.rs sources from another no longer scans the node_modules
    trees it excludes; the file lists are unchanged.
  • A relative glob ending in / matches directories only, in sources,
    generates and sandbox.reads, as an absolute one already did: it lists a
    symlink to a directory, never a file. Before, sources: [build/] listed a
    file named build, exclude: build/ removed one, and exclude: dir/**/
    removed every file under dir. Tasks with such entries see their checksum
    change once.