Skip to content

Commit da45d01

Browse files
author
Aasim Khan
committed
Merge remote-tracking branch 'origin/main' into aasim/fix/19545
2 parents 39497be + 55a828d commit da45d01

File tree

1,310 files changed

+128050
-75747
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,310 files changed

+128050
-75747
lines changed

.editorconfig

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
root = true
2+
3+
[*]
4+
end_of_line = crlf
5+
charset = utf-8
6+
insert_final_newline = true
7+
trim_trailing_whitespace = false
8+
9+
[*.sh]
10+
end_of_line = lf
11+
12+
[.husky/**]
13+
end_of_line = lf
File renamed without changes.

.gitattributes

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
# Enforce LF line endings for all text files by default
2+
* text=auto eol=crlf
3+
# Ensure shell scripts use LF line endings
4+
.husky/** text eol=lf
5+
*.sh text eol=lf
6+
*.init text eol=lf

.github/workflows/README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,36 @@
1+
# GitHub Actions Workflows
2+
3+
## Publish Baseline Artifacts (`publish-baseline.yml`)
4+
5+
### Purpose
6+
Creates baseline artifacts (VSIX packages size metrics) that PRs can compare against to detect regressions in vsix size.
7+
8+
### How it works
9+
1. **Triggered automatically** on push to `main` or `release/*` branches
10+
2. **Can be triggered manually** via workflow_dispatch for testing without pushing code
11+
3. **Builds both extensions**: `mssql` and `sql-database-projects`
12+
4. **Packages them into VSIX files** and records their sizes in KB
13+
5. **Uploads artifact** with 90-day retention:
14+
- `baseline-sizes`: JSON file containing size metadata for comparisons (VSIX files themselves are not stored to save space)
15+
16+
## Build and Test (`build-and-test.yml`)
17+
18+
### How it uses baseline artifacts
19+
20+
1. **Downloads baseline sizes** from the target branch (`main` or `release/*`) that the PR is targeting
21+
2. **Compares VSIX sizes**:
22+
- Calculates size difference in KB and percentage change
23+
- Fails if VSIX size increases by more than 5%
24+
- Uses icons (🟢 decrease, 🔴 increase, ⚪ no change) in PR comments
25+
3. **Posts comparison results** as a PR comment showing:
26+
- Target branch VSIX size
27+
- PR branch VSIX size
28+
- Difference in KB and percentage
29+
4. **Coverage comparison** (implicit): Baseline coverage is used by Codecov to show coverage changes
30+
31+
### When baseline comparison runs
32+
The workflow only performs baseline comparisons when:
33+
- The PR targets `main` branch, OR
34+
- The PR targets a `release/*` branch
35+
36+
This is controlled by the `should_compare_baseline` environment variable set early in the workflow.

0 commit comments

Comments
 (0)