You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When you pass the `--debug` flag into `fossa analyze`, `fossa container analyze` or `fossa sbom analyze`, the debug bundle is not created in a file called `fossa.debug.zip`. This zip file contains `fossa.debug.json` and `fossa.telemetry.json`.
If you are doing snippet scanning, then it will also contain debug logs from Ficus.
Copy file name to clipboardExpand all lines: Changelog.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,8 @@
1
1
# FOSSA CLI Changelog
2
2
3
+
## 3.13.0
4
+
- Change how debug logs are generated. They are now generated in a file called fossa.debug.zip, which can contain multiple files. For the common case of `fossa analyze --debug`, it will now contain the debug bundle (fossa.debug.json) and the telemetry json (fossa.telemetry.json). It will also contain Ficus logs if Ficus is run via --x-snippet-scan ([#1610](https://github.com/fossas/fossa-cli/pull/1610))
5
+
3
6
## 3.12.3
4
7
- Licensing: applies a fix for proprietary license detection ([#1616](https://github.com/fossas/fossa-cli/pull/1616))
For instance, if both the command-line option and the environment variable are provided
35
-
the telemetry scope provided via the command line will be used.
36
-
35
+
the telemetry scope provided via the command line will be used.
36
+
37
37
Supported telemetry scopes:
38
-
- `off` - telemetry results are not captured or emitted.
38
+
- `off` - telemetry results are not captured or emitted.
39
39
- `full`- telemetry results are uploaded to the default or specified endpoint.
40
-
40
+
41
41
When we do not have `ApiOpts` (e.g. API Key), we do not emit telemetry to an endpoint.
42
42
43
43
## Telemetry Sinks
44
44
45
-
When the environment variable `FOSSA_TELEMETRY_DEBUG=1` or `--debug` flag is provided,
46
-
the telemetry sink is set to file. This will generate the file `fossa.telemetry.json` in the current working directory.
45
+
When the environment variable `FOSSA_TELEMETRY_DEBUG=1` or `--debug` flag is provided,
46
+
the telemetry sink is set to file. The `--debug` flag will generate a file called `fossa.debug.zip` in the current working directory, which will contain a file called `fossa.telemetry.json`.
47
+
48
+
The `FOSSA_TELEMETERY_DEBUG` variable is set to 1 and the `--debug` flag is not passed in, then we will write `fossa.telemetry.json` in the current working directory.
47
49
48
50
Telemetry is sunk to the same server as the analysis.
49
51
@@ -65,15 +67,15 @@ experimental (SomeProject manifestDir manifestFile) = do
65
67
66
68
2. Captured system and CLI version information
67
69
68
-
This is automatically done at teardown. If we do not have version identifier,
69
-
we consider CLI environment to be development. CLI version is set as git tag,
70
+
This is automatically done at teardown. If we do not have version identifier,
71
+
we consider CLI environment to be development. CLI version is set as git tag,
70
72
or branch name. This information is exact as data collected in debug bundle.
71
73
72
74
3. Capturing errors and warnings
73
75
74
76
## teleRunDiagnosticsIO
75
77
76
-
```haskell
78
+
```haskell
77
79
-- >> :t trackResult
78
80
-- trackResult :: Has Telemetry sig m => Result a -> m ()
79
81
@@ -86,7 +88,7 @@ bar = do
86
88
4. Capturing cpu time of a computation
87
89
88
90
```haskell
89
-
-- >> :t trackTimeSpent
91
+
-- >> :t trackTimeSpent
90
92
-- trackTimeSpent :: Has Telemetry sig m => Text -> m a -> m a
91
93
92
94
someComplexComputation :: Has Telemetry sig m => m ()
@@ -97,7 +99,7 @@ someComplexComputation = do
97
99
98
100
5. Tracking raw telemetry messages
99
101
100
-
Avoid using this interface as much as possible. It produces type-free telemetry data and
102
+
Avoid using this interface as much as possible. It produces type-free telemetry data and
101
103
we want to capture telemetry data that has explicit/strict data shape.
102
104
103
105
```haskell
@@ -111,8 +113,8 @@ foo = do
111
113
112
114
### Future
113
115
114
-
We can implement `span` and `trace`s to provide capability to continuous profiling, this
115
-
can be done by modifying `trackTimeSpent` to `trackSpan`.
116
+
We can implement `span` and `trace`s to provide capability to continuous profiling, this
117
+
can be done by modifying `trackTimeSpent` to `trackSpan`.
116
118
117
119
```
118
120
<---------------------------------> ~ Trace
@@ -122,5 +124,5 @@ can be done by modifying `trackTimeSpent` to `trackSpan`.
122
124
```
123
125
124
126
Ideally, we can leverage existing sdk from apm provider, or open telemetry instead of
Copy file name to clipboardExpand all lines: docs/differences-from-v1.md
+11-11Lines changed: 11 additions & 11 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -64,15 +64,15 @@ FOSSA 3.x supports following new build managers and languages:
64
64
65
65
FOSSA CLI 3.x now does automatic analysis target discovery when you run `fossa analyze`. This means that `fossa init` is no longer required. `fossa init` is now a no-op that emits a warning, and will be removed in a future release.
66
66
67
-
In 1.x, modules could be manually configured with "strategies" that specified _how_ a module should be analyzed. While `fossa init` attempted to choose the best strategy, manual intervention was sometimes required depending on the project's setup.
67
+
In 1.x, modules could be manually configured with "strategies" that specified _how_ a module should be analyzed. While `fossa init` attempted to choose the best strategy, manual intervention was sometimes required depending on the project's setup.
68
68
69
69
In 3.x, the CLI now automatically selects the optimal strategy for analysis targets given the current environment (e.g. whether a build tool is available). This is possible because discovery and analysis are now one step, so we can check the suitability of analysis strategies while discovering targets.
70
70
71
71
### New fossa-deps configuration support
72
72
73
73
With [`fossa-deps.{yml,json}` file](features/manual-dependencies.md), 3.x supports:
74
74
75
-
- License scanning vendor dependencies
75
+
- License scanning vendor dependencies
76
76
<!-- markdown-link-check-disable-next-line -->
77
77
- Analyzing archives that are located at a specific web address (e.g. https://my-deps-source/v1.zip)
78
78
- Manually specifying dependency by it's name and license (e.g. my-custom-dep with MIT license)
@@ -123,9 +123,9 @@ Following CLI commands are not supported with 3.x:
123
123
### Language Specific Changes
124
124
125
125
#### Gradle
126
-
- 3.x uses a new plugin-based strategy to perform discovery and analysis, it analyses all resolvable Gradle configurations.
126
+
- 3.x uses a new plugin-based strategy to perform discovery and analysis, it analyses all resolvable Gradle configurations.
127
127
- 3.x does not accept any options: `cmd`, `task`, `timeout`, `all-configurations`, `configuration`, `retries`, `online`, `all-submodules`, and any other option supported in 1.x for Gradle analysis.
128
-
- In 3.x,
128
+
- In 3.x,
129
129
- There is no timeout (analysis may run for a long time)
130
130
- All resolvable configurations are analyzed
131
131
- There are no retries (CLI will attempt to analyze the project once)
@@ -134,7 +134,7 @@ Following CLI commands are not supported with 3.x:
134
134
- Refer to [FOSSA 3.x gradle docs](references/strategies/languages/gradle/gradle.md) for more information for gradle.
135
135
136
136
#### Clojure
137
-
- 3.x performs the `lein deps :tree` strategy by default.
137
+
- 3.x performs the `lein deps :tree` strategy by default.
138
138
- 3.x does not support any options - `strategy`, and `lien` for Clojure analysis.
139
139
- Refer to [FOSSA 3.x clojure docs](references/strategies/languages/clojure/clojure.md) for more information on how 3.x performs analysis for clojure.
140
140
@@ -175,11 +175,11 @@ Following CLI commands are not supported with 3.x:
175
175
#### Python
176
176
- 3.x automatically selects the application strategy which yields the highest fidelity of dependency information.
177
177
- 3.x uses attempts to infer requirements.txt for any file with prefix `req` in its name, and `txt` extension.
178
-
- 3.x does not support the `strategy` or `requirement` option for Python analysis.
178
+
- 3.x does not support the `strategy` or `requirement` option for Python analysis.
179
179
- Refer to [FOSSA 3.x python docs](references/strategies/languages/python/python.md) for more information on how 3.x performs analysis for python.
180
180
181
181
#### Gem
182
-
- 3.x attempts to use the `bundle show` command (`bundle` must be accessible from `$PATH`), and if it fails, it attempts to analyze dependencies from `Gemfile.lock` file.
182
+
- 3.x attempts to use the `bundle show` command (`bundle` must be accessible from `$PATH`), and if it fails, it attempts to analyze dependencies from `Gemfile.lock` file.
183
183
- 3.x does not support `strategy` or `gemfile-lock-path` option for Gem Analysis.
184
184
- Refer to [FOSSA 3.x gem docs](references/strategies/languages/ruby/ruby.md) for more information on how 3.x performs analysis for gem.
185
185
@@ -199,7 +199,7 @@ Since analysis targets are now automatically discovered during analysis, `fossa
199
199
200
200
### Migrate your .fossa.yml file
201
201
202
-
We've made major breaking changes in the `.fossa.yml` file format for CLI 3.x to improve clarity. You'll need to migrate your 1.x `.fossa.yml` to the new 3.x format for their configurations to apply. `.fossa.yml` for 1.x will be ignored when running cli with version greater than 1.x. We determine whether a configuration file is compatible by examining its `version` field.
202
+
We've made major breaking changes in the `.fossa.yml` file format for CLI 3.x to improve clarity. You'll need to migrate your 1.x `.fossa.yml` to the new 3.x format for their configurations to apply. `.fossa.yml` for 1.x will be ignored when running cli with version greater than 1.x. We determine whether a configuration file is compatible by examining its `version` field.
203
203
204
204
- .fossa.yml with version field value of `1` and `2` are for 1.x.
205
205
- .fossa.yml with version field value of `3` are for 3.x, and 2.x.
@@ -234,7 +234,7 @@ For more information, including usage information, see [FOSSAv1 report compatibi
234
234
235
235
FOSSA 1.x CLI is available and can be used indefinitely. We intend to make 3.x the default target for our installation scripts (as previously described in our documentation) in July 2022. If you wish to continue using 1.x, please migrate to using `install-v1` scripts.
236
236
237
-
FOSSA will only patch 1.x for security fixes. Any feature and patch development work will occur in 3.x moving forth.
237
+
FOSSA will only patch 1.x for security fixes. Any feature and patch development work will occur in 3.x moving forth.
238
238
239
239
#### I'm getting a poor result with latest version compared 1.x.
240
240
@@ -252,7 +252,7 @@ You can identify your cli version by performing `fossa --version` command.
252
252
253
253
#### I'm running into an error - how do I debug?
254
254
255
-
You can add `--debug` argument to your fossa commands (e.g. `fossa analyze --debug`), this will emit debug logs to stdout, and create `fossa.debug.json` in working directory.
255
+
You can add a `--debug` argument to your fossa commands (e.g. `fossa analyze --debug`), this will emit debug logs to stdout, and create a file called `fossa.debug.zip` in the working directory that contains a debug bundle (fossa.debug.json).
256
256
257
257
#### What's the difference between FOSSA CLI 1.x, 2.x, and 3.x?
258
258
@@ -268,7 +268,7 @@ You can add `--debug` argument to your fossa commands (e.g. `fossa analyze --deb
268
268
269
269
3.x will be released on November 12, 2021.
270
270
271
-
> Note: There are no breaking changes from 2.x to 3.x. The 3.x version in functional sense, continuation of 2.x version. The 3.x version was released to (1) match the `version` field of the fossa configuration file with the major release version of cli, (2) mark migration of CLI 2.x source code back into the fossa-cli repository, and (3) mark 3.x now the default target for installation for all fossa users moving forwards.
271
+
> Note: There are no breaking changes from 2.x to 3.x. The 3.x version in functional sense, continuation of 2.x version. The 3.x version was released to (1) match the `version` field of the fossa configuration file with the major release version of cli, (2) mark migration of CLI 2.x source code back into the fossa-cli repository, and (3) mark 3.x now the default target for installation for all fossa users moving forwards.
272
272
273
273
274
274
If you were previously using the installation script provided at [fossas/spectrometer](https://github.com/fossas/spectrometer/), it is now recommended to use the installation latest script provided at [fossas/fossa-cli](https://github.com/fossas/fossa-cli/).
0 commit comments