Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Version 0.46.0-RC1 #3349

Merged
merged 611 commits into from
Oct 11, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
611 commits
Select commit Hold shift + click to select a range
656491c
Merge debug environment variables.
mitchell-as Jul 19, 2024
360fc90
`state import` uses a private namespace if added packages do not have…
mitchell-as Jul 18, 2024
2443e2a
Added integration test for importing CycloneDX SBOMs.
mitchell-as Jul 22, 2024
337eb73
Added test case for SPDX SBOMs.
mitchell-as Jul 22, 2024
04757df
Eliminate `errs.Matches()`.
mitchell-as Jul 22, 2024
58b6a78
`state import` should solve the correct commitID.
mitchell-as Jul 22, 2024
889d683
Replace user-facing comma-splices with complete sentences.
mitchell-as Jul 23, 2024
624e7e0
Remove `constants.DisableRuntime` in favor of async config option.
mitchell-as Jul 23, 2024
c2004ed
Only remove the installation.InstallDirMarker after binaries were suc…
mitchell-as Jul 24, 2024
516ae4c
Enrich 'installation path must be an empty directory' errors to help …
mitchell-as Jul 24, 2024
c48dd8b
Merge pull request #3411 from ActiveState/mitchell/dx-2785
mitchell-as Jul 24, 2024
a6a6292
Rename variables to avoid confusion.
mitchell-as Jul 24, 2024
67cf59b
Merge branch 'version/0-46-0-RC1' into mitchell/dx-2775
mitchell-as Jul 24, 2024
792d654
Merge pull request #3414 from ActiveState/mitchell/dx-2870
mitchell-as Jul 24, 2024
2ea68d4
Merge pull request #3407 from ActiveState/mitchell/dx-2830
mitchell-as Jul 24, 2024
31fbae5
Use separate error types for owner not found and owner does not exist…
mitchell-as Jul 24, 2024
1ba2782
Merge pull request #3410 from ActiveState/mitchell/dx-2550
mitchell-as Jul 25, 2024
d98fb11
Merge pull request #3412 from ActiveState/mitchell/dx-2804
mitchell-as Jul 25, 2024
ba009ac
Merge branch 'version/0-46-0-RC1' into mitchell/dx-2941
mitchell-as Jul 25, 2024
a32b8ec
Merge pull request #3409 from ActiveState/mitchell/dx-2775
mitchell-as Jul 25, 2024
0abf166
Disable buildscript validation on `state reset`.
mitchell-as Jul 25, 2024
10b32aa
Merge pull request #3405 from ActiveState/mitchell/dx-2941
mitchell-as Jul 25, 2024
a1241f7
Merge pull request #3416 from ActiveState/mitchell/dx-2956
mitchell-as Jul 26, 2024
ac09958
Merge branch 'version/0-46-0-RC1' into mitchell/dx-2940
mitchell-as Jul 26, 2024
156fb56
Fixed failing integration test.
mitchell-as Jul 26, 2024
5c94684
Merge pull request #3408 from ActiveState/mitchell/dx-2940
mitchell-as Jul 26, 2024
16b5648
Merge pull request #3417 from ActiveState/mitchell/dx-2971
mitchell-as Jul 26, 2024
6d00a35
Add explicit integration test
MDrakos Jul 26, 2024
9281598
`state import` with SBOMs should still update the commit.
mitchell-as Jul 29, 2024
c79d6c0
Use buildplanner ImpactReport endpoint to show change summary.
mitchell-as Jul 26, 2024
716883d
Consider a folder with the install dir marker to be an installation r…
mitchell-as Jul 29, 2024
f1f8ab0
`state import` should always update the local commit, even if solving…
mitchell-as Jul 29, 2024
78bb900
Merge pull request #3415 from ActiveState/mitchell/dx-2881
mitchell-as Jul 29, 2024
27cbf09
Merge pull request #3418 from ActiveState/mitchell/dx-2977
mitchell-as Jul 29, 2024
4820ac3
Merge branch 'version/0-46-0-RC1' into mitchell/dx-2955
mitchell-as Jul 29, 2024
dd0c713
Merge pull request #3382 from ActiveState/DX-2892
MDrakos Jul 29, 2024
d8be069
StageCommit returns a build
MDrakos Jul 29, 2024
8d7542c
Only send buildexpressions to ImpactReport.
mitchell-as Jul 30, 2024
7697834
Use Platform URLs instead of S3 URLs for user update requests.
mitchell-as Jul 30, 2024
03c5e90
Merge pull request #3422 from ActiveState/mitchell/dx-2769
mitchell-as Jul 30, 2024
0368182
Also pass impact report to cve runbit, even though it cannot yet be f…
mitchell-as Jul 30, 2024
ea73065
Add back mistakenly deleted locale message.
mitchell-as Jul 31, 2024
d9e2af4
Attempt to fix failing integration test.
mitchell-as Jul 31, 2024
5f3f04a
Error types should satisfy error interface instead of embedding error…
mitchell-as Jul 31, 2024
bf33c07
Make trailing newline in command help more consistent.
mitchell-as Jul 31, 2024
f4695e5
Include local history when checking if a commit exists in a project.
mitchell-as Jul 31, 2024
b29bf80
Merge pull request #3426 from ActiveState/mitchelll/dx-2964
mitchell-as Jul 31, 2024
d554a50
Merge pull request #3425 from ActiveState/mitchell/dx-2788
mitchell-as Jul 31, 2024
d661c98
Merge pull request #3427 from ActiveState/mitchelll/dx-2965
mitchell-as Jul 31, 2024
12d84fa
Merge pull request #3423 from ActiveState/mitchell/dx-2970
mitchell-as Jul 31, 2024
954fc3a
Merge branch 'version/0-46-0-RC1' into mitchell/dx-2958
mitchell-as Jul 31, 2024
607fc0e
Merge pull request #3424 from ActiveState/mitchell/dx-2958
mitchell-as Jul 31, 2024
b47e058
PR feedback.
mitchell-as Jul 31, 2024
95f1adb
Simplify ImpactReport API.
mitchell-as Jul 31, 2024
928e86b
Simplified ChangeSummary API.
mitchell-as Jul 31, 2024
ab3b898
Merge branch 'version/0-46-0-RC1' into mitchell/dx-2955
mitchell-as Jul 31, 2024
33df984
Merge branch version/0-45-1-RC1 to adopt changes from PR #3429
as-builds Jul 31, 2024
1d66f33
Merge pull request #3419 from ActiveState/mitchell/dx-2955
mitchell-as Aug 1, 2024
fe00e88
Do not assume there is a local history when checking if a commit is w…
mitchell-as Aug 1, 2024
d1ce45d
Use volume-specific depot for Windows runtimes not on the main volume.
mitchell-as Aug 1, 2024
52df9e6
Do not concern the runtime with depot drive problems.
mitchell-as Aug 1, 2024
706b4e9
Merge branch 'version/0-46-0-RC1' into DX-2934
MDrakos Aug 1, 2024
22259e9
Fix panic
MDrakos Aug 1, 2024
3ee0685
Added comment based on PR feedback.
mitchell-as Aug 2, 2024
9c3dd32
Validate volumes before linking on Windows.
mitchell-as Aug 2, 2024
eb977f7
Merge pull request #3431 from ActiveState/mitchell/dx-2992
mitchell-as Aug 2, 2024
e69ad12
Change summary should only output line separator if there is a summar…
mitchell-as Aug 2, 2024
c761c6e
Output trailing line separator for CVE info.
mitchell-as Aug 2, 2024
e57fcfe
Make clone errors input errors.
mitchell-as Aug 2, 2024
81fddfe
Process build error
MDrakos Aug 2, 2024
b25a6ef
Fixed failing integration test.
mitchell-as Aug 2, 2024
bb7e9a1
Merge pull request #3435 from ActiveState/mitchell/dx-2991
mitchell-as Aug 2, 2024
e3c12f7
Merge pull request #3434 from ActiveState/mitchell/dx-2975
mitchell-as Aug 5, 2024
8765ef5
Merge pull request #3433 from ActiveState/mitchell/dx-2962
mitchell-as Aug 5, 2024
0d53ee0
Remove Windows shortcuts during uninstall.
mitchell-as Aug 5, 2024
b7c7b63
Also validate volumes before copying.
mitchell-as Aug 6, 2024
dcdc9bd
Remote installer should forward "--force" to installer.
mitchell-as Aug 5, 2024
41db1df
Verify that shortcuts are created on install.
mitchell-as Aug 6, 2024
e7768ac
Merge pull request #3439 from ActiveState/mitchell/dx-2993-3
mitchell-as Aug 6, 2024
ffa9c68
Merge pull request #3440 from ActiveState/mitchell/dx-2853
mitchell-as Aug 6, 2024
513da94
Merge pull request #3432 from ActiveState/mitchell/dx-2943
mitchell-as Aug 6, 2024
097b140
Merge branch 'version/0-46-0-RC1' into DX-2934
MDrakos Aug 6, 2024
781f2fa
Don't create new commit variable
MDrakos Aug 7, 2024
6f088b5
Remove redundant solve
MDrakos Aug 7, 2024
3527b20
Add timeout
MDrakos Aug 7, 2024
c3306fd
Merge pull request #3420 from ActiveState/DX-2934
MDrakos Aug 9, 2024
a225c1b
Log all args in CI tests and on dev machines.
mitchell-as Aug 12, 2024
669fbcd
Commit WIP
MDrakos Aug 12, 2024
d695173
Fix powershell not opening when execution policy restricted
Naatan Aug 12, 2024
b1a8efa
Add line ending
Naatan Aug 12, 2024
6ff1b5a
Merge pull request #3442 from ActiveState/mitchell/dx-2983
mitchell-as Aug 12, 2024
57f5e94
Revert using buildplanner ImpactReport endpoint to show change summary.
mitchell-as Aug 13, 2024
5b48da3
Initial implementation of `state checkout --from-archive`.
mitchell-as Aug 12, 2024
89dd3ec
Make org/namespace an optional argument since --from-archive does not…
mitchell-as Aug 13, 2024
78c04c7
`state checkout --from-archive` integration test should not need the …
mitchell-as Aug 13, 2024
07ba385
Fix unit test failure
Naatan Aug 13, 2024
cdb1408
Check build status after commit
MDrakos Aug 13, 2024
a2921a0
Merge pull request #3443 from ActiveState/DX-2852
Naatan Aug 13, 2024
e385ae6
Merge pull request #3446 from ActiveState/DX-2934
MDrakos Aug 13, 2024
e9f0904
Merge branch 'version/0-46-0-RC1' into DX-2966
MDrakos Aug 13, 2024
0bb4d84
Merge branch 'version/0-46-0-RC1' into mitchell/dx-3007
mitchell-as Aug 13, 2024
c8c14b6
Merge pull request #3445 from ActiveState/mitchell/dx-3007
mitchell-as Aug 14, 2024
5164883
Merge branch 'version/0-46-0-RC1' into DX-2966
MDrakos Aug 14, 2024
a21d536
Reorganize
MDrakos Aug 14, 2024
59bf4a7
Allow passing checkout archive as namespace argument.
mitchell-as Aug 14, 2024
1a878e6
Use constants for checkout archive files.
mitchell-as Aug 14, 2024
08b1feb
Wrap error.
mitchell-as Aug 14, 2024
89f2114
Move requirement logic inside report function
MDrakos Aug 14, 2024
7cf19c8
Extract method.
mitchell-as Aug 14, 2024
dfdf8ac
Use switch to clarify relations.
mitchell-as Aug 14, 2024
6b540bd
Rename option for readability.
mitchell-as Aug 14, 2024
b889013
Group runtime setup from archive options into a single struct.
mitchell-as Aug 14, 2024
ba718c4
Still fire download events when setting up from an archive.
mitchell-as Aug 14, 2024
78ffd03
Assert checkout from archive installs runtime files.
mitchell-as Aug 14, 2024
9ad4079
Remove unused field.
mitchell-as Aug 15, 2024
a03e3de
Rename argument.
mitchell-as Aug 15, 2024
f251055
Remove debug logging.
mitchell-as Aug 15, 2024
787aafa
Use buildplan for requirements calculation
MDrakos Aug 15, 2024
836f8a8
Applied PR feedback.
mitchell-as Aug 15, 2024
c193c9f
Separate artifacts to download from artifacts to unpack from archive.
mitchell-as Aug 15, 2024
fc61192
Change summary shows added dependencies for updates.
mitchell-as Aug 15, 2024
528fb3e
Add separate stagecommit method
MDrakos Aug 15, 2024
13bff0c
Show CVE info during `state checkout`.
mitchell-as Aug 16, 2024
72d1f0b
Cleanup namespace detection
Naatan Aug 16, 2024
d694c07
Remove unnecessary logic
Naatan Aug 16, 2024
acc92f3
Explicitly iterate over updated artifacts to look for added direct de…
mitchell-as Aug 16, 2024
d597f50
Show all dependencies on
MDrakos Aug 16, 2024
325c0fb
Revert changes made my import formatter
MDrakos Aug 16, 2024
e0de8ac
Merge pull request #3451 from ActiveState/nathan/DX-2981
Naatan Aug 16, 2024
f732f7e
Update integration test
MDrakos Aug 16, 2024
0b3216e
Merge pull request #3448 from ActiveState/mitchell/dx-2930
mitchell-as Aug 16, 2024
34cf30c
Merge pull request #3444 from ActiveState/mitchell/dx-2981
mitchell-as Aug 16, 2024
c1dc2a2
Return partial commit on failure
MDrakos Aug 16, 2024
13896e0
Remove expect
MDrakos Aug 16, 2024
2edb970
Merge remote-tracking branch 'origin/DX-2966' into mitchell/dx-2921
mitchell-as Aug 16, 2024
584f12a
CveReport should not assume there is an old build plan to reference.
mitchell-as Aug 16, 2024
80a3671
Fix panic
MDrakos Aug 16, 2024
c3cab7e
Merge branch 'version/0-46-0-RC1' into mitchell/dx-2921
mitchell-as Aug 16, 2024
3e6cbfb
Disable cve security prompt for docker checkout test.
mitchell-as Aug 16, 2024
a5861d9
Merge pull request #3452 from ActiveState/DX-3003
MDrakos Aug 16, 2024
d36ba8a
Merge pull request #3449 from ActiveState/DX-3008
MDrakos Aug 16, 2024
1e2073d
Merge branch 'version/0-46-0-RC1' into DX-2966
MDrakos Aug 16, 2024
e93bdae
Merge pull request #3447 from ActiveState/DX-2966
MDrakos Aug 16, 2024
b57860a
Fixed regression in checking out with a specific commitID.
mitchell-as Aug 19, 2024
37545fc
Merge branch 'version/0-46-0-RC1' into mitchell/dx-2921
mitchell-as Aug 19, 2024
d319723
Merge pull request #3453 from ActiveState/mitchell/dx-3014
mitchell-as Aug 19, 2024
5a23b1b
Merge pull request #3450 from ActiveState/mitchell/dx-2921
mitchell-as Aug 19, 2024
9aba7d0
Fixed disabling of security prompts in e2e tests.
mitchell-as Aug 20, 2024
d9d6352
Merge pull request #3454 from ActiveState/mitchell/dx-3018
mitchell-as Aug 20, 2024
1b30be2
If two artifacts provide the same file, re-link or re-copy that file …
mitchell-as Aug 20, 2024
eca219b
Add support for cycles
MDrakos Aug 20, 2024
07da8aa
Remove debug logs
MDrakos Aug 20, 2024
d8ddb0c
Fix manifest CVEs
MDrakos Aug 21, 2024
c501373
Harmonize runtime sourcing messages across runners.
mitchell-as Aug 21, 2024
ff1ad11
Merge pull request #3457 from ActiveState/DX-2997
MDrakos Aug 21, 2024
4eda2f2
Iterate over declared deployment files, not what's on disk.
mitchell-as Aug 21, 2024
c8ce0a5
Implement multi-spinner. Non-interactive has unpolished UI/UX at this…
Naatan Aug 21, 2024
0b7c404
Revert "Implement multi-spinner. Non-interactive has unpolished UI/UX…
Naatan Aug 21, 2024
a8827ea
Drop the commit progress spinner, instead everything is handled under…
Naatan Aug 21, 2024
fc84551
Smartlink.Link() should create directories as needed.
mitchell-as Aug 22, 2024
845e392
Break after finding a shared file.
mitchell-as Aug 22, 2024
53edce9
Drop commit progress from import as well
Naatan Aug 22, 2024
cb059c1
Merge pull request #3458 from ActiveState/mitchell/dx-2929
mitchell-as Aug 22, 2024
ecd356b
Merge remote-tracking branch 'origin/version/0-46-0-RC1' into DX-3016
Naatan Aug 22, 2024
3aa4976
Cleanup per PR feedback.
mitchell-as Aug 22, 2024
5ab1e8e
Fix tests
Naatan Aug 22, 2024
cd58629
Merge pull request #3459 from ActiveState/DX-3016
Naatan Aug 22, 2024
cc37a2a
Merge pull request #3455 from ActiveState/mitchell/dx-2913
mitchell-as Aug 22, 2024
6a1a242
Add more unit tests
MDrakos Aug 22, 2024
afab365
Update comments
MDrakos Aug 22, 2024
cf76af6
Enable tests and remove debug prints
MDrakos Aug 22, 2024
bd82284
Merge pull request #3456 from ActiveState/DX-3002
MDrakos Aug 23, 2024
cab0b0b
First attempt using aquasecurity/trivy-action to scan for CVEs during…
mitchell-as Aug 26, 2024
e6b1079
Address CVEs reported by trivy.
mitchell-as Aug 26, 2024
4eecaab
Ignore unfixed CVEs.
mitchell-as Aug 26, 2024
6410f3e
Scan all OS-specific binaries from a Linux container.
mitchell-as Aug 27, 2024
fa61840
Attempt to show scanned files/packages.
mitchell-as Aug 28, 2024
5123958
Merge pull request #3461 from ActiveState/mitchell/dx-2978-2
mitchell-as Aug 28, 2024
09eacdf
Fixed queries with no arguments.
mitchell-as Aug 29, 2024
9065ff1
Merge pull request #3468 from ActiveState/mitchell/dx-3034
mitchell-as Aug 29, 2024
f99747e
Prevent concurrency errors with envdef loading.
mitchell-as Aug 30, 2024
1aedb1c
Merge pull request #3469 from ActiveState/mitchell/dx-3009
mitchell-as Sep 3, 2024
b06d58d
Do not output CVE report or prompt when in structured output mode.
mitchell-as Sep 3, 2024
ad73915
Merge pull request #3473 from ActiveState/mitchell/dx-3036
mitchell-as Sep 3, 2024
8b53eb9
Do not re-link or re-copy a deployed file if it still exists.
mitchell-as Sep 4, 2024
201a1fc
Revert "Do not re-link or re-copy a deployed file if it still exists."
mitchell-as Sep 4, 2024
566ec7f
When re-linking or re-copying, ignore outside deployments.
mitchell-as Sep 4, 2024
0880873
Merge pull request #3477 from ActiveState/mitchell/dx-3037
mitchell-as Sep 4, 2024
dd10ee5
Merge pull request #3465 from ActiveState/mitchell/dx-3012
mitchell-as Aug 28, 2024
162fb93
Merge pull request #3479 from ActiveState/mitchell/dx-3012-2
mitchell-as Sep 5, 2024
fe2051f
Filter artifacts for reporting
MDrakos Sep 5, 2024
05c344f
Ignore log file for current process
MDrakos Sep 6, 2024
1162387
Fix unit tests
MDrakos Sep 6, 2024
0d2a7ae
Add raw buildplan for reference
MDrakos Sep 6, 2024
dd41b0c
Merge pull request #3482 from ActiveState/DX-2892
MDrakos Sep 6, 2024
56a14f9
Remove raw buildplan
MDrakos Sep 10, 2024
1151bde
Wrong libc should be an input error.
mitchell-as Sep 11, 2024
544d342
Update deprecated GitHub Actions.
mitchell-as Sep 10, 2024
dbf0ec8
Update unit test to reflect new bash path on GitHub Actions Windows r…
mitchell-as Sep 10, 2024
f9ffd04
Merge pull request #3488 from ActiveState/mitchell/dx-3041
mitchell-as Sep 11, 2024
78732f0
Revert "Filter artifacts for reporting"
Naatan Sep 16, 2024
07fa246
Do not validate commit ID from within projectfile.
mitchell-as Sep 16, 2024
56a1cb4
Merge pull request #3490 from ActiveState/mitchell/dx-3050
mitchell-as Sep 16, 2024
a9c1c8d
Add ability for runners to ignore async runtimes.
mitchell-as Sep 17, 2024
01d8fc4
Address all commands as per DX-2738
Naatan Sep 18, 2024
6c14a81
Fix test timeout
Naatan Sep 18, 2024
929f31e
Sort slices in buildplans so we always have a consistent format to wo…
Naatan Sep 18, 2024
2db48ce
Ensure dependencies returned don't contain duplicates
Naatan Sep 18, 2024
db48964
Only relate ingredients that connect directly to an artifact
Naatan Sep 18, 2024
e8283ce
Fix common dependency calculation
Naatan Sep 18, 2024
816f34c
Test to ensure we only relate ingredients to artifacts that are direc…
Naatan Sep 18, 2024
4343122
Show sub-dependencies if top level ingredient is also a common depend…
Naatan Sep 18, 2024
d2a3519
Merge pull request #3495 from ActiveState/mitchell/dx-3054
Naatan Sep 18, 2024
56e713f
Add FilterOutIngredients
Naatan Sep 18, 2024
7bb259f
Drop testing code
Naatan Sep 18, 2024
7f47fb8
Skip test that has its own issues
Naatan Sep 18, 2024
1abf130
Fix import cycle
Naatan Sep 18, 2024
b2342b7
Merge pull request #3498 from ActiveState/DX-3054
Naatan Sep 18, 2024
97030ae
Rename cleanup to sanitize and move sorting logic there
Naatan Sep 19, 2024
da1e745
Rename cleanup to sanitize and move sorting logic there
Naatan Sep 19, 2024
7a6ccc1
Remove unused mimetypes
Naatan Sep 19, 2024
948ebeb
Merge pull request #3496 from ActiveState/nathan/DX-3039
Naatan Sep 20, 2024
255d3f9
Test for hardlink support on Windows before doing it.
mitchell-as Sep 23, 2024
84273fa
Cleanup hard link checking.
mitchell-as Sep 23, 2024
03f30b1
Setup is responsible for knowing if the depot supports hard links or …
mitchell-as Sep 24, 2024
2219141
Fix nil pointer panic
Naatan Sep 24, 2024
bfedd74
Satisfy check-format
Naatan Sep 24, 2024
4087d13
Setup is responsible for determining hardlink support, not the depot.
mitchell-as Sep 24, 2024
bc69a84
Merge pull request #3504 from ActiveState/DX-3072
Naatan Sep 24, 2024
a93e6a1
If buildscripts are enabled, `state refresh` without a buildscript sh…
mitchell-as Sep 24, 2024
fdcf750
Merge branch 'version/0-46-0-RC1' into mitchell/dx-2943
mitchell-as Sep 24, 2024
f9f94b5
Merge branch 'version/0-46-0-RC1' into mitchell/dx-3073
mitchell-as Sep 24, 2024
2a2d4d7
Move hard link detection into constructor so it's only done once.
mitchell-as Sep 24, 2024
71e9128
Apply PR feedback suggestions.
mitchell-as Sep 24, 2024
847e40a
Requirements aren't guaranteed to resolve
Naatan Sep 24, 2024
99fd378
Don't enforce artifact <-> ingredient relation as artifacts produced …
Naatan Sep 24, 2024
d4008ea
Apply more PR feedback.
mitchell-as Sep 25, 2024
8550d6b
Merge pull request #3507 from ActiveState/mitchell/dx-3073
mitchell-as Sep 25, 2024
899fa42
Support identifying source behind python wheel
Naatan Sep 25, 2024
6a9f844
Drop unused code
Naatan Sep 25, 2024
51af785
Merge pull request #3502 from ActiveState/mitchell/dx-2943
mitchell-as Sep 25, 2024
70dc6a4
Don't enforce zero ingredient check
Naatan Sep 25, 2024
e69e7b9
Fix artifacts being filtered out just because they have no ingredient
Naatan Sep 25, 2024
4999497
Fix panic on simultaneous map write
Naatan Sep 25, 2024
2bca991
Add comment
Naatan Sep 25, 2024
b7b933f
Fix test
Naatan Sep 25, 2024
64d3b2a
Merge pull request #3508 from ActiveState/DX-3066
Naatan Sep 26, 2024
6aefa97
Added changelog for v0.46.0
Naatan Oct 4, 2024
89d6af3
Added v0.45.1 changelog entry
Naatan Jul 31, 2024
a09880c
Merge branch 'beta' into version/0-46-0-RC1
Naatan Oct 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
42 changes: 32 additions & 10 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,6 @@ jobs:
runs-on: ${{ matrix.sys.os }}
env:
ACTIVESTATE_CI: true
ACTIVESTATE_CLI_DISABLE_RUNTIME: true
SHELL: bash
GITHUB_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_SHA_OVERRIDE: ${{ github.event.pull_request.head.sha || github.sha }}
Expand All @@ -69,7 +68,7 @@ jobs:

- # === Install Go ===
name: Install Go
uses: actions/setup-go@v3
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}

Expand Down Expand Up @@ -393,20 +392,42 @@ jobs:

- # === Upload Session Artifacts ===
name: Upload Session Artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: session-build-${{ matrix.sys.os }}
path: build/

scan:
name: Scan
needs:
- os_specific
runs-on: ubuntu-latest
steps:
- name: Download All Build Session Artifacts
uses: actions/download-artifact@v4
with:
path: build/
merge-multiple: true

- name: Scan for CVEs
if: runner.os == 'Linux'
uses: aquasecurity/[email protected]
with:
scan-type: rootfs
scan-ref: build
list-all-pkgs: true
ignore-unfixed: true
format: table
exit-code: 1

# === Deploy job (runs once with combined artifacts from OS specific job) ===
deploy:
name: Deploy
needs:
- os_specific
- scan
runs-on: ubuntu-20.04
env:
ACTIVESTATE_CI: true
ACTIVESTATE_CLI_DISABLE_RUNTIME: true
SHELL: bash
GITHUB_REPO_TOKEN: ${{ secrets.GITHUB_TOKEN }}
GITHUB_SHA_OVERRIDE: ${{ github.event.pull_request.head.sha || github.sha }}
Expand All @@ -424,19 +445,20 @@ jobs:

- # === Install Go ===
name: Install Go
uses: actions/setup-go@v3
uses: actions/setup-go@v5
with:
go-version: ${{ matrix.go-version }}
go-version: 1.22.x

- # === Install State Tool ===
name: Install State Tool
uses: ActiveState/setup-state-tool@v1

- # === Download All Build Session Artifacts ===
name: Download All Build Session Artifacts
uses: actions/download-artifact@v2
uses: actions/download-artifact@v4
with:
path: build/
merge-multiple: true

- # === Sanitize All Session Artifacts ===
name: Sanitize All Session Artifacts
Expand Down Expand Up @@ -481,7 +503,7 @@ jobs:

- # === Cleanup Session Artifacts ===
name: Cleanup Session Artifacts
uses: geekyeggo/delete-artifact@v1
uses: geekyeggo/delete-artifact@v5
with:
name: |
session-build-ubuntu-20.04
Expand All @@ -490,7 +512,7 @@ jobs:

- # === Upload Artifacts ===
name: Upload Artifacts
uses: actions/upload-artifact@v2
uses: actions/upload-artifact@v4
with:
name: build
path: build/
4 changes: 2 additions & 2 deletions .github/workflows/propagate.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,14 @@ jobs:

- # === Checkout code ===
name: Checkout code
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GH_AUTOMATION_TOKEN }}

- # === Install Go ===
name: Install Go
uses: actions/setup-go@v3
uses: actions/setup-go@v5
with:
go-version: '1.22.x'

Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
steps:
- # Checkout Code
name: Checkout code
uses: actions/checkout@v2
uses: actions/checkout@v5

- # === Install Go ===
name: Install Go
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/verify.yml
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ jobs:

- # === Install Go ===
name: Install Go
uses: actions/setup-go@v3
uses: actions/setup-go@v5
with:
go-version: '1.22.x'

Expand Down
1 change: 0 additions & 1 deletion .golangci.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ linters-settings:
- (*github.com/ActiveState/cli/internal/testhelpers/e2e.SpawnedCmd).Wait
- (*github.com/ActiveState/cli/internal/testhelpers/e2e.Session).ClearCache
- (*github.com/ActiveState/cli/internal/testhelpers/e2e.Dirs).Close
- (*github.com/ActiveState/cli/pkg/platform/runtime/artifactcache.testArtifactCache).Store
- github.com/ActiveState/cli/internal/testhelpers/osutil.RemoveConfigFile
- (*github.com/ActiveState/cli/internal/logging.standardHandler).Emit
- (*github.com/ActiveState/cli/internal/logging.fileHandler).Emit
Expand Down
2 changes: 1 addition & 1 deletion activestate.generators.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ scripts:
language: bash
description: Generates graph server and client files
value: |
go install github.com/99designs/[email protected].24
go install github.com/99designs/[email protected].46
cd ./cmd/state-svc && gqlgen --verbose
- name: generate-test-update
language: bash
Expand Down
12 changes: 6 additions & 6 deletions activestate.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -55,20 +55,20 @@ scripts:
exit 1
fi
if ! type "golangci-lint" &> /dev/null; then
echo "golangci-lint was not found on your PATH, installing .."
echo "golangci-lint was not found on your PATH. Installing .."
go install github.com/golangci/golangci-lint/cmd/[email protected]
fi
git config core.hooksPath .githooks
if ! type "swagger" &> /dev/null; then
echo "swagger was not found on your PATH, installing .."
echo "swagger was not found on your PATH. Installing .."
go install github.com/go-swagger/go-swagger/cmd/[email protected]
fi
if ! type "actionlint" &> /dev/null; then
echo "actionlint was not found on your PATH, installing .."
echo "actionlint was not found on your PATH. Installing .."
go install github.com/rhysd/actionlint/cmd/[email protected]
fi
if { [[ "$GOOS" == "windows" ]] || [[ "$OS" == "Windows_NT" ]]; } && ! type "goversioninfo" &> /dev/null; then
echo "goversioninfo was not found on your PATH, installing .."
echo "goversioninfo was not found on your PATH. Installing .."
GOFLAGS="" go install github.com/josephspurrier/goversioninfo/cmd/[email protected]
fi
- name: install-deps-os
Expand All @@ -81,7 +81,7 @@ scripts:
if: ne .Shell "cmd"
value: |
if { [[ "$GOOS" == "windows" ]] || [[ "$OS" == "Windows_NT" ]]; } && ! type "goversioninfo" &> /dev/null; then
echo "goversioninfo was not found on your PATH, installing .."
echo "goversioninfo was not found on your PATH. Installing .."
GOFLAGS="" go install github.com/josephspurrier/goversioninfo/cmd/[email protected]
fi
- name: preprocess
Expand Down Expand Up @@ -319,7 +319,7 @@ scripts:
build/state --help
- name: debug
language: bash
description: "Runs a remote debugger, that can be hooked into from your IDE, example usage: `state run debug activate` (will debug `state activate`)"
description: "Runs a remote debugger that can be hooked into from your IDE. Example usage: `state run debug activate` (will debug `state activate`)"
standalone: true
value: dlv debug --headless --listen=:2346 --api-version=2 github.com/ActiveState/cli/cmd/state -- $@
- name: scripted
Expand Down
38 changes: 38 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,44 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to
[Semantic Versioning](https://semver.org/spec/v2.0.0.html).

## 0.46.0

### Added

* Added the `state export buildplan` command, which as the name implies exports the buildplan for a project commit.
* We now show dependency and CVE information when running `state commit` and `state import`, just like we do for
`state install`.
* We now show CVE information when running `state checkout`.
* When working with complex buildscripts that use ingredient revisions or more complex build rules we will now report
on these in `state manifest`.
* We now support CycloneDX and SPDX SBOMs for `state import`.
* We now provide unstable support for powershell when running `state shell` and other commands that interact with the
shell.

### Changed

* Runtime installations will now use a central artifact depot, and will use symlinks on mac/linux and hardlinks on
windows to deploy them for your various runtime. Reducing disk usage, and increasing installation speeds.
* We may still copy instead of link artifacts if the artifact in question requires runtime specific modifications.
* Streamlined the UI for sourcing runtimes, it should now be consistent across commands.
* We now also show dependency information when updating requirements.
* When running `state export log` with the `-i` (index) flag we no longer consider logs for the current command.

### Fixed

* Running `state init` with a language version specific to the minor version would sometimes not resolve the language.
* `state manifest` would sometimes not show the resolved version.
* Missing CVE information for languages in `state manifest`.
* Uninstalling state tool would leave you in a broken state that required manual intervention if and when the uninstall
failed halfway through.
* We would sometimes redundantly show available update information.
* Uninstalling State Tool on Windows would leave behind start menu shortcuts.
* Progress indication when solving and creating a commit (eg. when running `state install`) would sometimes overlap.
* Made several improvements to dependency calculations, which should give user a more accurate picture of what
dependencies were brought in by a given change.
* This only affects UI/UX. It does not imply any build or runtime functionality.
* Many localization and error message improvements and additions to help guide users to solutions.

## 0.45.1

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion cmd/state-exec/meta.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ import (
"path/filepath"
"strings"

"github.com/ActiveState/cli/pkg/platform/runtime/executors/execmeta"
"github.com/ActiveState/cli/pkg/executors/execmeta"
)

const (
Expand Down
19 changes: 16 additions & 3 deletions cmd/state-installer/cmd.go
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,7 @@ func main() {
var err error
cfg, err = config.New()
if err != nil {
multilog.Error("Could not set up configuration handler: " + errs.JoinMessage(err))
multilog.Critical("Could not set up configuration handler: " + errs.JoinMessage(err))
fmt.Fprintln(os.Stderr, err.Error())
exitCode = 1
}
Expand All @@ -108,7 +108,7 @@ func main() {
Interactive: false,
})
if err != nil {
multilog.Error("Could not set up output handler: " + errs.JoinMessage(err))
multilog.Critical("Could not set up output handler: " + errs.JoinMessage(err))
fmt.Fprintln(os.Stderr, err.Error())
exitCode = 1
return
Expand Down Expand Up @@ -148,7 +148,7 @@ func main() {
"state-installer",
"",
"Installs or updates the State Tool",
primer.New(nil, out, nil, nil, nil, nil, cfg, nil, nil, an),
primer.New(out, cfg, an),
[]*captain.Flag{ // The naming of these flags is slightly inconsistent due to backwards compatibility requirements
{
Name: "command",
Expand Down Expand Up @@ -251,6 +251,8 @@ func execute(out output.Outputer, cfg *config.Instance, an analytics.Dispatcher,

an.Event(anaConst.CatInstallerFunnel, "exec")

usingDefaultInstallPath := params.path == ""

if params.path == "" {
var err error
params.path, err = installation.InstallPathForChannel(constants.ChannelName)
Expand Down Expand Up @@ -296,6 +298,17 @@ func execute(out output.Outputer, cfg *config.Instance, an analytics.Dispatcher,
return errs.Wrap(err, "Could not check if install path is empty")
}
if !empty {
if usingDefaultInstallPath {
// We're having trouble pinning down why these errors are occurring, so report the list of
// existing files to Rollbar to help diagnose.
if files, err := os.ReadDir(params.path); err == nil {
fileList := []string{}
for _, file := range files {
fileList = append(fileList, filepath.Join(params.path, file.Name()))
}
rollbar.Critical("Installation path must be an empty directory: %s\nExisting files:\n%s", params.path, strings.Join(fileList, "\n"))
}
}
return locale.NewInputError("err_install_nonempty_dir", "Installation path must be an empty directory: {{.V0}}", params.path)
}
}
Expand Down
2 changes: 2 additions & 0 deletions cmd/state-installer/installer.go
Original file line number Diff line number Diff line change
Expand Up @@ -240,11 +240,13 @@ func installedOnPath(installRoot, channel string) (bool, string, error) {

// Check for state.exe in channel, root and bin dir
// This is to handle older state tool versions that gave incompatible input paths
// Also, fall back on checking for the install dir marker in case of a failed uninstall attempt.
candidates := []string{
filepath.Join(installRoot, channel, installation.BinDirName, stateCmd),
filepath.Join(installRoot, channel, stateCmd),
filepath.Join(installRoot, installation.BinDirName, stateCmd),
filepath.Join(installRoot, stateCmd),
filepath.Join(installRoot, installation.InstallDirMarker),
}
for _, candidate := range candidates {
if fileutils.TargetExists(candidate) {
Expand Down
2 changes: 1 addition & 1 deletion cmd/state-installer/test/integration/installer_int_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -178,7 +178,7 @@ func (suite *InstallerIntegrationTestSuite) TestInstallErrorTips() {
e2e.OptAppendEnv(fmt.Sprintf("%s=%s", constants.OverwriteDefaultSystemPathEnvVarName, dir)),
)

cp.ExpectInput()
cp.ExpectInput(e2e.RuntimeSourcingTimeoutOpt)
cp.SendLine("state command-does-not-exist")
cp.ExpectInput()
cp.SendLine("exit")
Expand Down
5 changes: 4 additions & 1 deletion cmd/state-remote-installer/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ func main() {
"state-installer",
"",
"Installs or updates the State Tool",
primer.New(nil, out, nil, nil, nil, nil, cfg, nil, nil, an),
primer.New(out, cfg, an),
[]*captain.Flag{ // The naming of these flags is slightly inconsistent due to backwards compatibility requirements
{
Name: "channel",
Expand Down Expand Up @@ -216,6 +216,9 @@ func execute(out output.Outputer, prompt prompt.Prompter, cfg *config.Instance,
if params.nonInteractive {
args = append(args, "-n") // forward to installer
}
if params.force {
args = append(args, "--force") // forward to installer
}
env := []string{
constants.InstallerNoSubshell + "=true",
}
Expand Down
7 changes: 5 additions & 2 deletions cmd/state-svc/internal/rtwatcher/watcher.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package rtwatcher

import (
"encoding/json"
"errors"
"os"
"runtime/debug"
"strconv"
Expand Down Expand Up @@ -81,7 +82,8 @@ func (w *Watcher) check() {
for i := range w.watching {
e := w.watching[i] // Must use index, because we are deleting indexes further down
running, err := e.IsRunning()
if err != nil && !errs.Matches(err, &processError{}) {
var errProcess *processError
if err != nil && !errors.As(err, &errProcess) {
multilog.Error("Could not check if runtime process is running: %s", errs.JoinMessage(err))
// Don't return yet, the conditional below still needs to clear this entry
}
Expand Down Expand Up @@ -110,7 +112,8 @@ func (w *Watcher) GetProcessesInUse(execDir string) []entry {
continue
}
isRunning, err := proc.IsRunning()
if err != nil && !errs.Matches(err, &processError{}) {
var errProcess *processError
if err != nil && !errors.As(err, &errProcess) {
multilog.Error("Could not check if runtime process is running: %s", errs.JoinMessage(err))
// Any errors should not affect fetching which processes are currently in use. We just won't
// include this one in the list.
Expand Down
4 changes: 2 additions & 2 deletions cmd/state-svc/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ func main() {
cfg, err = config.New()
if err != nil {
multilog.Critical("Could not initialize config: %v", errs.JoinMessage(err))
fmt.Fprintf(os.Stderr, "Could not load config, if this problem persists please reinstall the State Tool. Error: %s\n", errs.JoinMessage(err))
fmt.Fprintf(os.Stderr, "Could not load config. If this problem persists please reinstall the State Tool. Error: %s\n", errs.JoinMessage(err))
exitCode = 1
return
}
Expand Down Expand Up @@ -115,7 +115,7 @@ func run(cfg *config.Instance) error {
return runStart(out, "svc-start:mouse")
}

p := primer.New(nil, out, nil, nil, nil, nil, cfg, nil, nil, an)
p := primer.New(out, cfg, an)

showVersion := false
cmd := captain.NewCommand(
Expand Down
Loading
Loading