Using concurrency to cancel workflows

Explanation

Essential Checklist

[ ] The PR title and explanation each start with "Fix #bugnum: " (If this PR fixes part of an issue, prefix the title with "Fix part of #bugnum: ...".)
[ ] Any changes to scripts/assets files have their rationale included in the PR explanation.
[ ] The PR follows the style guide.
[ ] The PR does not contain any unnecessary code changes from Android Studio (reference).
[ ] The PR is made from a branch that's not called "develop" and is up-to-date with "develop".
[ ] The PR is assigned to the appropriate reviewers (reference).

For UI-specific PRs only

If your PR includes UI-related changes, then:

Add screenshots for portrait/landscape for both a tablet & phone of the before & after UI changes
For the screenshots above, include both English and pseudo-localized (RTL) screenshots (see RTL guide)
Add a video showing the full UX flow with a screen reader enabled (see accessibility guide)
For PRs introducing new UI elements or color changes, both light and dark mode screenshots must be included
Add a screenshot demonstrating that you ran affected Espresso tests locally & that they're passing

Coverage Report

Number of files assessed: 3

Coverage Below Minimum Threshold
Min Coverage Required: 99%

Covered File
Percentage
Line Coverage
Status

MathTokenizer.kt
94%
197 / 209
:x:

Succeeded Coverages

Covered File
Percentage
Line Coverage
Status

MathModel.ktThreshold 4%
100%
19 / 19
:white_check_mark:

Exempted Files

ActivityComponent.kt

Coverage Report

Number of files assessed: 3

Coverage Below Minimum Threshold
Min Coverage Required: 99%

File
Percentage
Lines Hit
Status

MathTokenizer.kt
94%
197 / 209
:x:

Succeeded Coverages

File
Percentage
Lines Hit
Status

MathModel.kt
100%
19 / 19
:white_check_mark:

Test File Exempted Cases

ActivityComponent.kt

Coverage Report

Number of files assessed: 5

Coverage Below Minimum Threshold
Min Coverage Required: 99%

File
Percentage
Lines Hit
Status

MathTokenizer.kt
94%
197 / 209
:x:

Exempted Failure Cases

File
Percentage
Lines Hit
Status
Required Percentage

FirebaseAuthWrapperImpl.kt
31%
5 / 16
:x:
70%

Succeeded Coverages

File
Percentage
Lines Hit
Status

MathModel.kt
100%
19 / 19
:white_check_mark:

Exempted Success Cases

File
Percentage
Lines Hit
Status
Exempted Percentage

ConsoleLogger.kt
54%
30 / 55
:white_check_mark:
20%

Test File Exempted Cases

ActivityComponent.kt

bazel run //scripts:run_coverage -- $(pwd) utility/src/main/java/org/oppia/android/util/parser/math/MathModel.kt utility/src/main/java/org/oppia/android/util/math/MathTokenizer.kt app/src/main/java/org/oppia/android/app/activity/ActivityComponent.kt utility/src/main/java/org/oppia/android/util/logging/ConsoleLogger.kt domain/src/main/java/org/oppia/android/domain/auth/FirebaseAuthWrapperImpl.kt --format=md

private const val MIN_THRESHOLD = 99
---
test_file_exemption {
  exempted_file_path: "utility/src/main/java/org/oppia/android/util/logging/ConsoleLogger.kt"
  override_min_coverage_percent_required: 20
}
test_file_exemption {
  exempted_file_path: "domain/src/main/java/org/oppia/android/domain/auth/FirebaseAuthWrapperImpl.kt"
  override_min_coverage_percent_required: 70
}

File
Percentage
Lines Hit
Status
Required

MathTokenizer.kt
94%
197 / 209
:x:

Exempted 🔽

FirebaseAuthWrapperImpl.kt
31%
5 / 16
:x:
70%

Coverage Report

Number of files assessed: 5

Coverage Below Minimum Threshold
Min Coverage Required: 99%

File
Coverage %
Lines Hit
Status
Required %

MathTokenizer.kt
94%
197 / 209
:x:
90%

Exempted :small_red_triangle_down:

Exempted :small_red_triangle_down:

FirebaseAuthWrapperImpl.kt
31%
5 / 16
:x:
70%

Succeeded Coverages

File
Percentage
Lines Hit
Status

MathModel.kt
100%
19 / 19
:white_check_mark:

Exempted Success Cases

File
Percentage
Lines Hit
Status
Exempted Percentage

ConsoleLogger.kt
54%
30 / 55
:white_check_mark:
20%

Test File Exempted Cases

ActivityComponent.kt

File
Coverage %
Lines Hit
Status
Required %

MathTokenizer.kt
94%
197 / 209
:x:
90%

FirebaseAuthWrapperImpl.kt
31%
5 / 16
:x:
70%

Exempted :small_red_triangle_down:

Exempted Files

ExemptedFile1.kt
31%
5 / 16
:white_check_mark:
10%

ExemptedFile2.kt
25%
8 / 32
:white_check_mark:
15%

Coverage Report

Number of files assessed: 5

Coverage Below Minimum Threshold
Min Coverage Required: 99%

File
Percentage
Lines Hit
Status

MathTokenizer.kt
94%
197 / 209
:x:

Exempted Failure Cases

File
Percentage
Lines Hit
Status
Required Percentage

FirebaseAuthWrapperImpl.kt
31%
5 / 16
:x:
70%

Succeeded Coverages

File
Percentage
Lines Hit
Status

MathModel.kt
100%
19 / 19
:white_check_mark:

Exempted Success Cases

File
Percentage
Lines Hit
Status
Exempted Percentage

ConsoleLogger.kt
54%
30 / 55
:white_check_mark:
20%

Test File Exempted Cases

ActivityComponent.kt

Coverage Report

Number of files assessed: 5

Coverage Below Minimum Threshold
Min Coverage Required: 99%

File
Percentage
Lines Hit
Status

MathTokenizer.kt
94%
197 / 209
:x:

Exempted Failure Cases

File
Percentage
Lines Hit
Status
Required Percentage

FirebaseAuthWrapperImpl.kt
31%
5 / 16
:x:
70%

Succeeded Coverages

File
Percentage
Lines Hit
Status

MathModel.kt
100%
19 / 19
:white_check_mark:

Exempted Success Cases

File
Percentage
Lines Hit
Status
Exempted Percentage

ConsoleLogger.kt
54%
30 / 55
:white_check_mark:
20%

Test File Exempted Cases

ActivityComponent.kt

Coverage Report

Number of files assessed: 5

File
Coverage
Lines Hit
Status
Required %

MathTokenizer.kt
94%
197 / 209
:x:
99%

Exempted :small_red_triangle_down:

FirebaseAuthWrapperImpl.kt
31%
5 / 16
:x:
70%

Succeeded Coverages

File
Coverage
Lines Hit
Status
Required %

MathModel.kt
100%
19 / 19
:white_check_mark:
99%

Exempted :small_red_triangle_down:

ConsoleLogger.kt
54%
30 / 55
:white_check_mark:
20%

Test File Exempted Cases

ActivityComponent.kt

File
Coverage
Lines Hit
Status
Required %

MathTokenizer.kt
94.26%
197 / 209
:x:
99%

Succeeded Coverages

File
Coverage
Lines Hit
Status
Required %

MathModel.kt
100.00%
19 / 19
:white_check_mark:
99%

Test File Exempted Cases

ActivityComponent.kt

Coverage Report

Number of files assessed: 3

Succeeded Coverages

File
Coverage
Lines Hit
Status
Min. Required

MathModel.kt
100.00%
19 / 19
:white_check_mark:
10%

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
10%

Test File Exempted Cases

ActivityComponent.kt

Coverage Report

Number of files assessed: 1

Test File Exempted Cases

ActivityComponent.kt

Coverage Report

Number of files assessed: 3
Coverage Analysis: PASS :white_check_mark:

Succeeded Coverages

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:white_check_mark:
10%

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
10%

Test File Exempted Cases

ActivityComponent.kt

Coverage Report

Number of files assessed: 3
Coverage Analysis: FAIL :x:

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:x:
101%

MathTokenizer.kt
94.26%
197 / 209
:x:
101%

Test File Exempted Cases

ActivityComponent.kt

Coverage Report

Number of files assessed: 3
Coverage Analysis: FAIL :x:

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:x:
99%

Succeeded Coverages

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:white_check_mark:
99%

Test File Exempted Cases

ActivityComponent.kt

Coverage Report

Number of files assessed: 1
Coverage Analysis: FAIL :x:

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:x:
101%

* represents tests with custom overridden pass/fail coverage thresholds

Coverage Report

Number of files assessed: 2
Coverage Analysis: FAIL :x:

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:x:
101%

* represents tests with custom overridden pass/fail coverage thresholds

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
10%

Coverage Report

Number of files assessed: 2
Coverage Analysis: FAIL :x:

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:x:
101% *

* represents tests with custom overridden pass/fail coverage thresholds

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
10%

Coverage Report

Number of files assessed: 2
Coverage Analysis: FAIL :x:

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:x:
101% *

* represents tests with custom overridden pass/fail coverage thresholds

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
1% *

* represents tests with custom overridden pass/fail coverage thresholds

Coverage Report
Results
Number of files assessed: 2
Coverage Analysis: FAIL :x:
Failing coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:x:
101% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
1% *

* represents tests with custom overridden pass/fail coverage thresholds

Coverage Report
Results
Number of files assessed: 2
Coverage Analysis: FAIL :x:

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:x:
101% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
1% *

* represents tests with custom overridden pass/fail coverage thresholds

Coverage Report
Results
Number of files assessed: 2
Coverage Analysis: FAIL :x:

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:x:
101% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
1% *

* represents tests with custom overridden pass/fail coverage thresholds

Coverage Report
Results
Number of files assessed: 3
Coverage Analysis: FAIL :x:

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:x:
101% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
1% *

* represents tests with custom overridden pass/fail coverage thresholds

Files Exempted from Coverage

ActivityComponent.kt

Coverage Report
Results
Number of files assessed: 3
Coverage Analysis: FAIL :x:
Overall Coverage: 94.73685

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:x:
101% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
1% *

* represents tests with custom overridden pass/fail coverage thresholds

Files Exempted from Coverage

ActivityComponent.kt

Coverage Report
Results
Number of files assessed: 3
Overall Coverage: 94.74%
Coverage Analysis: FAIL :x:

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:x:
101% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
1% *

* represents tests with custom overridden pass/fail coverage thresholds

Files Exempted from Coverage

ActivityComponent.kt

Coverage Report
Results

Number of files assessed:
3

Overall Coverage:
94.74%

Coverage Analysis:
FAIL :x:

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:x:
101% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
1% *

* represents tests with custom overridden pass/fail coverage thresholds

Files Exempted from Coverage

ActivityComponent.kt

Coverage Report
Results

Number of files assessed:
3

Total Coverage:
94.74%

Coverage Analysis:
FAIL :x:

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:x:
101% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
1% *

* represents tests with custom overridden pass/fail coverage thresholds

Files Exempted from Coverage

ActivityComponent.kt

Coverage Report
Results

Number of files assessed:
3

Overall Coverage:
94.74%

Coverage Analysis:
FAIL :x:

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

utility/src/main/java/org/oppia/android/util/parser/math/MathModel.kt
100.00%
19 / 19
:x:
101% *

domain/src/main/java/org/oppia/android/domain/classify/rules/multiplechoiceinput/MultipleChoiceInputModule.kt
100.00%
19 / 19
:x:
101% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
1% *

* represents tests with custom overridden pass/fail coverage thresholds

Files Exempted from Coverage

ActivityComponent.kt

Coverage Report
Results

Number of files assessed:
3

Overall Coverage:
94.74%

Coverage Analysis:
FAIL :x:

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

utility/src/main/java/org/oppia/android/util/parser/math/MathModel.kt
100.00%
19 / 19
:x:
101% *

domain/src/main/java/org/oppia/android/domain/classify/rules/multiplechoiceinput/MultipleChoiceInputModule.kt
100.00%
19 / 19
:x:
101% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
1% *

* represents tests with custom overridden pass/fail coverage thresholds

Files Exempted from Coverage

ActivityComponent.kt

Coverage Report
Results

Number of files assessed:
3

Overall Coverage:
94.74%

Coverage Analysis:
FAIL :x:

Failing coverage

File
Coverage
Lines Hit
Status
Min Required
Path

MathModel.kt
100.00%
19 / 19
:x:
101% *
utility/src/main/java/org/oppia/android/util/parser/math/MathModel.kt

MultipleChoiceInputModule.kt
100.00%
19 / 19
:x:
101% *
domain/src/main/java/org/oppia/android/domain/classify/rules/multiplechoiceinput/MultipleChoiceInputModule.kt

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
1% *

* represents tests with custom overridden pass/fail coverage thresholds

Files Exempted from Coverage

ActivityComponent.kt

Coverage Report
Results

Number of files assessed:
3

Overall Coverage:
94.74%

Coverage Analysis:
FAIL :x:

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
100.00%
19 / 19
:x:
101% *

MultipleChoiceInputModule.kt
100.00%
19 / 19
:x:
101% *

* represents tests with custom overridden pass/fail coverage thresholds

Dummy data just for template
Failing coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
0.00%
4 / 19
:x:
80% *

MultipleChoiceInputModule.kt
10.00%
4 / 19
:x:
80% *

* represents tests with custom overridden pass/fail coverage thresholds

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

utility/src/main/java/org/oppia/android/util/parser/math/MathModel.kt
100.00%
4 / 19
:x:
80% *

domain/src/main/java/org/oppia/android/domain/classify/rules/multiplechoiceinput/MultipleChoiceInputModule.kt
10.00%
4 / 19
:x:
80% *

* represents tests with custom overridden pass/fail coverage thresholds

Old one:
Failing coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.kt
10.00%
4 / 19
:x:
80% *

MultipleChoiceInputModule.kt
10.00%
4 / 19
:x:
80% *

* represents tests with custom overridden pass/fail coverage thresholds

graph TD
    A[Coverage Run Shard 1] --> B1[Coverage Report Shard 1.pb]
    A2[Coverage Run Shard 2] --> B2[Coverage Report Shard 2.pb]
    A3[Coverage Run Shard 3] --> B3[Coverage Report Shard 3.pb]

    B1 --> C[Report Combiner Script]
    B2 --> C
    B3 --> C

    C --> D[Coverage Reporter]

    style A fill:#ccf,stroke:#333,stroke-width:2px
    style A2 fill:#ccf,stroke:#333,stroke-width:2px
    style A3 fill:#ccf,stroke:#333,stroke-width:2px
    style B1 fill:#cfc,stroke:#333,stroke-width:2px
    style B2 fill:#cfc,stroke:#333,stroke-width:2px
    style B3 fill:#cfc,stroke:#333,stroke-width:2px
    style C fill:#ff9,stroke:#333,stroke-width:2px
    style D fill:#f9f,stroke:#333,stroke-width:4px

graph LR
    A[Coverage Run Shard 1] --> B1[Coverage Report Shard 1.pb]
    A2[Coverage Run Shard 2] --> B2[Coverage Report Shard 2.pb]
    A3[Coverage Run Shard 3] --> B3[Coverage Report Shard 3.pb]

    B1 --> C[Report Combiner Script]
    B2 --> C
    B3 --> C

    C --> D[Coverage Reporter]

    style A fill:#ccf,stroke:#333,stroke-width:2px
    style A2 fill:#ccf,stroke:#333,stroke-width:2px
    style A3 fill:#ccf,stroke:#333,stroke-width:2px
    style B1 fill:#cfc,stroke:#333,stroke-width:2px
    style B2 fill:#cfc,stroke:#333,stroke-width:2px
    style B3 fill:#cfc,stroke:#333,stroke-width:2px
    style C fill:#ff9,stroke:#333,stroke-width:2px
    style D fill:#f9f,stroke:#333,stroke-width:4px

Coverage Report
Results
Number of files assessed: 1
Overall Coverage: 100.00%
Coverage Analysis: PASS :white_check_mark:

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.ktutility/src/main/java/org/oppia/android/util/parser/math/MathModel.kt
100.00%
19 / 19
:white_check_mark:
70%

Coverage Report
Results
Number of files assessed: 2
Overall Coverage: 94.26%
Coverage Analysis: PASS :white_check_mark:

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.ktutility/src/main/java/org/oppia/android/util/math/MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
70%

Files Exempted from Coverage

ActivityComponent.ktapp/src/main/java/org/oppia/android/app/activity/ActivityComponent.kt

Coverage Report
Results
Number of files assessed: 2
Overall Coverage: 94.26%
Coverage Analysis: PASS :white_check_mark:

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.ktutility/src/main/java/org/oppia/android/util/math/MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
70%

Exempted coverage
Files Exempted from Coverage
ActivityComponent.ktapp/src/main/java/org/oppia/android/app/activity/ActivityComponent.kt
ActivityComponent.ktapp/src/main/java/org/oppia/android/app/activity/ActivityComponent.kt

Coverage Report
Results
Number of files assessed: 2
Overall Coverage: 94.26%
Coverage Analysis: PASS :white_check_mark:

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.ktutility/src/main/java/org/oppia/android/util/math/MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
70%

Exempted coverage
Files Exempted from Coverage ActivityComponent.ktapp/src/main/java/org/oppia/android/app/activity/ActivityComponent.kt

Coverage Report
Results
Number of files assessed: 5
Overall Coverage: 94.26%
Coverage Analysis: FAIL :x:

Failure Cases

File
Failure Reason

File.kt
No appropriate test file found for File.kt.

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

RunCoverage.ktscripts/src/java/org/oppia/android/scripts/coverage/RunCoverage.kt
51.38%
148 / 288
:x:
70%

MathModel.ktutility/src/main/java/org/oppia/android/util/parser/math/MathModel.kt
77.78%
7 / 9
:x:
80% *

MultipleChoiceInputModule.ktdomain/src/main/java/org/oppia/android/domain/classify/rules/multiplechoiceinput/MultipleChoiceInputModule.kt
10.00%
1 / 10
:x:
30% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.ktutility/src/main/java/org/oppia/android/util/math/MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
70%

Exempted coverage
Files exempted from coverage
ActivityComponent.ktapp/src/main/java/org/oppia/android/app/activity/ActivityComponent.kt
TestExemptedFile.ktapp/src/main/java/org/oppia/android/app/activity/TestExemptedFile.kt
SourceIncompatible.ktapp/src/main/java/org/oppia/android/app/activity/SourceIncompatible.kt

Coverage Report
Results
Number of files assessed: 3
Overall Coverage: 100.00%
Coverage Analysis: PASS :white_check_mark:

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.ktutility/src/main/java/org/oppia/android/util/parser/math/MathModel.kt
100.00%
19 / 19
:white_check_mark:
70%

Exempted coverage
Files exempted from coverage ActivityComponent.kt - This file is exempted from having a test file; skipping coverage check.app/src/main/java/org/oppia/android/app/activity/ActivityComponent.kt
HomeActivity.kt - This file is incompatible with code coverage tooling; skipping coverage check.app/src/main/java/org/oppia/android/app/home/HomeActivity.kt

Coverage Report
Results
Number of files assessed: 3
Overall Coverage: 100.00%
Coverage Analysis: PASS :white_check_mark:

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.ktutility/src/main/java/org/oppia/android/util/parser/math/MathModel.kt
100.00%
19 / 19
:white_check_mark:
70%

Exempted coverage
Files exempted from coverage ActivityComponent.kt - This file is exempted from having a test file; skipping coverage check.app/src/main/java/org/oppia/android/app/activity/ActivityComponent.kt
HomeActivity.kt - This file is incompatible with code coverage tooling; skipping coverage check.app/src/main/java/org/oppia/android/app/home/HomeActivity.kt

MD Report Template
Coverage Report
Results
Number of files assessed: 5
Overall Coverage: 94.26%
Coverage Analysis: FAIL :x:

Failure Cases

File
Failure Reason
Status

File.kt
No appropriate test file found for File.kt.
❌

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

RunCoverage.ktscripts/src/java/org/oppia/android/scripts/coverage/RunCoverage.kt
51.38%
148 / 288
:x:
70%

MathModel.ktutility/src/main/java/org/oppia/android/util/parser/math/MathModel.kt
77.78%
7 / 9
:x:
80% *

MultipleChoiceInputModule.ktdomain/src/main/java/org/oppia/android/domain/classify/rules/multiplechoiceinput/MultipleChoiceInputModule.kt
10.00%
1 / 10
:x:
30% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.ktutility/src/main/java/org/oppia/android/util/math/MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
70%

Exempted coverage
Files exempted from coverage

File
Exempted Reason

app/src/main/java/org/oppia/android/app/activity/ActivityComponent.kt
This file is exempted from having a test file ; skipping coverage check

MD Report Template
Coverage Report
Results
Number of files assessed: 5
Overall Coverage: 94.26%
Coverage Analysis: FAIL :x:

Failure Cases

File
Failure Reason
Status

File.kt
No appropriate test file found for File.kt.
❌

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

RunCoverage.ktscripts/src/java/org/oppia/android/scripts/coverage/RunCoverage.kt
51.38%
148 / 288
:x:
70%

MathModel.ktutility/src/main/java/org/oppia/android/util/parser/math/MathModel.kt
77.78%
7 / 9
:x:
80% *

MultipleChoiceInputModule.ktdomain/src/main/java/org/oppia/android/domain/classify/rules/multiplechoiceinput/MultipleChoiceInputModule.kt
10.00%
1 / 10
:x:
30% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathTokenizer.ktutility/src/main/java/org/oppia/android/util/math/MathTokenizer.kt
94.26%
197 / 209
:white_check_mark:
70%

Exempted coverage
Files exempted from coverage

Refer test_file_exemptions.textproto for the comprehensive list of file exemptions and their required coverage percentages.

File
Exempted Reason

app/src/main/java/org/oppia/android/app/activity/ActivityComponent.kt
This file is exempted from having a test file ; skipping coverage check

Coverage Report
Results
Number of files assessed: 1
Overall Coverage: 0.00%
Coverage Analysis: PASS :white_check_mark:

Exempted coverage
Files exempted from coverage HomeActivity.kt - This file is incompatible with code coverage tooling; skipping coverage check.app/src/main/java/org/oppia/android/app/home/HomeActivity.kt

Refer test_file_exemptions.textproto for the comprehensive list of file exemptions and their required coverage percentages.

graph TD
    A[Public API: withdraw] --> B[Condition: if needReceipt]
    B --> C[Method Call printReceipt]
    C --> D[Line println Receipt: Withdrew...]
    A --> E[Parameter needReceipt defaults to false]

Coverage Report
Results
Number of files assessed: 3
Overall Coverage: XX.XX%
Coverage Analysis: FAIL :x:

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

ComputeAabDifferences.ktscripts/src/java/org/oppia/android/scripts/coverage/RunCoverage.kt
XX.XX%
XX / XX
:x:
6% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

GitClient.ktscripts/src/java/org/oppia/android/scripts/common/GitClient.kt
87.18%
34 / 39
:white_check_mark:
70%

Exempted Coverage
Files exempted from coverage checks

File
Exempted Reason

HomeActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.

https://github.com/oppia/oppia-android/wiki/Oppia-Android-Code-Coverage

Coverage Report [^1]:
Results
Number of files assessed: 1
Overall Coverage: 6.45%
Coverage Analysis: PASS :white_check_mark:

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

ApkAnalyzerClient.ktutility/src/main/java/org/oppia/android/util/parser/math/Test.kt
6.45%
2 / 31
:white_check_mark:
6% *

* represents tests with custom overridden pass/fail coverage thresholds

[^1]: To learn more, visit the Oppia Android Code Coverage wiki page.

Coverage Report:
Results
Number of files assessed: 1
Overall Coverage: 6.45%
Coverage Analysis: PASS :white_check_mark:

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

ApkAnalyzerClient.ktutility/src/main/java/org/oppia/android/util/parser/math/Test.kt
6.45%
2 / 31
:white_check_mark:
6% *

* represents tests with custom overridden pass/fail coverage thresholds

To learn more, visit the Oppia Android Code Coverage wiki page.

Coverage Report
Results
Number of files assessed: 1
Overall Coverage: 6.45%
Coverage Analysis: PASS :white_check_mark:

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

ApkAnalyzerClient.ktutility/src/main/java/org/oppia/android/util/parser/math/Test.kt
6.45%
2 / 31
:white_check_mark:
6% *

* represents tests with custom overridden pass/fail coverage thresholds

To learn more, visit the Oppia Android Code Coverage wiki page

Coverage Report
Results
Number of files assessed: 3
Overall Coverage: XX.XX%
Coverage Analysis: FAIL :x:

Failing coverage

File
Coverage
Lines Hit
Status
Min Required

ComputeAabDifferences.ktscripts/src/java/org/oppia/android/scripts/coverage/RunCoverage.kt
XX.XX%
XX / XX
:x:
6% *

* represents tests with custom overridden pass/fail coverage thresholds

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

GitClient.ktscripts/src/java/org/oppia/android/scripts/common/GitClient.kt
87.18%
34 / 39
:white_check_mark:
70%

Exempted Coverage
Files exempted from coverage checks

File
Exempted Reason

HomeActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.

To learn more, visit the Oppia Android Code Coverage wiki page

Coverage Report
Results
Number of files assessed: 1
Overall Coverage: 0.00%
Coverage Analysis: PASS :white_check_mark:

Exempted coverage
Files exempted from coverage

File
Exemption Reason

HomeActivity.ktapp/src/main/java/org/oppia/android/app/home/HomeActivity.kt
This file is incompatible with code coverage tooling; skipping coverage check.

Refer test_file_exemptions.textproto for the comprehensive list of file exemptions and their required coverage percentages.

To learn more, visit the Oppia Android Code Coverage wiki page

Coverage Report
Results
Number of files assessed: 2
Overall Coverage: 100.00%
Coverage Analysis: PASS :white_check_mark:

Passing coverage

Files with passing code coverage

File
Coverage
Lines Hit
Status
Min Required

MathModel.ktutility/src/main/java/org/oppia/android/util/parser/math/MathModel.kt
100.00%
19 / 19
:white_check_mark:
70%

Exempted coverage
Files exempted from coverage

File
Exemption Reason

ActivityComponent.ktapp/src/main/java/org/oppia/android/app/activity/ActivityComponent.kt
This file is exempted from having a test file; skipping coverage check.

Refer test_file_exemptions.textproto for the comprehensive list of file exemptions and their required coverage percentages.

To learn more, visit the Oppia Android Code Coverage wiki page


Migrate from os.rename to shutil.move

os.rename is brittle and prone to failure. Among other things, it struggles with moving files between mount points. Something that's required if you have docker volumes.
See article for more info
https://giedrius.blog/2018/01/28/why-os-move-sometimes-does-not-work-and-why-shutil-move-is-the-savior/
Should also address https://github.com/dbr/tvnamer/issues/154

Thanks for the pull request!
This seems like a good change. I think this obsoletes the is_same_partition code and accompanying logic - would you have the time to look at removing that also in this PR?
(writing from a phone, so excuse the short explanation - let me know if it's unclear what I'm describing!)

@dbr I've removed the partition check. Looks like there are some flakey tests. Unexpected show returns from TVDB. Not sure if it's region related.

Sorry for the delay - cool, these changes look good to me. Thanks!
As you say, the tests failing are due to flakeyness with the tests using live data (e.g one of the tests was relying on a fake show not returning any results, but now is)


Wrote JNISingleton docs

I added a few descriptions and links to the empty JNISingleton class doc.

Thanks!

Cherry-picked for 3.4.

Cherry-picked for 3.3.4.


Support for k8s labelled metrics with gpu virtualization or time sharing

This PR adds k8s resources metrics like pod, namespace, and container to GPU metrics extracted by DCGM in GPU virtualized environments. Attributing GPU metrics to containers or virtual machines can be tricky when the GPU is shared but here the argument is that these metrics are by virtue of those containers using the GPU. Implementation-wise, the main assumption is that in virtualized environments the deviceId used by a container takes the form of {device-name/uid}/vgpu{number} and this needs to be mapped to metrics appropriately. The PR has been tested with NVIDIA T4 GPU on a GKE cluster with time sharing enabled.
Possibly related to

https://github.com/NVIDIA/dcgm-exporter/issues/144
https://github.com/NVIDIA/dcgm-exporter/issues/151
https://github.com/NVIDIA/dcgm-exporter/issues/63

@SachinVarghese,
Thank you for the PR.
Could you please sign off the commits as described here?

@nikkon-dev Thanks for your response, I have signed the commits now.


Add support for stable ingress version networking.k8s.io/v1

Duplicate of #27 - Forgot to check before creating pull request

Duplicate of #27 - Forgot to check before creating pull request


Reduce memory usage for chunked artifact uploads to MinIO

When using the MinIO storage driver for Actions Artifacts, we found that the chunked artifact required significantly more memory usage to both upload and merge than the local storage driver. This seems to be related to hardcoding a value of -1 for the size to the MinIO client which has a warning about memory usage in the respective docs. Specifying the size in both the upload and merge case reduces memory usage of the MinIO client.

Please update the branch.


[VL] Support posexplode function and code refactoring on GenerateExecTransformer

This patch contains 2 major changes:

Support posexplode for Velox backend.
Separate GenerateExecTransformer for Velox/CH backends. For Velox backend, the RelNode creation requires pre/projection for different generators. For CH backend, the RelNode creation is kept clean.

@zhouyuan @zzcclp Please kindly review. Thanks!

@marin-ma Thanks for helping on this, can you please do a rebase? There's a small conflict on metrics

===== Performance report for TPCH SF2000 with Velox backend, for reference only ====

query
log/native_4901_time.csv
log/native_master_03_12_2024_7481c8c78_time.csv
difference
percentage

q1
35.02
36.68
1.653
104.72%

q2
23.88
24.17
0.286
101.20%

q3
36.98
38.29
1.308
103.54%

q4
36.01
37.21
1.202
103.34%

q5
69.91
72.10
2.185
103.13%

q6
7.80
8.06
0.267
103.43%

q7
83.64
83.58
-0.061
99.93%

q8
87.02
83.85
-3.169
96.36%

q9
121.22
123.44
2.216
101.83%

q10
45.03
46.48
1.445
103.21%

q11
20.46
20.10
-0.358
98.25%

q12
24.65
26.96
2.318
109.40%

q13
47.33
49.00
1.667
103.52%

q14
20.54
19.51
-1.037
94.95%

q15
30.05
29.23
-0.822
97.27%

q16
15.00
14.86
-0.143
99.05%

q17
100.94
98.75
-2.189
97.83%

q18
142.19
142.45
0.268
100.19%

q19
13.82
15.03
1.212
108.77%

q20
26.72
26.64
-0.083
99.69%

q21
226.78
224.54
-2.241
99.01%

q22
14.07
14.13
0.059
100.42%

total
1229.06
1235.04
5.981
100.49%


Refactoring entire extension

Wait, what?

hmm

I find this to a bit of an odd pull request as it's basically removing all of the existing code and adding your own. Why not just make your own extension if you're removing all of this extension's existing code? I don't really understand.

Closing this pull request, basically unnecessary.

I find this to a bit of an odd pull request as it's basically removing all of the existing code and adding your own. Why not just make your own extension if you're removing all of this extension's existing code? I don't really understand.

Good point... that's why I decided to only make a draft 🙂

Even if it's only a draft, it's still removing all of the existing code, at least from what I can see. A refactor doesn't seem necessary here in the main repository, however you might be able to do something with your fork.

This has my attention anyway. Since this is basically another project that does the same thing. What are the advantages of both versions? I've not started using any yet so I'm interested to find out.

This has my attention anyway. Since this is basically another project that does the same thing. What are the advantages of both versions? I've not started using any yet so I'm interested to find out.

Please dm me on discord sleep-cult 🎄#3040 I'm sure discussion under this pr isn't wanted


Starforge official Hymn

https://www.youtube.com/watch?v=sHDmXtW9Yx0&list=RDsHDmXtW9Yx0&index=1
(this is what you listen to when compiling, right?)

Well it wasn't before, but it is now! =D


[Feature]: Make Remix extendable

What is the new or updated feature that you are suggesting?
Currently, extending and wrapping Remix is impossible without being required to copy and overwrite some of the public & private methods. The problematic areas are:

remix config
Currently you can't get the final RemixConfig without an existing remix.config.js file. Refactoring readConfig to receive AppConfig as parameter will make it possible to get the full config programmatically.
Another part that is problematic is defineConventionalRoutes which there's no way to tell it to ignore some file that do match routeModuleExts. I would expect it to use the tsconfig's include/exclude props.
compiler
Although the build and watch methods are exported from the compiler, there are some hard coded values that makes it impossible to extend it. I suggest a refactor to also expose the final configurations that will be used in esbuild.build.
Also moving the part of getting the external from the package.json to be received as parameter will also make it easier to extend (NX for example uses a complicated calculation to get the relevant dependencies and devDependencies of a project in the monorepo)

Why should this feature be included?
A good use case for this is adding postCSS support as part of the build process instead of having different npm scripts that needs to be ran before the build itself (and also forcing you to generate build files in your src because its needed before the build)
In my specific case, I'm creating an NX plugin that adds support for remix. currently I had to "hard copy" some of remix private methods in order to override some of the configuration, im also forced to generate some files before the build itself in the source directory. this also makes it impossible for me to use the existing NX methods and build processes because NX uses webpack.
If I had the final configurations available, I can use them as part of esbuild-loader in the generated NX's webpack config (i might need to convert the plugins to be compatible with webpack so it might be wise to consider refactoring them as well & decouple them from esbuild

Just saw that version 1.1.0 added ignoredRouteFiles which is very helpful although I would still expect remix to take the tsconfig into consideration when looking for files.


Style "Sample Program" sections

Pages for programs (ex. /biology ) have sample program sections. These sections include a sample schedule for a student for all four years of school. We need to come up with a way to style them that will make sense to the user.
Eventually these will probably be their own component, but it is probably faster to just style what we have now so it is ready for launch.

These sections have basic styling now. If time allows it would be nice to display this in two columns on large screens.

Basic styling is complete, just need to pull in the proper data from WordPress

We aren't going to use these components right now.


NCBITaxon file ncbitaxon_removed_subset.json is not downloaded before Uniprot api is queried

Need to update download_utils to ensure ncbitaxon_removed_subset.json is present in data/raw before download_from_api is called

@realmarcin try NERSC file hosting


Ignore file generated by cython

Summary
Add qiskit/quantum_info/states/cython/exp-val.cpp to .gitignore.

This is already being handled in https://github.com/Qiskit/qiskit-terra/pull/5984 which is also fixing other bugs in the new cython module

Oh, thanks.


[ITensors] [BUG] Can't measure complex operator on real MPS in expect

Description of bug
Using complex operator on real MPS in expect is throwing InexactError. I think the issue is coming from a function adapt which may be trying to convert the operator to a real-valued operator, which is possibly incorrect logic for that code since contraction of a complex operator with a real MPS is allowed.
Minimal code demonstrating the bug or unexpected behavior
Minimal runnable code
  N = 10
  s = siteinds("S=1/2",N)
  psi = randomMPS(s,linkdims=4)
  vals = expect(psi,"Sy")

Version information

Output from versioninfo():

julia> versioninfo()
Julia Version 1.8.2
Commit 36034abf260 (2022-09-29 15:21 UTC)
Platform Info:
  OS: macOS (arm64-apple-darwin21.3.0)
  CPU: 10 × Apple M1 Max
  WORD_SIZE: 64
  LIBM: libopenlibm
  LLVM: libLLVM-13.0.1 (ORCJIT, apple-m1)
  Threads: 1 on 8 virtual cores
Environment:
  JULIA_DIR = /Applications/Julia-1.8.app/Contents/Resources/julia

Output from using Pkg; Pkg.status("ITensors"):

julia> using Pkg; Pkg.status("ITensors")
Status `~/.julia/environments/v1.8/Project.toml`
  [9136182c] ITensors v0.3.20 `~/.julia/dev/ITensors`

It looks like it is related to GPU support enhancements.  Presumably the purpose of calling adapt is for adapting the precision of element type of the op to match precision of the MPS, but not to force Float<->Complex conversions.  If this is correct, then we want this sort of behaviour:
op{ComplexF64}=adapt(ComplexF64,op{ComplexF64})
op{ComplexF64}=adapt(Float64,op{ComplexF64})
op{ComplexF32}=adapt(ComplexF32,op{ComplexF64})
op{ComplexF32}=adapt(Float32,op{ComplexF64})
op{ComplexF16}=adapt(ComplexF16,op{ComplexF64})
op{ComplexF16}=adapt(Float16,op{ComplexF64})
op{Float64}=adapt(ComplexF64,op{Float64})
op{Float64}=adapt(Float64,op{Float64})
op{Float32}=adapt(ComplexF32,op{Float64})
op{Float32}=adapt(Float32,op{Float64})
op{Float16}=adapt(ComplexF16,op{Float64})
op{Float16}=adapt(Float16,op{Float64})

@JanReimers assessment is correct. adapt from Adapt.jl is being used to handle conversion to GPU when the MPS is on GPU, as well as element type conversion (for example if the MPS is single precision, this makes sure the op is also single precision). However, the default conversion/adaption from adapt is a bit too strict right now if the op is complex but the MPS is real.
One way to solve this would be to define a custom adaptor to handle this case, as described here: https://github.com/JuliaGPU/Adapt.jl/blob/4c07cccd182bd36a7cbb288d64c8281dd7be665d/src/Adapt.jl#L5-L39. It would mostly just do conversion of the element type, but also be less strict about adapting complex values to real values (i.e. in this case when the MPS is real but the ops are complex). The reason is that we don't want strict conversion of the element type, as Jan laid out. Maybe we can call it RealOrComplex{T}, with the interface:
adapt(RealOrComplex(Array{Float32}), ::Array{Float64})::Array{Float32}
adapt(RealOrComplex(Array{ComplexF32}), ::Array{Float64})::Array{ComplexF32}
adapt(RealOrComplex(Array{Float32}), ::Array{ComplexF64})::Array{ComplexF32} # Currently broken for `adapt(Array{ComplexF32}, ::Array{Float64})

The name RealOrComplex would mean that the desired element type is understood to be real or complex, independent of the actual element type that is specified.
An alternative would be to first construct the ops and analyze their element types at the beginning, and convert the MPS to complex if the ops are complex. But I think it would be nice to have a more general solution based on Adapt.jl since I think this will be an issue that will come up in more places than just expect/correlation_matrix.
Ultimately, the op function should have some ability to specify the data type and element type, but I think that would be handled by adapt anyway. For example: op(Float32, "X", s, 3) or op(CuVector{Float64}, "X", s, 3). But I think that should be handled by adapt internally.

Related: https://itensor.discourse.group/t/correlation-matrix-of-complex-operators/584

I got it working, and ready to make a PR. However, there is already a RealOrComplex defined in the ITensors module (itensor.jl), with the definition
const RealOrComplex{T} = Union{T,Complex{T}}

Any thoughts about what name to use for the Adapt one? It could be RealOrComplexAdaptor but that's long. Maybe that's ok though.

What about MaybeComplexAdaptor? Then it reads like adapt(MaybeComplexAdaptor(Float32), T), for example.

I'm good with that.
One other question is about the type that goes into the adaptor. (This is something that's still a bit magical about Adapt overall to me.)
For this bug, the argument on the right will be an ITensor, formed by calling op which may or may not have complex storage. The desired behavior here is to adapt or change the storage container type (say from Vector to CuVector) or element precision without changing the "complexness" of the element type.
So for that specific example (adapting an ITensor) would we want the call to look like:

adapt(MaybeComplexAdaptor(Vector{Float64}), O)  <-- this is closer to what it is right now
adapt(MaybeComplexAdaptor(Float64), O)

I think we can support both, but that is up to us. For this case we want the version adapt(MaybeComplexAdaptor(Vector{Float64}), O) but for other cases we might want adapt(MaybeComplexAdaptor(Float64), O) as well.

Sounds good. Would those have different behavior?

Yeah, because adapt(MaybeComplexAdaptor(Float64), O) would just preserve the data type (preserve if O is on GPU or CPU) but adapt(MaybeComplexAdaptor(Vector{Float64}), O) would move the data to CPU.

So for example adapt(MaybeComplexAdaptor(Float32), O) would be useful since it could be a way of specifying that you want single precision.

Great. I think I get it now - very helpful. I was just a bit catching up on the intended interface and behavior of adapt. It still has some magical aspects, but is nevertheless very useful in these contexts.

I think basically we can define our own "adaptors" to have any behavior, and you can think of adapt as a way to "reach down" into a nested data structure, where the adaptor works at the low level of the data structure. So for example our adaptors could work on an ITensor, Vector{ITensor}, ITensorNetwork, etc. And the point is that the adaptor only has to be defined on some low level data structure like Vector or CuVector and then it automatically works for all of those complicated nested data structures.

And specifically, you overload Adapt.adapt_storage on basic data types like numbers to get your new adaptor to work for any data structure.
Adapt.adapt_structure overloads are used to define how adapt should recreate a nested type once the data storage is adapted, so those are universal for all adaptors.


Failed to find the module create_flask_app

Running the command create_flask_app my-app results in an error saying that the module create-flask-app was not found.

What's your python and setuptools version?


Make generated client and all its functions isolated (Persist Tool)

Related issue: #3503
Describe your task(s)
This task is for the tooling side changes. DB engine changes are tracked in #3503

Closing as these were addressed with model definition design change


chore(p-json-schema-form): set class name

To Reviewers

[x] Skipping review is not a problem (style, chore ONLY)
[ ] Not that difficult

Type of Change

[ ] New feature
[ ] Bug fixes
[ ] Feature improvement

[ ] These changes require a usage change

[x] Others (performance improvement, refactoring, CI/CD, etc.)

Checklist

[ ] Updated Storybook documents
[ ] Tested with console

Description
SSIA
Things to Talk About

:tada: This PR is included in version 1.1.0-beta.386 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


[microsoft-ui-uiautomation] Build error on x64-windows

Package<EMAIL_ADDRESS>Host Environment

Host: x64-windows
Compiler: MSVC 19.39.33522.0
vcpkg-tool version: 2024-02-07-8a83681f921b10d86ae626fd833c253f4f8c355b
vcpkg-scripts version: 8a54b0964 2024-03-12 (8 days ago)

To Reproduce
vcpkg install microsoft-ui-uiautomation
Failure logs
-- Note: microsoft-ui-uiautomation only supports static library linkage. Building static library.
-- Downloading https://github.com/Microsoft/Microsoft-UI-UIAutomation/archive/0.1.0.tar.gz -> Microsoft-Microsoft-UI-UIAutomation-0.1.0.tar.gz...
[DEBUG] To include the environment variables in debug output, pass --debug-env
[DEBUG] Trying to load bundleconfig from D:\vcpkgUIA\vcpkg-bundle.json
[DEBUG] Failed to open: D:\vcpkgUIA\vcpkg-bundle.json
[DEBUG] Bundle config: readonly=false, usegitregistry=false, embeddedsha=nullopt, deployment=Git, vsversion=nullopt
[DEBUG] Metrics enabled.
[DEBUG] Feature flag 'binarycaching' unset
[DEBUG] Feature flag 'compilertracking' unset
[DEBUG] Feature flag 'registries' unset
[DEBUG] Feature flag 'versions' unset
[DEBUG] Feature flag 'dependencygraph' unset
Downloading https://github.com/Microsoft/Microsoft-UI-UIAutomation/archive/0.1.0.tar.gz
error: Failed to download from mirror set
error: https://github.com/Microsoft/Microsoft-UI-UIAutomation/archive/0.1.0.tar.gz: failed: status code 404
[DEBUG] D:\a\_work\1\s\src\vcpkg\base\downloads.cpp(1030):
[DEBUG] Time in subprocesses: 0us
[DEBUG] Time in parsing JSON: 3us
[DEBUG] Time in JSON reader: 0us
[DEBUG] Time in filesystem: 26467us
[DEBUG] Time in loading ports: 0us
[DEBUG] Exiting after 875 ms (807810us)

CMake Error at scripts/cmake/vcpkg_download_distfile.cmake:32 (message):

      Failed to download file with error: 1
      If you are using a proxy, please check your proxy setting. Possible causes are:

      1. You are actually using an HTTP proxy, but setting HTTPS_PROXY variable
         to `https://address:port`. This is not correct, because `https://` prefix
         claims the proxy is an HTTPS proxy, while your proxy (v2ray, shadowsocksr
         , etc..) is an HTTP proxy. Try setting `http://address:port` to both
         HTTP_PROXY and HTTPS_PROXY instead.

      2. If you are using Windows, vcpkg will automatically use your Windows IE Proxy Settings
         set by your proxy software. See https://github.com/microsoft/vcpkg-tool/pull/77
         The value set by your proxy might be wrong, or have same `https://` prefix issue.

      3. Your proxy's remote server is out of service.

      If you've tried directly download the link, and believe this is not a temporary
      download server failure, please submit an issue at https://github.com/Microsoft/vcpkg/issues
      to report this upstream download server failure.

Call Stack (most recent call first):
  scripts/cmake/vcpkg_download_distfile.cmake:270 (z_vcpkg_download_distfile_show_proxy_and_fail)
  scripts/cmake/vcpkg_from_github.cmake:106 (vcpkg_download_distfile)
  ports/microsoft-ui-uiautomation/portfile.cmake:4 (vcpkg_from_github)
  scripts/ports.cmake:175 (include)

this is my # portfile.cmake
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/Microsoft-UI-UIAutomation
REF "${VERSION}"
SHA512 0
HEAD_REF main
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(PACKAGE_NAME "Microsoft-UI-UIAutomation")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY)

this is the vcpkg.json
{
"name": "microsoft-ui-uiautomation",
"version": "0.1.0",
"description": "Microsoft UI Automation library",
"homepage": "https://github.com/microsoft/Microsoft-UI-UIAutomation",
"license": "MIT",
"dependencies": [
{
"name" : "vcpkg-cmake",
"host" : true
},
{
"name" : "vcpkg-cmake-config",
"host" : true
},
"fmt"
]
}

vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/Microsoft-UI-UIAutomation
REF "${VERSION}"
SHA512 0
HEAD_REF main
)

The value of REF "${VERSION}" comes from "version": "0.1.0" in vcpkg.json, but the upstream does not provide some archives with version 0.1.0, so you need to write like this:
vcpkg_from_github(
    OUT_SOURCE_PATH SOURCE_PATH
    REPO Microsoft/Microsoft-UI-UIAutomation
    REF d8c87fae212678915d9b73505e188c3b63db0d79
    SHA512 4266d5f236ee7f4e2daf02177544876f025b6ec04e9ce0ad63afd0c4674ef1411865a9188d6a8a3a13b64bab1da70bebba25f03b3fc1bf39272f0c04bcbbe28f
    HEAD_REF main
)

d8c87fae212678915d9b73505e188c3b63db0d79 is the latest commit: https://github.com/microsoft/Microsoft-UI-UIAutomation/commit/d8c87fae212678915d9b73505e188c3b63db0d79.

{
"name": "microsoft-ui-uiautomation",
"version": "0.1.0",

Generally, if there is no official release from the upstream, we recommend using the date of the latest commit:
{
    "name": "microsoft-ui-uiautomation",
    "version-date": "2022-04-26",

thanks for the fixes.. I see next set of errors after taking in the suggestions mentioned above.
[1/2] "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe" -E chdir ".." "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe" "D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/src/3b63db0d79-a1bfd272c1.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=D:/vcpkgUIA/packages/microsoft-ui-uiautomation_x64-windows" "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" "-DCMAKE_MAKE_PROGRAM=C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=D:/vcpkgUIA/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v143" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=D:/vcpkgUIA/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=D:/vcpkgUIA" "-D_VCPKG_INSTALLED_DIR=D:/vcpkgUIA/installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
FAILED: ../CMakeCache.txt
"C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe" -E chdir ".." "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe" "D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/src/3b63db0d79-a1bfd272c1.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Release" "-DCMAKE_INSTALL_PREFIX=D:/vcpkgUIA/packages/microsoft-ui-uiautomation_x64-windows" "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" "-DCMAKE_MAKE_PROGRAM=C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=D:/vcpkgUIA/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v143" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=D:/vcpkgUIA/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=D:/vcpkgUIA" "-D_VCPKG_INSTALLED_DIR=D:/vcpkgUIA/installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
CMake Warning:
Ignoring extra path from command line:
"D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/src/3b63db0d79-a1bfd272c1.clean"
CMake Error: The source directory "D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/src/3b63db0d79-a1bfd272c1.clean" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
[2/2] "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe" -E chdir "../../x64-windows-dbg" "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe" "D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/src/3b63db0d79-a1bfd272c1.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=D:/vcpkgUIA/packages/microsoft-ui-uiautomation_x64-windows/debug" "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" "-DCMAKE_MAKE_PROGRAM=C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=D:/vcpkgUIA/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v143" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=D:/vcpkgUIA/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=D:/vcpkgUIA" "-D_VCPKG_INSTALLED_DIR=D:/vcpkgUIA/installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
FAILED: ../../x64-windows-dbg/CMakeCache.txt
"C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe" -E chdir "../../x64-windows-dbg" "C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/CMake/bin/cmake.exe" "D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/src/3b63db0d79-a1bfd272c1.clean" "-G" "Ninja" "-DCMAKE_BUILD_TYPE=Debug" "-DCMAKE_INSTALL_PREFIX=D:/vcpkgUIA/packages/microsoft-ui-uiautomation_x64-windows/debug" "-DFETCHCONTENT_FULLY_DISCONNECTED=ON" "-DCMAKE_MAKE_PROGRAM=C:/Program Files/Microsoft Visual Studio/2022/Professional/Common7/IDE/CommonExtensions/Microsoft/CMake/Ninja/ninja.exe" "-DBUILD_SHARED_LIBS=OFF" "-DVCPKG_CHAINLOAD_TOOLCHAIN_FILE=D:/vcpkgUIA/scripts/toolchains/windows.cmake" "-DVCPKG_TARGET_TRIPLET=x64-windows" "-DVCPKG_SET_CHARSET_FLAG=ON" "-DVCPKG_PLATFORM_TOOLSET=v143" "-DCMAKE_EXPORT_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY=ON" "-DCMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY=ON" "-DCMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP=TRUE" "-DCMAKE_VERBOSE_MAKEFILE=ON" "-DVCPKG_APPLOCAL_DEPS=OFF" "-DCMAKE_TOOLCHAIN_FILE=D:/vcpkgUIA/scripts/buildsystems/vcpkg.cmake" "-DCMAKE_ERROR_ON_ABSOLUTE_INSTALL_DESTINATION=ON" "-DVCPKG_CXX_FLAGS=" "-DVCPKG_CXX_FLAGS_RELEASE=" "-DVCPKG_CXX_FLAGS_DEBUG=" "-DVCPKG_C_FLAGS=" "-DVCPKG_C_FLAGS_RELEASE=" "-DVCPKG_C_FLAGS_DEBUG=" "-DVCPKG_CRT_LINKAGE=dynamic" "-DVCPKG_LINKER_FLAGS=" "-DVCPKG_LINKER_FLAGS_RELEASE=" "-DVCPKG_LINKER_FLAGS_DEBUG=" "-DVCPKG_TARGET_ARCHITECTURE=x64" "-DCMAKE_INSTALL_LIBDIR:STRING=lib" "-DCMAKE_INSTALL_BINDIR:STRING=bin" "-D_VCPKG_ROOT_DIR=D:/vcpkgUIA" "-D_VCPKG_INSTALLED_DIR=D:/vcpkgUIA/installed" "-DVCPKG_MANIFEST_INSTALL=OFF"
CMake Warning:
Ignoring extra path from command line:
"D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/src/3b63db0d79-a1bfd272c1.clean"
CMake Error: The source directory "D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/src/3b63db0d79-a1bfd272c1.clean" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.
ninja: build stopped: subcommand failed.

CMake Error: The source directory "D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/src/3b63db0d79-a1bfd272c1.clean" does not appear to contain CMakeLists.txt.
Specify --help for usage, or press the help button on the CMake GUI.

Some projects are not built with CMake, you need to choose the appropriate build function in vcpkg based on the upstream build method. According to readme-ov-file#building, the upstream is built using MSBuild, so you can refer to the following similar ports:
ports/unrar/portfile.cmake
ports/libfabric/portfile.cmake
Related docs:
vcpkg/concepts/ports.md
vcpkg/get_started/get-started-packaging.md

thanks , i updated my ports to use msbuild.
i see the following error now:
PS D:\vcpkgUIA> .\vcpkg.exe install microsoft-ui-uiautomation --overlay-ports=D:\VCPKGUIA
warning: The vcpkg D:\vcpkgUIA\vcpkg.exe is using detected vcpkg root D:\vcpkgUIA and ignoring mismatched VCPKG_ROOT environment value D:\vcpkg. To suppress this message, unset the environment variable or use the --vcpkg-root command line switch.
warning: In the September 2023 release, the default triplet for vcpkg libraries changed from x86-windows to the detected host triplet (x64-windows). For the old behavior, add --triplet x86-windows . To suppress this message, add --triplet x64-windows .
Computing installation plan...
The following packages will be built and installed:
microsoft-ui-uiautomation:x64-windows@2022-04-26
Detecting compiler hash for triplet x64-windows...
Restored 0 package(s) from C:\Users\shtiruma\AppData\Local\vcpkg\archives in 163 us. Use --debug to see more details.
Installing 1/1<EMAIL_ADDRESS>Building<EMAIL_ADDRESS>-- Using cached Microsoft-Microsoft-UI-UIAutomation-d8c87fae212678915d9b73505e188c3b63db0d79.tar.gz.
-- Cleaning sources at D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/src/3b63db0d79-a1bfd272c1.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source D:/vcpkgUIA/downloads/Microsoft-Microsoft-UI-UIAutomation-d8c87fae212678915d9b73505e188c3b63db0d79.tar.gz
-- Using source at D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/src/3b63db0d79-a1bfd272c1.clean
-- Found external ninja('1.11.0').
-- Getting CMake variables for x64-windows
-- Building UIAutomation.sln for Release
-- Building UIAutomation.sln for Debug
-- Installing: D:/vcpkgUIA/packages/microsoft-ui-uiautomation_x64-windows/share/microsoft-ui-uiautomation/copyright
-- Performing post-build validation
warning: The folder /include is empty or not present. This indicates the library was not correctly installed.
error: Found 1 post-build check problem(s). To submit these ports to curated catalogs, please first correct the portfile: D:\vcpkgUIA\ports\microsoft-ui-uiautomation\portfile.cmake
Stored binaries in 1 destinations in 42 s.
Elapsed time to handle microsoft-ui-uiautomation:x64-windows: 4.4 min
microsoft-ui-uiautomation:x64-windows package ABI: 8e9c6594d5987a176ac3e160f5dbcd6832367452e86c86921f675e68c23c5253
Total install time: 4.4 min
PS D:\vcpkgUIA>

portfile.cmake
vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/Microsoft-UI-UIAutomation
REF d8c87fae212678915d9b73505e188c3b63db0d79
SHA512 4266d5f236ee7f4e2daf02177544876f025b6ec04e9ce0ad63afd0c4674ef1411865a9188d6a8a3a13b64bab1da70bebba25f03b3fc1bf39272f0c04bcbbe28f
HEAD_REF main
)
vcpkg_msbuild_install(
SOURCE_PATH "${SOURCE_PATH}/src/UIAutomation/"
PROJECT_SUBPATH "UIAutomation.sln"
OPTIONS
"/r:True"
"/p:RestorePackagesConfig=True"
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(PACKAGE_NAME "Microsoft-UI-UIAutomation")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}/usage" COPYONLY)

{
"name": "microsoft-ui-uiautomation",
"version-date": "2022-04-26",
"description": "Microsoft UI Automation library",
"homepage": "https://github.com/microsoft/Microsoft-UI-UIAutomation",
"license": "MIT",
"dependencies": [
{
"name": "vcpkg-msbuild",
"host": true,
"platform": "windows"
}
]
}

@MonicaLiu0311 , there is this PR: https://github.com/microsoft/vcpkg/pull/37389/checks, where i need help with fixes.
The posrt for which I am writing this is only availbel for Windows.. so I donot want this to run for other platforms. how do i fix it in my portfile so that other builds like for android etc do not run..

If the upstream itself does not support triplets other than windows, you can use "supports": " " in vcpkg.json to control it. like:
ports/libfabric/vcpkg.json#L7
Otherwise, add failed triplets to scripts/ci.baseline.txt(But we generally recommend supporting as many triplets as possible when adding new ports, unless the current problem cannot be solved...). like:
scripts/ci.baseline.txt#L91-L95

I see the latest error as :
-- Using cached Microsoft-Microsoft-UI-UIAutomation-d8c87fae212678915d9b73505e188c3b63db0d79.tar.gz.
-- Cleaning sources at D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/src/3b63db0d79-a1bfd272c1.clean. Use --editable to skip cleaning for the packages you specify.
-- Extracting source D:/vcpkgUIA/downloads/Microsoft-Microsoft-UI-UIAutomation-d8c87fae212678915d9b73505e188c3b63db0d79.tar.gz
-- Using source at D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/src/3b63db0d79-a1bfd272c1.clean
-- Building microsoft-ui-uiautomation for Windows
-- SOURCE_PATH: D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/src/3b63db0d79-a1bfd272c1.clean
-- VCPKG_CMAKE_SYSTEM_NAME:
-- VCPKG_TARGET_TRIPLET:
-- Found external ninja('1.11.0').
-- Getting CMake variables for x64-windows
-- Building UiaOperationAbstraction/UiaOperationAbstraction.vcxproj for Release
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:112 (message):
Command failed: msbuild D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/x64-windows-rel/UiaOperationAbstraction/UiaOperationAbstraction.vcxproj /p:Configuration=Release /r:True /p:RestorePackagesConfig=True /t:Rebuild /p:ForceImportAfterCppProps=D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/x64-windows/vcpkg_msbuild.props /p:ForceImportAfterCppTargets=D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/x64-windows/vcpkg_msbuild.targets /t:Rebuild /p:UseMultiToolTask=true /p:MultiProcMaxCount=13 /p:EnforceProcessCountAcrossBuilds=true /m:13 -maxCpuCount:13 /p:Platform=x64 /p:PlatformTarget=x64 /p:PlatformToolset=v143 /p:WindowsTargetPlatformVersion=10.0.22621.0 /p:VcpkgApplocalDeps=false /p:VcpkgManifestInstall=false /p:VcpkgManifestEnabled=false /p:VcpkgEnabled=false /p:VcpkgTriplet=x64-windows /p:VcpkgInstalledDir=D:/vcpkgUIA/installed
Working Directory: D:/vcpkgUIA/buildtrees/microsoft-ui-uiautomation/x64-windows-rel
Error code: 1
See logs for more information:
D:\vcpkgUIA\buildtrees\microsoft-ui-uiautomation\build-x64-windows-rel-out.log
Call Stack (most recent call first):
installed/x64-windows/share/vcpkg-msbuild/vcpkg_msbuild_install.cmake:108 (vcpkg_execute_required_process)
ports/microsoft-ui-uiautomation/portfile.cmake:14 (vcpkg_msbuild_install)
scripts/ports.cmake:175 (include)

the Build-x64-Windows-rel-out.log file:
MSBuild version 17.9.5+33de0b227 for .NET Framework
Build started 4/1/2024 7:16:16 PM.
 1>Project "D:\vcpkgUIA\buildtrees\microsoft-ui-uiautomation\x64-windows-rel\UiaOperationAbstraction\UiaOperationAbstraction.vcxproj" on node 1 (Restore target(s)).
 1>_GetAllRestoreProjectPathItems:
     Determining projects to restore...
   Restore:
     X.509 certificate chain validation will use the default trust store selected by .NET for code signing.
     X.509 certificate chain validation will use the default trust store selected by .NET for timestamping.
     Restoring NuGet package Microsoft.Windows.CppWinRT.2.0.200703.9.
     Restoring NuGet package Microsoft.Windows.ImplementationLibrary.1.0.191107.2.
     Adding package 'Microsoft.Windows.ImplementationLibrary.1.0.191107.2' to folder 'D:\vcpkgUIA\buildtrees\microsoft-ui-uiautomation\x64-windows-rel\UiaOperationAbstraction\packages'
     Adding package 'Microsoft.Windows.CppWinRT.2.0.200703.9' to folder 'D:\vcpkgUIA\buildtrees\microsoft-ui-uiautomation\x64-windows-rel\UiaOperationAbstraction\packages'
     Added package 'Microsoft.Windows.CppWinRT.2.0.200703.9' to folder 'D:\vcpkgUIA\buildtrees\microsoft-ui-uiautomation\x64-windows-rel\UiaOperationAbstraction\packages'
     Added package 'Microsoft.Windows.ImplementationLibrary.1.0.191107.2' to folder 'D:\vcpkgUIA\buildtrees\microsoft-ui-uiautomation\x64-windows-rel\UiaOperationAbstraction\packages'

     NuGet Config files used:
         C:\Users\shtiruma\AppData\Roaming\NuGet\NuGet.Config
         C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.FallbackLocation.config
         C:\Program Files (x86)\NuGet\Config\Microsoft.VisualStudio.Offline.config

     Feeds used:
         C:\Users\shtiruma\.nuget\packages\
         https://api.nuget.org/v3/index.json
         C:\Program Files (x86)\Microsoft SDKs\NuGetPackages\

     Installed:
         2 package(s) to packages.config projects
 1>Done Building Project "D:\vcpkgUIA\buildtrees\microsoft-ui-uiautomation\x64-windows-rel\UiaOperationAbstraction\UiaOperationAbstraction.vcxproj" (Restore target(s)).

1:7>Project "D:\vcpkgUIA\buildtrees\microsoft-ui-uiautomation\x64-windows-rel\UiaOperationAbstraction\UiaOperationAbstraction.vcxproj" on node 1 (Rebuild target(s)).
1>CoreClean:
Creating directory "UiaOpera.A5682ADB\x64\Release".
1>D:\vcpkgUIA\buildtrees\microsoft-ui-uiautomation\x64-windows-rel\UiaOperationAbstraction\UiaOperationAbstraction.vcxproj(205,5): error : This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\Microsoft.Windows.ImplementationLibrary.1.0.191107.2\build\native\Microsoft.Windows.ImplementationLibrary.targets.
1>Done Building Project "D:\vcpkgUIA\buildtrees\microsoft-ui-uiautomation\x64-windows-rel\UiaOperationAbstraction\UiaOperationAbstraction.vcxproj" (Rebuild target(s)) -- FAILED.
Build FAILED.
   "D:\vcpkgUIA\buildtrees\microsoft-ui-uiautomation\x64-windows-rel\UiaOperationAbstraction\UiaOperationAbstraction.vcxproj" (Rebuild target) (1:7) ->
   (EnsureNuGetPackageBuildImports target) ->
     D:\vcpkgUIA\buildtrees\microsoft-ui-uiautomation\x64-windows-rel\UiaOperationAbstraction\UiaOperationAbstraction.vcxproj(205,5): error : This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them.  For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is ..\packages\Microsoft.Windows.ImplementationLibrary.1.0.191107.2\build\native\Microsoft.Windows.ImplementationLibrary.targets.

0 Warning(s)
1 Error(s)

Time Elapsed 00:00:01.58

PortFile:
portfile.cmake
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO Microsoft/Microsoft-UI-UIAutomation
REF d8c87fae212678915d9b73505e188c3b63db0d79
SHA512 4266d5f236ee7f4e2daf02177544876f025b6ec04e9ce0ad63afd0c4674ef1411865a9188d6a8a3a13b64bab1da70bebba25f03b3fc1bf39272f0c04bcbbe28f
HEAD_REF main
)
if (VCPKG_TARGET_IS_WINDOWS) # Win32:
vcpkg_msbuild_install(
SOURCE_PATH "${SOURCE_PATH}/src/UIAutomation/"
PROJECT_SUBPATH "UiaOperationAbstraction/UiaOperationAbstraction.vcxproj"
OPTIONS
"/r:True"
"/p:RestorePackagesConfig=True"
"/p:configuration=Release"
)
else()
message(FATAL_ERROR "Unsupported system: microsoft-ui-uiautomation is not currently ported to VCPKG in ${VCPKG_CMAKE_SYSTEM_NAME}!")
endif()
set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled)
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")

vcpkg.json file
{
"name": "microsoft-ui-uiautomation",
"version-date": "2022-04-26",
"description": "Microsoft UI Automation library",
"homepage": "https://github.com/microsoft/Microsoft-UI-UIAutomation",
"license": "MIT",
"supports": "windows",
"dependencies": [
{
"name": "vcpkg-msbuild",
"host": true,
"platform": "windows"
}
]
}
I am not sure why the vcpkg msbuild is using a different working directory, other than the UiaOperationAbstraction/UiaOperationAbstraction.vcxproj available under ${SOURCE_PATH}/src/UIAutomation/.. where the required nuget packages are getting downloaded to.

If you encounter problems in PR #37389, please leave a message directly below the PR so that you don't have to paste vcpkg.json and portfile.cmake every time.

ok, please help me the latest query above. I agree that I need not paste the config files here..

closing this issue, as I have a PR for which I have raised this issue, and I am adding the next set of issues directly under the PR for seeking help. Thank you for all the support here till now.


fix default config path

Currently, the logic for finding config.cmake in CMakeLists.txt looks like this
if(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/config.cmake)
  include(${CMAKE_CURRENT_BINARY_DIR}/config.cmake)
else()
  if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/config.cmake)
    include(${CMAKE_CURRENT_SOURCE_DIR}/config.cmake)
  endif()
endif()

First, it searches from binary dir(usually ./build), then it goes to the source directory(./) if it does not exist. However, I believe it does nothing since there is no config.cmake in the root directory
We can choose another policy from various candidates, like raising an error if not exist or ignoring to use config.cmake. I thought using the "sample" cmake/config.cmake is the most reasonable solution, I changed CMakeLists.txt to find from ./cmake directory.
It's my first time to commit in here, please let me know if there are any issues! 😄

Thanks @jhlee525 this is the intended behavior that we explicitly ask the user to copy the config.cmake to root or build before edit and update. The idea is that we do not want config to polute the git history. It would be good to add comments to explain this behavior

If root directory is selected for cmake directory, the logic after else() is unnecessary. Because in this case, ${CMAKE_CURRENT_BINARY_DIR} is as same as ${CMAKE_CURRENT_SOURCE_DIR}.
And I think my version of modification also does not polute "example config.cmake" because previous logic (copying config.cmake into cmake build directory) is completely compatable.
The main benefit of this PR is to provide one-stop mode build, for the users does not want to configure thier own cmake settings.
But, it's not critical feature for running TVM, i think it would be fine to just removing else() logic, or even keeping it as-is.

@jhlee525 we suggest people run cmake from the build directory, so i'm not sure we intend to support running it from the root. we would like to encourage folks building TVM from source to explicitly configure it as needed. there are scripts to configure TVM as it is configured in the CI underneath tests/scripts/task_config_*.
i think we could clarify the commentary here. i also think we should probably drop support for placing config.cmake in the root directory, but @tqchen what are your thoughts? this would clarify we don't expect folks to run cmake there.

@areusch both are fine, although some people might depends on the root dir behavior. I agree that we want to add more documentations about this behavior

@tqchen in these cases where we explicitly support two ways of doing things, it would really help us to lay out the exact use case we're actually supporting. otherwise we'll wind up with broader API surfaces that are harder to support. do you know why someone may want to run cmake from root dir?

To clarify, by root dir behavior i actually meant config.cmake in the root but the cmake is run on a separate dir(say build). I agree that the best practice is not run cmake itself from the root(and always use a subdir)

For reference, I use a config.cmake in the root tvm directory so I can remove build without removing all my configuration.

right, i guess we have two cases:

you want to build with config specific to that build (e.g. build-ci-cpu)
you just run one kind of build and want to avoid nuking the config with the build artifacts

in any case, i do think we want people to be explicit. I'm going to close this PR as we don't want to allow folks to fall back on the default config in config.cmake. feel free to reopen if you think i've closed this in error.


Add a utility method to create a new empty module

This one has a dependency on a future PR that I didn't notice, sorry for the noise.


545 pretty printing doesnt put enough eols

Closes #545

@deemp Thank you for your contribution! We appreciate your effort, but there are some areas for improvement. Your submission of 251 hits-of-code exceeded our 200 limit, resulting in an 8-point deduction. Additionally, the lack of code review and comments from reviewers led to further deductions. Despite these setbacks, you've earned 4 points as a base reward.  We encourage you to focus on quality in future submissions and ensure proper code reviews. Keep up the good work! Your running balance is now +16.


Fix stream leak issue

closes https://github.com/Azure/azure-sdk-for-cpp/issues/2254
Pull Request Checklist
Please leverage this checklist as a reminder to address commonly occurring feedback when submitting a pull request to make sure your PR can be reviewed quickly:
See the detailed list in the contributing guide.

[x] C++ Guidelines
[x] Doxygen docs
[x] Unit tests
[x] No unwanted commits/changes
[x] Descriptive title/description

[x] PR is single purpose
[x] Related issue listed

[x] Comments in source
[x] No typos
[x] Update changelog
[x] Not work-in-progress
[x] External references or docs updated
[x] Self review of PR done
[x] Any breaking changes?

/azp run cpp - storage

closes https://github.com/Azure/azure-sdk-for-cpp/issues/2254

/check-enforcer override


revise generator to use different paths

When the generator is run, it references certain paths which are different after converting to Expo Router (link).
Relevant frontmatter in the ejs file
---
patches:
- path: "app/screens/index.ts"
  append: "export * from \"./<%= props.pascalCaseName %>Screen\"\n"
  skip: <%= props.skipIndexFile %>
- path: "app/navigators/AppNavigator.tsx"
  replace: "// IGNITE_GENERATOR_ANCHOR_APP_STACK_PARAM_LIST"
  insert: "<%= props.pascalCaseName %>: undefined\n\t// IGNITE_GENERATOR_ANCHOR_APP_STACK_PARAM_LIST"
- path: "app/navigators/AppNavigator.tsx"
  replace: "{/* IGNITE_GENERATOR_ANCHOR_APP_STACK_SCREENS */}"
  insert: "<Stack.Screen name=\"<%= props.pascalCaseName %>\" component={Screens.<%= props.pascalCaseName %>Screen} />\n\t\t\t{/* IGNITE_GENERATOR_ANCHOR_APP_STACK_SCREENS */}"
  skip: <%= props.skipIndexFile %>
---

When I brought it up, modifying the generator to allow for changing the paths used was brought up.
Is that something you are wanting to consider? If so, I'm happy to help. Otherwise, we can close this issue.

If the decision is not to change the generator, we will want to discuss adding instructions to the recipe to get the screen generator working again.

Yeah it is too fixed of an implementation right now - sort of discussed here: https://github.com/infinitered/ignite/issues/2443

@mchisolm0 can you give me an example with current directory structure and what you are looking to create?

@frankcalise Here is the current directory structure after implementing expo-router.

When I have used the generator to create a model, it works except it creates the app/models directory and adds the generated models to it. I then move them to the right place and update imports.
When I tried to do similarly with the screen generator, it just fails. Here is what I think is the most relevant part of the error. Error: file not found app/screens/index.ts
at /Users/matthewchisolm/.npm/_npx/e31027f3785124a8/node_modules/gluegun/build/toolbox/patching-tools.js:184:23

I did also read through the suggestion for plop and the README for the project. I agree if that was implemented, I think it would address this issue.

@mchisolm0 yeah I was looking into the current implementation, perhaps we can just override the hardcoded subdir with a parameter to not do a full rewrite via Plop (which is not in the cards for us at the moment).
The screen generator doesn't really apply with expo-router, since they don't all live in a single directory anymore with the src/app dir present and file-based routing. However, with a path param we could stub out a screen file and then in the command pass the proper path, such as src/app/(app)/(tabs)/my-new-tab.tsx for example

FYI we're starting to build a roadmap for these changes, stay tuned @mchisolm0

@mchisolm0 this is available with npx ignite-cli@next

Addressed in #2726.

:tada: This issue has been resolved in version 10.0.0 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Add error message when add resource has a bad url.

There is no indication to the user when add resource encounters a bad url or invalid repository.
Notifications of errors should be added to the text field similar to:

See this issue https://github.com/unfoldingWord/create-app/issues/34
DoD: The user is notified when they attempt to open a bad path or invalid repo for a scripture resource.
===========================
in v1.0.5-rc.10

If the pasted path doesn't exist or is not a valid repo, there is no indication to the user that something is wrong. Nothing happens when the add icon is clicked and there is no explanation of why.

Add a notification to let the user know that the path didn't resolve satisfactorily:
"A valid resource cannot be found at <resource_path>. Please check the address and try again."

@birchamp make a link to mclean's issue.

@mandolyte
@PhotoNomad0
ready for testing:
http://localhost:6060/#/Parallel Scripture ?id=parallelscripture

open ParallelScripture demo
click "Manage Versions" button; add an INVALID resource (e.g., "www.google.com")
Verify: red error message shows
next, add VALID resource (e.g., Door43-Catalog/hi/ulb/master/3jn)
Verify: red error message disappears; & new resource shows

@birchamp - It is unclear to me whether or not this verbiage in the first comment was part of the DOD:
'Add a notification to let the user know that the path didn't resolve satisfactorily:
"A valid resource cannot be found at <resource_path>. Please check the address and try again."'
This is what it displayed when the user tries to add a resource with a bad URL or one not pointing to a uW resource.

@ancientTexts-net Since this is a catch-all phrase, let's make the message say: "Error: Could not add the resource. Please check the URL."

@cckozie I've updated it. ...at least we're using "resource".

Looks good in translationCore Create - v1.2.0-rc.3 build 28-c60492b.


Strategy for tags in the repo

We can follow labels used by the framework https://github.com/serverless/serverless/labels


Improvement for caching

Remove the shared preferences and keep the expired information in the entity
Return the data always from the database

FYI @barissaglam

Could you assign to me? @mertceyhan


Silent Error When Decrypting >=148Kb base64 strings in React Native

Describe the bug
Decryption in React Native, specifically tested on iOS, has trouble decrypting files larger than 148Kb.
I'm using Expo. To have Themis React Native work in this environment, a dev build is needed. It worked on Expo SDK 46 (2 years ago), on SDK 49, SDK 50 and now SDK 51 it seems to be able to encrypt rather large files, but not able to decrypt them.
In #994 @djaffer mentions a similar issue. React Native Encryption functions seem to work for files even 120Mb in size, but decryption fails for files >=148Kb in size. For files >=10Mb I get regex stack errors, which might be a React Native limitation.
To Reproduce
Start a fresh SDK 51 installation, install themis, create an EAS build, and launch the app. For your information, Expo SDK 51 runs:

"react": "18.2.0"
"react-native": "0.74.5"

Next define a dummy generator in App.js:
function getdummy(mbytes) {
    // Calculate the number of bytes
    const bytes = mbytes * 1000000;

    // Calculate the length of the base64 string
    // (4 base64 characters represent 3 bytes)
    const base64Length = Math.ceil(bytes / 3) * 4;

    // Generate a random string of the calculated length
    let result = '';
    const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
    for (let i = 0; i < base64Length; i++) {
		    result += characters.charAt(Math.floor(Math.random() * characters.length));
    }

    return result;
}

Then have a simple function test the encryption as follows, invoked after a button click, or on load of the app:
function testDecrypt = () => {
    try {
        const dummy = getdummy(0.145);
        console.log("DUMMY", dummy.length, dummy.slice(0,20));

        const encrypted64 = await secureCellSealWithSymmetricKeyEncrypt64(userPair.priv, dummy);
        console.log("ENCRYPTED", encrypted64.length, encrypted64.slice(0,20));

        const decrypted64 = await secureCellSealWithSymmetricKeyEncrypt64(userPair.priv, encrypted64);
        console.log("DECRYPTED", decrypted64.length, decrypted64.slice(0,20));

        console.log("THEY'RE THE SAME", dummy == decrypted64)
    } catch (error) {
        console.log("MASSIVE ERROR", error);
    }
}

I'm getting the following output for a 140 Kb size:
 LOG  DUMMY 186668 lASDSbaVW2t1qlkwenxg
 LOG  ENCRYPTED 248892 qCKtk0zbO30++uXklq/X
 LOG  DECRYPTED 186668 lASDSbaVW2t1qlkwenxg
 LOG  THEY'RE THE SAME true

For a 145 Kb size, I get a silence error in the bridge:
 LOG  DUMMY 266668 B3TmzBzd20Thk8QDKEHr
 LOG  ENCRYPTED 355560 bdfTmNvOufF1JEDv7FOQ
 LOG  MASSIVE ERROR [Error: Exception in HostFunction: Malformed calls from JS: field sizes are different.

[[121,80],[10,0],[[1759,100,1725019047524,false]],6350]]

We can debug which host functions bugged out by defining a findModuleByModuleAndMethodIds function, then looking them up for processes 121.80 and 80.0:
// bridge debugging
if (global.__fbBatchedBridge) {
	const origMessageQueue = global.__fbBatchedBridge;
	const modules = origMessageQueue._remoteModuleTable;
	const methods = origMessageQueue._remoteMethodTable;
	global.findModuleByModuleAndMethodIds = (moduleId, methodId) => {
	  console.log(`The problematic line code is in: ${modules[moduleId]}.${methods[moduleId][methodId]}`)
	}
}

global.findModuleByModuleAndMethodIds(121, 10);
global.findModuleByModuleAndMethodIds(80, 0);

Which returns the following two possible functions having no parameters passed over the bridge:
 LOG  The problematic line code is in: Themis.secureCellSealWithSymmetricKeyEncrypt64
 LOG  The problematic line code is in: Timing.createTimer

I've found that this type of silent error happens with any decryption, whereas it doesn't happen at the encryption stage. For a 10Mbyte string, encryption works, decryption fails with a max regex stack depth error:
 LOG  DUMMY 13333336 gpPnBQloMKtC4uiFQmym
 LOG  ENCRYPTED 17777784 fG3//XnUadHaNx5qrp20
 LOG  MASSIVE ERROR [RangeError: Maximum regex stack depth reached]

Have less than 10Mbyte chunks is something that I can easily live with, but to encrypt and decrypt files into chunks of less than 150Kb feels like a bridge overhead.
Expected behavior
Two years ago, I was able to decrypt files up to 10Mbyte in size in React Native. Themis Nodejs implementation doesn't suffer from this limitation.
Environment (please complete the following information):

OS: iOS 17.5
Hardware: iOS Simulator / iPhone 14 Pro
Themis version: "react-native-themis": "^0.15.2",
Installation way:

[X] via package manager
Requires EAS Build to make native library work.

Additional context
If any additional context is required, please share away. Generally I would like to know if this perhaps has to do with the new architecture of React Native 18?

Thank you for such detailed issue, we will take a look

A little update from my side: switching the js engine from hermes to jsc, allows encryption and decryption of messages up to 1.5Mbytes in size. This is, as I can remember, what I've been working with a few years back.
So even though this slightly increases the odd max-cap, I must state that the react-native community and major react-native SDKs support hermes as their goto engine. Most important rn libraries like timezone, animations, and native libraries use hermes. Some adopt their libraries to the new React architecture which solves all previous bridge issues. For Themis this would mean lightning fast encryption.
Thank you for looking into the issue!


Return early if a directory isn't managed by git

This makes things much faster for large non-git trees that happen to
have setuptools_git among their indirect requirements.  For example,
this takes Launchpad's "python setup.py egg_info" from 16 seconds to 2
seconds for me.
https://github.com/msabramo/setuptools-git/pull/6 would probably help as well, not to mention optimising the realpath handling so that it doesn't unnecessarily re-stat every path element for every file in your tree, which is a candidate for http://accidentallyquadratic.tumblr.com/ .  But this is easy and non-intrusive.

Thanks, @cjwatson!

Released in https://pypi.python.org/pypi/setuptools-git/1.2. Thanks again, @cjwatson


lorri: 1.3.1 -> 1.4.0

Motivation for this change
Upgrade to make it compile on master.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
[ ] Tested execution of all binary files (usually in ./result/bin/)
[ ] Determined the impact on package closure size (by running nix path-info -S before and after)
[ ] Ensured that relevant documentation is up to date
[x] Fits CONTRIBUTING.md.

Result of nixpkgs-review pr 119114 run on x86_64-darwin 1

1 package built:

lorri

Result of nixpkgs-review pr 119114 run on x86_64-linux 1

1 package built:

lorri

Is there a nicer way to pull this into my local nixpkgs than copying the newly-fixed package definition wholesale? I tried doing
pkgs.lorri.overrideAttrs (old: {
      version = "1.4.0";
      name = "lorri-1.4.0";
      src = pkgs.fetchFromGitHub {
        owner = "nix-community";
        repo = "lorri";
        rev = "fee4ffac9ee16fc921d413789cc059b043f2db3d";
        sha256 = "sha256:0ix0k85ywlvkxsampajkq521d290gb0n60qwhnk6j0sc55yn558h";
      };
      cargoSha256 = "sha256:1ngn4wnyh6cjnyg7mb48zvng0zn5fcn8s75y88nh91xq9x1bi2d9";
    });

but it still seems to try to use the old lorri's source.

Did you overwrite https://search.nixos.org/options?channel=unstable&show=services.lorri.package&from=0&size=50&sort=relevance&query=lorri ?

@deifactor Unfortunately, overrideAttrs doesn't do what you want on a package built with buildRustPackage. buildRustPackage wraps mkDerivation and overrideAttrs overrides that call to mkDerivation not the original call to buildRustPackage. I've opened #119332 to fix this. In the meantime, the easiest way for you to pull it in to your local repo is probably to cherry-pick the commit.

Yeah, cherry picking is usually easier than overrides if you can.
@bkchr thanks for updating, I forgot the nixpkgs bump when I pushed 1.4.0


idea - time based ariel views

First of all, I love the project. I think it's a great screensaver. This isn't a complaint but an idea for a feature. It would be cool if the ariel views synced with our local time. So if it's day time, a day view would play and if it's night time, a night view would play. There are even a few ariels that seem to be morning or dusk that could fit in those times. The reason why I think it would good is so our eyes won't be strained from the sudden change in brightness (mostly at night). I use Flux to change the screen color as it gets later into the night and sometimes it can be jarring when a bright webpage/window pops up. Either way, it's a great screensaver and I look forward to using it more and more.

Duplicate of #11 .


Support Health Dashboard within cid-cfn.yml

Hi,
Please could support for the Health Dashboard be added to cid-cfn.yaml template?
We use the terraform module to deploy dashboards, and would rather it all done through there than need to use cid-cmd :)
Cheers,
Josh

This is something we are working on. Stay tuned.

The goal will be to install additional dashboards with CFN. Then it can be wrapped with TF.


Git config hard coded with Defilan's information

All commit's referencing Christopher P. Maher

Thanks for the report @ooOOJavaOOoo . I'll get this updated and let you know when it's GTG. Appreciate the info!

Issue is finally fixed @ooOOJavaOOoo . Please check it out, along with the other updates!


Deploy backup component to stone-stg-m01

This is the last cluster to deploy backup component to so now that they all have it, include oadp in all-clusters kustomize file.

/lgtm


Please update this doc for HELM 3.7.0

with latest HELM ( >= 3.7.0), the OCI chart commands are removed. please update this doc to reflect the same.

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 59c4be11-ec02-7160-e65b-2218bfd70f68
Version Independent ID: 19e08339-390f-ccfa-885c-2643722bd186
Content: Store Helm charts - Azure Container Registry
Content Source: articles/container-registry/container-registry-helm-repos.md
Service: container-registry
GitHub Login: @dlepow
Microsoft Alias: danlep

Thanks for the feedback! I have assigned the issue to the content author to investigate further and update the document as appropriate.

@vishiy - Thanks very much for raising this issue and noting the differences in Helm 3.7. We'll update the article soon.


Project Working

Based on this project is it still working and will the long term support provided with regular updates. Also is there any alternative for the same functionality ? RTC to Git

Based on this project is it still working and will the long term support provided with regular updates. Also is there any alternative for the same functionality ? RTC to Git

@karthikcad01 there is actually no long term support, as we created this project for others to carry on when we migrated away from RTC back around 2016 though. I do not know of other projects that support an migration but there is always the possibility for such a project.

From https://github.com/rtcTo/rtc2git#development-status

For migrating bigger repositories (> 10000 changes) I advise you to use our other tool rtc2gitcli as the IBM Java API is more stable than IBM CLI API. However, this project is easier to run and adapt to different environments.
This project is no longer in active development, because the author has no access to any RTC Server anymore (since they are migrated to git) and changes to code can only be hardly tested.

The last part also applies for this project. This part of the readme was written over 4 years ago and since then we didnt change anything codewise.

@karthikcad01 I was involved in a migration project and failed to use this tool and finally created another one based on the web UI of Jazz. You can find it at https://bitbucket.org/verhasi/migration-new-generation/src/master/ and a short introduction at https://bitbucket.org/blog/migrating-from-ibm-rtc-jazz-to-bitbucket-git.