Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions .config/TSAOptions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
{
"codebaseName": "calculator.app",
"notificationAliases": [
"eeappdevredfte@microsoft.com"
],
"instanceUrl": "https://microsoft.visualstudio.com/DefaultCollection",
"projectName": "OS",
"areaPath": "OS\\Apps\\PAX\\Essential Experiences\\Apps\\Calculator",
"allTools": true
}
15 changes: 8 additions & 7 deletions .github/workflows/action-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:
jobs:
defineBuilds:
name: Define builds
runs-on: windows-latest
runs-on: windows-2025-vs2026
env:
isPR: ${{ github.event_name == 'pull_request' }}
outputs:
Expand Down Expand Up @@ -51,7 +51,7 @@ jobs:
build:
needs: defineBuilds
name: Build
runs-on: windows-latest
runs-on: windows-2025-vs2026
strategy:
matrix:
platform: ${{ fromJSON(needs.defineBuilds.outputs.platformList) }}
Expand All @@ -65,16 +65,17 @@ jobs:
name: Use nuget 6.x
with:
nuget-version: '6.x'
- run: nuget restore ./src/Calculator.sln
name: Restore nuget dependencies
- run: |
./build/scripts/UpdateAppxManifestVersion.ps1 `
-AppxManifest ./src/Calculator/Package.appxmanifest `
-Version ${{ env.buildVersion }}
shell: pwsh
name: Set version number in AppxManifest
- run: |
msbuild ./src/Calculator.sln `
$env:CL = '/D_SILENCE_EXPERIMENTAL_COROUTINE_DEPRECATION_WARNINGS /wd9047'
msbuild ./src/Calculator.slnx `
-restore `
-p:RestorePackagesConfig=true `
-bl:${{ github.workspace }}/output/Calculator.binlog `
-p:OutDir=${{ github.workspace }}\output\ `
-p:Platform=${{ matrix.platform }} `
Expand All @@ -98,7 +99,7 @@ jobs:

unitTests:
needs: [defineBuilds, build]
runs-on: windows-latest
runs-on: windows-2025-vs2026
name: Run unit tests
strategy:
matrix:
Expand Down Expand Up @@ -127,7 +128,7 @@ jobs:

uiTests:
needs: build
runs-on: windows-latest
runs-on: windows-2025-vs2026
name: Run UI tests (x64)
env:
appDir: ${{ github.workspace }}/download/Calculator/AppPackages/Calculator*_Test
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Prerequisites:
git clone https://github.com/Microsoft/calculator.git
```

- Open [src\Calculator.sln](/src/Calculator.sln) in Visual Studio to build and run the Calculator app.
- Open [src\Calculator.slnx](/src/Calculator.slnx) in Visual Studio to build and run the Calculator app.
- For a general description of the Calculator project architecture see [ApplicationArchitecture.md](docs/ApplicationArchitecture.md).
- To run the UI Tests, you need to make sure that
[Windows Application Driver (WinAppDriver)](https://github.com/microsoft/WinAppDriver/releases/latest)
Expand Down
57 changes: 31 additions & 26 deletions build/pipelines/azure-pipelines.ci-internal.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,40 +12,54 @@ pr: none

name: 0.$(Date:yyMM).$(DayOfMonth)$(Rev:rr).0

variables:
# Docker image which is used to build the project https://aka.ms/obpipelines/containers
WindowsContainerImage: 'onebranch.azurecr.io/windows/ltsc2025/vse2026:latest'

Codeql.Enabled: true

resources:
repositories:
- repository: 1esPipelines
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release
- repository: templates
type: git
name: OneBranch.Pipelines/GovernedTemplates
ref: refs/heads/main

extends:
template: v1/1ES.Unofficial.PipelineTemplate.yml@1esPipelines
template: v2/Microsoft.NonOfficial.yml@templates # https://aka.ms/obpipelines/templates
parameters:
pool:
name: EssentialExperiences-windows-2022
image: MMSWindows2022-Secure
os: windows
sdl:
featureFlags:
EnableCDPxPAT: false
WindowsHostVersion:
Version: 2025

platform:
name: 'windows_undocked'

globalSdl:
isNativeCode: true
enableCheckCFlags: false
enableXFGCheck: false

tsa:
enabled: false

suppression:
suppressionFile: $(Build.SourcesDirectory)\.gdn\.gdnsuppress

policheck:
enabled: true
exclusionsFile: '$(Build.SourcesDirectory)\build\config\PoliCheckExclusions.xml'

stages:
- stage:
- stage: Calculator
jobs:
- template: /build/pipelines/templates/build-single-architecture.yaml@self
parameters:
isReleaseBuild: true
useReleaseAppxManifest: false
platform: x64

- template: /build/pipelines/templates/build-single-architecture.yaml@self
parameters:
isReleaseBuild: true
useReleaseAppxManifest: false
platform: x86

- template: /build/pipelines/templates/build-single-architecture.yaml@self
parameters:
isReleaseBuild: true
Expand All @@ -57,17 +71,8 @@ extends:
platform: x64
runsettingsFileName: CalculatorUITests.ci-internal.runsettings

- template: /build/pipelines/templates/run-ui-tests.yaml@self
parameters:
platform: x86
runsettingsFileName: CalculatorUITests.ci-internal.runsettings

- template: /build/pipelines/templates/run-unit-tests.yaml@self
parameters:
platform: x64

- template: /build/pipelines/templates/run-unit-tests.yaml@self
parameters:
platform: x86

- template: /build/pipelines/templates/package-msixbundle.yaml@self
57 changes: 32 additions & 25 deletions build/pipelines/azure-pipelines.release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,11 @@ variables:
value: $[counter(format('{0}.{1}.*', variables['versionMajor'], variables['versionMinor']), 0)]
- name: versionPatch
value: 0
- group: CalculatorTSAConfig
# Docker image which is used to build the project https://aka.ms/obpipelines/containers
- name: WindowsContainerImage
value: 'onebranch.azurecr.io/windows/ltsc2025/vse2026:latest'
- name: Codeql.Enabled
value: true

name: '$(versionMajor).$(versionMinor).$(versionBuild).$(versionPatch)'

Expand All @@ -33,35 +37,38 @@ parameters:

resources:
repositories:
- repository: 1esPipelines
type: git
name: 1ESPipelineTemplates/1ESPipelineTemplates
ref: refs/tags/release
- repository: templates
type: git
name: OneBranch.Pipelines/GovernedTemplates
ref: refs/heads/main

extends:
template: v1/1ES.Official.PipelineTemplate.yml@1esPipelines
template: v2/Microsoft.Official.yml@templates # https://aka.ms/obpipelines/templates
parameters:
pool:
name: EssentialExperiences-windows-2022
image: MMSWindows2022-Secure
os: windows
sdl:
featureFlags:
EnableCDPxPAT: false
WindowsHostVersion:
Version: 2025

platform:
name: 'windows_undocked'

globalSdl:
isNativeCode: true
enableCheckCFlags: false
enableXFGCheck: false

tsa:
enabled: true
config:
codebaseName: $(TSA.CodebaseName)
notificationAliases: $(TSA.NotificationAliases)
instanceUrl: $(TSA.InstanceUrl)
projectName: $(TSA.ProjectName)
areaPath: $(TSA.AreaPath)
serviceTreeID: $(TSA.ServiceTreeID)
allTools: true
codeql:
tsaEnabled: true
configFile: '$(Build.SourcesDirectory)\.config\TSAOptions.json'

policheck:
enabled: true
exclusionsFile: '$(Build.SourcesDirectory)\build\config\PoliCheckExclusions.xml'

evidence:
enabled: false

stages:
- stage: Calculator
jobs:
Expand All @@ -76,7 +83,6 @@ extends:
platform: x86
isReleaseBuild: true
useReleaseAppxmanifest: true
condition: not(eq(variables['Build.Reason'], 'PullRequest'))

- template: /build/pipelines/templates/build-single-architecture.yaml@self
parameters:
Expand Down Expand Up @@ -106,9 +112,10 @@ extends:
- template: /build/pipelines/templates/package-msixbundle.yaml@self
parameters:
signBundle: true
createStoreBrokerPackages: true
includeX86: true

- ${{ if eq(parameters.publishStore, true) }}:
- template: /build/pipelines/templates/release-store.yaml@self
- template: /build/pipelines/templates/release-store.yaml@self
parameters:
publishToStore: ${{ parameters.publishStore }}
- ${{ if eq(parameters.publishVPack, true) }}:
- template: /build/pipelines/templates/release-vpack.yaml@self
Loading
Loading