From d7d38e173ef7bc687ac321be98355f31353d63a2 Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Fri, 21 Jan 2022 11:35:14 -0500 Subject: [PATCH 1/3] Update 0354-runner-machine-info.md (#1108) --- docs/adrs/0354-runner-machine-info.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/adrs/0354-runner-machine-info.md b/docs/adrs/0354-runner-machine-info.md index 6e9263371..47c8f3848 100644 --- a/docs/adrs/0354-runner-machine-info.md +++ b/docs/adrs/0354-runner-machine-info.md @@ -24,7 +24,7 @@ The runner will look for a file `.setup_info` under the runner's root directory, } ] ``` -The runner will use `##[group]` and `##[endgroup]` to fold all detail info into an expandable group. +The runner will use `::group` and `::endgroup` to fold all detail info into an expandable group. Both [virtual-environments](https://github.com/actions/virtual-environments) and self-hosted runners can use this mechanism to add extra logging info to the `Set up job` step's log. From ea67ff96474249593da2dbbf942f6807247e3c64 Mon Sep 17 00:00:00 2001 From: Rob Cowsill <42620235+rcowsill@users.noreply.github.com> Date: Fri, 21 Jan 2022 16:35:29 +0000 Subject: [PATCH 2/3] Update Required Dev Dependencies (#1379) * Add cURL to Linux requirements * Add VS2017 to Windows requirements --- docs/contribute.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/docs/contribute.md b/docs/contribute.md index a1e107192..fab3563af 100644 --- a/docs/contribute.md +++ b/docs/contribute.md @@ -23,6 +23,10 @@ An ADR is an Architectural Decision Record. This allows consensus on the direct ![Win](res/win_sm.png) ![*nix](res/linux_sm.png) Git for Windows and Linux [Install Here](https://git-scm.com/downloads) (needed for dev sh script) +![*nix](res/linux_sm.png) cURL [Install here](https://curl.se/download.html) (needed for external sh script) + +![Win](res/win_sm.png) Visual Studio 2017 or newer [Install here](https://visualstudio.microsoft.com) (needed for dev sh script) + ## Quickstart: Run a job from a real repository If you just want to get from building the sourcecode to using it to execute an action, you will need: From c95d5eae3092358e0027f4d26b9962eedf2af93c Mon Sep 17 00:00:00 2001 From: Josh Soref <2119212+jsoref@users.noreply.github.com> Date: Fri, 21 Jan 2022 11:35:50 -0500 Subject: [PATCH 3/3] Update 0276-problem-matchers.md (#1105) * Update 0276-problem-matchers.md Update to reflect current behavior * Update docs/adrs/0276-problem-matchers.md Co-authored-by: Ferenc Hammerl <31069338+fhammerl@users.noreply.github.com> --- docs/adrs/0276-problem-matchers.md | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/docs/adrs/0276-problem-matchers.md b/docs/adrs/0276-problem-matchers.md index c31b14d5b..bed1f75ff 100644 --- a/docs/adrs/0276-problem-matchers.md +++ b/docs/adrs/0276-problem-matchers.md @@ -10,7 +10,7 @@ Compilation failures during a CI build should surface good error messages. For example, the actual compile errors from the typescript compiler should bubble as issues in the UI. And not simply "tsc exited with exit code 1". -VSCode has an extensible model for solving this type of problem. VSCode allows users to configure which problems matchers to use, when scanning output. For example, a user can apply the `tsc` problem matcher to receive a rich error output experience in VSCode, when compiling their typescript project. +VSCode has an extensible model for solving this type of problem. VSCode allows users to configure which [problems matchers](https://code.visualstudio.com/docs/editor/tasks#_defining-a-problem-matcher) to use, when scanning output. For example, a user can apply the `tsc` problem matcher to receive a rich error output experience in VSCode, when compiling their typescript project. The problem-matcher concept fits well with "setup" actions. For example, the `setup-nodejs` action will download node.js, add it to the PATH, and register the `tsc` problem matcher. For the duration of the job, the `tsc` problem matcher will be applied against the output. @@ -18,21 +18,23 @@ The problem-matcher concept fits well with "setup" actions. For example, the `se ### Registration -#### Using `##` command +#### Using `::` command -`##[add-matcher]path-to-problem-matcher-config.json` +`::add-matcher::path-to-problem-matcher-config.json` -Using a `##` command allows for flexibility: +Using a `::` command allows for flexibility: - Ad hoc scripts can register problem matchers - Allows problem matchers to be conditionally registered Note, if a matcher with the same name is registered a second time, it will clobber the first instance. -#### Unregister using `##` command +Note, at some point the syntax changed from `##` to `::`. + +#### Unregister using `::` command A way out for rare cases where scoping is a problem. -`##[remove-matcher]owner` +`::remove-matcher::owner` For this to be usable, the `owner` needs to be discoverable. Therefore, debug print the owner on registration. @@ -104,7 +106,7 @@ message: ; expected fromPath: C:\myrepo\myproject\ConsoleApp1\ClassLibrary1\ClassLibrary1.csproj ``` -Additionally the line will appear red in the web UI (prefix with `##[error]`). +Additionally the line will appear red in the web UI (prefix with `::error`). Note, an error does not imply task failure. Exit codes communicate failure.