Skip to content

Releases: alandefreitas/cpp-actions

v1.9.3

12 Feb 17:55

Choose a tag to compare

🚀 Features

New features and additions

  • ✨ gh-inputs: Filter comments and blank lines in multiline inputs. 4137715

🐛 Fixes

Bug fixes and error corrections

  • boost-clone: Scan patch module dependencies during submodule init. (fix #28) 9e8a1bb
  • b2-workflow: Broadcast module-target to every module instead of positional mapping. (fix #26) f72b80d (thanks @ashtum)

♻️ Refactor

Code refactoring and restructuring

  • Modularize long files across all actions and common packages. 091785a
  • Schema-driven action definitions with single source of truth.1 fb6761d

📦️ Build

Build system and configuration changes

  • Support ESM-only @actions/* v3 packages.2 58a1b2f
  • Simplify npm scripts and split build utility.3 7a6f90c

🚦 Continuous Integration

Changes related to continuous integration

  • Developer workflow tests and fix workspace build order.4 ec66209
  • Check dist bundles against fresh build instead of git history. 0788de7
  • Use kebab-case input names for flamegraph and create-changelog.5 d408338
  • Use underscore for github_token input in peaceiris/actions-gh-pages. 4ce1e29

🏗️ Chores

Routine tasks, maintenance, and housekeeping

Parent release: v1.9.2 28e581d

  1. Introduce common/action-schema package that lets each action define inputsand outputs once in a schema.ts file, then derives TypeScript types, runtimeparsing, and action.yml generation from it.- Add action-schema library: types, parser, runner, shared schemas, and action.yml generator- Add schema.ts to all 13 actions, replacing manual input extraction- Wire action.yml generation into npm build pipeline- Add CI checks that fail on stale action.yml or dist/ files- Deduplicate compiler prefix removal, setup inputs, and compiler outputs via shared helpers (createSetupInputs, createCompilerOutputs, createCompilerPrefixRemover)- Auto-discover schema actions instead of hardcoded list.

  2. The new @actions/* v3/v4 packages are ESM-only ("type": "module",exports only has "import" condition). This breaks the CJS-based buildpipeline (tsc → esbuild), Jest test runner, and Node.js scripts thatresolve these packages.- Add conditions: ['import'] to esbuild config so bundling resolves ESM export conditions- Add --conditions=import to the update-action-ymls Node.js script- Add custom Jest resolver (jest-resolver.js) for @actions/* packages- Configure Jest to transform ESM node_modules with ts-jest (allowJs)- Bump @actions/core, exec, io, http-client, tool-cache, cache, and artifact to v3/v4 across all workspaces.

  3. Replace the monolithic build orchestrator with direct npm scripts.Each script does one thing:- prepare/build: compile all workspaces (via npm run build --workspaces)- test: jest- lint: jsdoc-linter (renamed from lint:jsdoc)- docs: generate documentation (new utils/docs package)- update-data: fetch compiler tags and version data (new utils/update-data package)- validate: update-data + build + test + lintOther changes:- Rename workspace "all" script to "build" (tsc + esbuild in one step)- Reorder workspaces array by dependency order- Remove prepare:foundation/prepare:actions (replaced by --workspaces)- Split utils/build into utils/update-data and utils/docs- Delete dead code: prepare.ts, test.ts, lint.ts, workspace.ts, cli.ts- Add @throws JSDoc to fix lint warnings in setup-program and cmake-workflow- Update CI to run lint step- Update contribute.adoc (scripts reference, project structure, esbuild).

  4. The prepare script now builds packages in dependency order:1. Utils/esbuild (no deps)2. Common/trace-commands, gh-inputs, pretty-errors (pretty-errors needs trace-commands)3. Utils packages4. Action packages in dependency order (setup-program first, then dependents)This fixes "Cannot find module" errors on fresh clones where npm wasrunning workspace prepare scripts in parallel without respectingdependencies.Added dev-workflow CI job that tests npm install/build/test on allplatforms, blocking the main build matrix if it fails.

  5. The schema-driven action.yml generation converts underscore input namesto kebab-case. Update the CI workflow to match.

v1.9.2

18 Dec 01:05

Choose a tag to compare

🚀 Features

New features and additions

  • ✨ cpp-matrix: More comprehensive Handlebars helper library. 71d0532
  • 💫 cmake-workflow: Ctest-timeout input for per-test timeout control. ff2e2fc
  • 🌟 release: Rolling major/minor version tags. 52c1b35

🐛 Fixes

Bug fixes and error corrections

  • boost-clone: Layer-by-layer discovery for non-release branches. 368e856

⚡️ Performance

Performance optimizations and enhancements

  • cpp-matrix: Parallelize failure rate job fetches. a3485a4

♻️ Refactor

Code refactoring and restructuring

  • cmake-workflow: Centralize exponential factors with Cartesian product combinator. 03c8ec9
  • setup-program: Split APT install logic from find logic. 6ecc62a

Parent release: v1.9.1 9ce10e3

v1.9.1

17 Dec 04:26

Choose a tag to compare

🚀 Features

New features and additions

  • cpp-matrix:
    • warn-no-matches options. 6ca5318
    • 💫 Arch metadata across setup-cpp, b2-workflow, and cmake-workflow. b313ca8
    • 🌟 Sort entries by historical failure rate. 1542039
  • ✨ setup-cpp: Find MSVC executables. 8e9cbc2
  • 💫 setup-msvc: Add standalone MSVC setup action. 3187067
  • 🌟 Source-mapped error reporting. aa67e0b
  • create-changelog:
    • ✨ Add error mode for unconventional commit validation. 6d74f13
    • 💫 Add include/exclude commit type filters. 04f4fb1
    • 🌟 Add sort-by option for commit ordering. 25c7975
  • ✨ boost-clone: Archive download strategy. 0acc14f
  • setup-clang:
    • 💫 Detect companion tools before installing. f47ec50
    • 🌟 Configure llvm-symbolizer for sanitizers. 4a7fa05

🐛 Fixes

Bug fixes and error corrections

  • create-changelog:
    • Avoid duplicating scope labels. (fix #25) 59c06ad
    • Sort commits across scopes. 62e3de1
  • package-install: Harden semver handling and document helpers. 324c798
  • setup-cmake: Ensure git for tag extraction. 8c8193f
  • boost-clone: Restore cache short-circuit and improve logging. 0b2733f
  • cpp-matrix:
    • Generate entries for compilers without version tracking. de8f300
    • Remove incorrect MSVC 14.29 toolset warning. 5fa234c
  • tests: Use centralized tsconfig for test compilation. 2b3495c
  • cmake-workflow: Add force option to patch copying for overwrites. 07cdd0a
  • pretty-errors: Replace youch-terminal.1 7f49ade
  • setup-gcc: Install matching g++ to keep C++ toolchain complete. 2a7a236

♻️ Refactor

Code refactoring and restructuring

  • docs: Discover actions dynamically in parser. 85d159d
  • Migrate codebase to TypeScript with npm workspaces.2 9482107

📖 Documentation

Documentation updates and improvements

  • cpp-matrix: Fix a few typos. afe87c1
  • Add JSDoc linter and comprehensive inline documentation. 99cb590
  • Add JSDoc documentation to all non-exported symbols. a91506c
  • create-changelog: Add global installation instructions via npm link. 12e1bac

📦️ Build

Build system and configuration changes

  • release: Update prompt defaults. 9ce10e3
  • Improve release.sh handling of untracked files. 3f3397b
  • Migrate shell scripts to TypeScript utilities. aa3c41d
  • docs: Vendor PyYAML for Antora build. dafb9cd

💬 Other

Other changes not covered by specific categories

  • Refactor(cpp-matrix) move compiler cache files into an ignored repo directory. 9b55ee2

Parent release: v1.9.0 f66a76a

  1. This fixes CI bundling issues.

    • Convert all 16 action packages from JavaScript to TypeScript- Move source files to src/ directories with tsconfig in .config/- Implement npm workspaces for unified dependency management- Centralize Jest configuration in root jest.config.js- Extract shared utilities to common/ packages: - gh-inputs: action input parsing - pretty-errors: error formatting with source maps - trace-commands: debug logging- Update build.sh to use workspace commands- Convert create-changelog CLI to TypeScript- Update contributor guide for new workflow.

v1.9.0

04 Nov 09:29

Choose a tag to compare

🚀 Features

New features and additions

🐛 Fixes

Bug fixes and error corrections

📖 Documentation

Documentation updates and improvements

📦️ Build

Build system and configuration changes

  • Depcheck.sh includes common packages. d501f8e
  • Release.sh includes consent prompts. 0b605e3
  • New update-dependencies.sh script. a1e991e
  • Simplify version.sh. 8251a17
  • Include a final message aggregating success and error messages. 8504827
  • Tag suggestion logic in release script considers feat commits. 65fb75d
  • Release.sh has smart checkouts. ecb3d71
  • Release.sh can't commit after checking out master.1 f66a76a

🏗️ Chores

Routine tasks, maintenance, and housekeeping

Parent release: v1.8.12 97c627f

  1. Changes should already be in develop.

v1.8.12

30 Sep 16:53

Choose a tag to compare

chore: build files are marked as git binary

v1.8.11

10 Sep 17:35

Choose a tag to compare

ci: test standards >=14

v1.8.10

17 May 00:50

Choose a tag to compare

🚀 Features

New features and additions

📦️ Build

Build system and configuration changes

  • Modularize util functions. 0025c9f

Parent release: v1.8.9 fc22731

v1.8.9

09 Apr 01:24

Choose a tag to compare

🚀 Features

New features and additions

  • ✨ Update compiler standards table. 6250111
  • 💫 Support link=static. fa6ba7c

🐛 Fixes

Bug fixes and error corrections

⚡️ Performance

Performance optimizations and enhancements

  • Setup actions provide default version tags when git fails. 5929559
  • Ubuntu versions are fetched during the build process. d4d4dac

♻️ Refactor

Code refactoring and restructuring

  • Find git tags looks for latest git version. cc1b015

📖 Documentation

Documentation updates and improvements

🧪 Tests

Test cases and testing-related changes

  • Update fmt version in fetch-content tests. 33f9edc

🚦 Continuous Integration

Changes related to continuous integration

  • Enable fmt vcpkg package when not fetching it. a6db56e

🏗️ Chores

Routine tasks, maintenance, and housekeeping

💬 Other

Other changes not covered by specific categories

  • Chore(.gitattributes): add common/dist to eol=lf files. a36f24c

Parent release: v1.8.8 e440b88

v1.8.8

08 Jan 18:21

Choose a tag to compare

🚀 Features

New features and additions

🐛 Fixes

Bug fixes and error corrections

♻️ Refactor

Code refactoring and restructuring

  • create-changelog:
    • create-changelog: Do not quote empty footer notes. 801860d
    • create-changelog: Validate footer value. e2bbb81
    • create-changelog: Undefined scopes are not indented. 16eddf0
  • Unify finding GCC and Clang versions in the setup-program action. d2ec182
  • Modularize core input functions. 95cb680
  • boost-clone:
    • boost-clone: Javascript action. 002e379
    • boost-clone: Initialize essential modules. 9b486a3
  • Javascript action. 2ad0e52
  • BoolOrString type validation. 4c7f128
  • Remove empty group. 8f1d21d
  • Minimize options for single-config generators. 72860fa

📖 Documentation

Documentation updates and improvements

📦️ Build

Build system and configuration changes

  • Tree shaking and minification. 5f83e00

🚦 Continuous Integration

Changes related to continuous integration

🏗️ Chores

Routine tasks, maintenance, and housekeeping

  • Enforce LF line endings for dist directories. 2207432
  • Version is 1.8.8. e440b88

Parent release: v1.8.6 7570f76

  1. Besides footers ([footer]: [msg]), this commit includes support for tags (#<tag-str>) in commit messages. If tags match common commit types, such as feat, they are also used to set the type when absent.

v1.8.7

08 Sep 09:34

Choose a tag to compare

♻️ Refactor

Code refactoring and restructuring

  • create-changelog:
    • Do not quote empty footer notes. () 801860d
    • Validate footer value. () e2bbb81
    • Undefined scopes are not indented. () 16eddf0
  • undefined:
    • Unify finding GCC and Clang versions in the setup-program action. () d2ec182
    • Modularize core input functions. () 95cb680
  • boost-clone:
    • Javascript action. () 002e379
    • Initialize essential modules. () 9b486a3
  • flamegraph: Javascript action. () 2ad0e52
  • gh-inputs: BoolOrString type validation. () 4c7f128

📦️ Build

Build system and configuration changes

  • undefined: Tree shaking and minification. () 5f83e00

🚦 Continuous Integration

Changes related to continuous integration

  • undefined: Remove msvc asan factor. () efd1af7

Parent release: v1.8.7 7570f76