Skip to content

Commit e7866ea

Browse files
authored
Release (#944)
Changes: - Check for broken links in documentation (#700) - Support macOS `arm64` installs via Homebrew (#798) - Validate installers before publishing (#813) - Auto-generate maintainer away notification issues (#842) - Install dotnet via Jammy feeds on Ubuntu 22.04 and greater (#839) - Access Azure storage account using service principle credentials (#851) - Update documentation to use reference-style links (#680) - Unify documentation line length (#862) - Add generic username/password UI (#871) - Bitbucket DC OAuth support (#607) - Distribute GCM as a dotnet tool (#886) - Drop `-core` suffix from entry executable #551 - Speed up build graph (#924)
2 parents 6074e4e + 452981c commit e7866ea

File tree

166 files changed

+5286
-1558
lines changed

Some content is hidden

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

166 files changed

+5286
-1558
lines changed

.github/ISSUE_TEMPLATE/auth-problem.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ assignees: ''
88

99
**Which version of GCM are you using?**
1010

11-
From a terminal, run `git credential-manager-core --version` and paste the output.
11+
From a terminal, run `git credential-manager --version` and paste the output.
1212

1313
<!-- Ex:
1414
Git Credential Manager version 2.0.8-beta+e1f8492d04 (macOS, .NET Core 4.6.27129.04)
@@ -44,7 +44,9 @@ origin https://dev.azure.com/contoso/_git/widgets
4444
* [ ] https://`{org}`@dev.azure.com/`{org}`/...
4545
* [ ] https://`{org}`.visualstudio.com/...
4646

47-
**_[Azure DevOps only]_ If the account picker shows more than one identity as you authenticate, check that you selected the same one that has access on the web.**
47+
**_[Azure DevOps only]_ If the account picker shows more than one identity as
48+
you authenticate, check that you selected the same one that has access on the
49+
web.**
4850

4951
* [ ] Not applicable
5052
* [ ] I only see one identity
@@ -58,13 +60,16 @@ I am authenticated and my Git operation completes successfully.
5860

5961
**Actual behavior**
6062

61-
A clear and concise description of what happens. For example: exception is thrown, UI freezes, etc.
63+
A clear and concise description of what happens. For example: exception is
64+
thrown, UI freezes, etc.
6265

6366
**Logs**
6467

65-
Set the environment variables `GCM_TRACE=1` and `GIT_TRACE=1` and re-run your Git command. Review and redact any private information and attach the log.
68+
Set the environment variables `GCM_TRACE=1` and `GIT_TRACE=1` and re-run your
69+
Git command. Review and redact any private information and attach the log.
6670

67-
If you are running inside of Windows Subsystem for Linux (WSL), you must also set an additional environment variable to enable tracing: `WSLENV=$WSLENV:GCM_TRACE`.
71+
If you are running inside of Windows Subsystem for Linux (WSL), you must also
72+
set an additional environment variable to enable tracing: `WSLENV=$WSLENV:GCM_TRACE`.
6873
For example:
6974

7075
```shell

.github/ISSUE_TEMPLATE/experimental.md

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ assignees: ''
88

99
**Which version of GCM are you using?**
1010

11-
From a terminal, run `git credential-manager-core --version` and paste the output.
11+
From a terminal, run `git credential-manager --version` and paste the output.
1212

1313
<!-- Ex:
1414
Git Credential Manager version 2.0.8-beta+e1f8492d04 (macOS, .NET Core 4.6.27129.04)
@@ -44,7 +44,9 @@ origin https://dev.azure.com/contoso/_git/widgets
4444
* [ ] https://`{org}`@dev.azure.com/`{org}`/...
4545
* [ ] https://`{org}`.visualstudio.com/...
4646

47-
**_[Azure DevOps only]_ If the account picker shows more than one identity as you authenticate, check that you selected the same one that has access on the web.**
47+
**_[Azure DevOps only]_ If the account picker shows more than one identity as
48+
you authenticate, check that you selected the same one that has access on the
49+
web.**
4850

4951
* [ ] Not applicable
5052
* [ ] I only see one identity
@@ -58,13 +60,16 @@ I am authenticated and my Git operation completes successfully.
5860

5961
**Actual behavior**
6062

61-
A clear and concise description of what happens. For example: exception is thrown, UI freezes, etc.
63+
A clear and concise description of what happens. For example: exception is
64+
thrown, UI freezes, etc.
6265

6366
**Logs**
6467

65-
Set the environment variables `GCM_TRACE=1` and `GIT_TRACE=1` and re-run your Git command. Review and redact any private information and attach the log.
68+
Set the environment variables `GCM_TRACE=1` and `GIT_TRACE=1` and re-run your
69+
Git command. Review and redact any private information and attach the log.
6670

67-
If you are running inside of Windows Subsystem for Linux (WSL), you must also set an additional environment variable to enable tracing: `WSLENV=$WSLENV:GCM_TRACE`.
71+
If you are running inside of Windows Subsystem for Linux (WSL), you must also
72+
set an additional environment variable to enable tracing: `WSLENV=$WSLENV:GCM_TRACE`.
6873
For example:
6974

7075
```shell

.github/run_esrp_signing.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,6 @@
1818
esrp_tool = os.path.join("esrp", "tools", "EsrpClient.exe")
1919

2020
aad_id = os.environ['AZURE_AAD_ID'].strip()
21-
# We temporarily need two AAD IDs, as we're using an SSL certificate associated
22-
# with an older App Registration until we have the required hardware to approve
23-
# the new certificate in SSL Admin.
24-
aad_id_ssl = os.environ['AZURE_AAD_ID_SSL'].strip()
2521
workspace = os.environ['GITHUB_WORKSPACE'].strip()
2622

2723
source_location = args.path
@@ -36,9 +32,10 @@
3632
"TenantId": "72f988bf-86f1-41af-91ab-2d7cd011db47",
3733
"ClientId": f"{aad_id}",
3834
"AuthCert": {
39-
"SubjectName": f"CN={aad_id_ssl}.microsoft.com",
35+
"SubjectName": f"CN={aad_id}.microsoft.com",
4036
"StoreLocation": "LocalMachine",
41-
"StoreName": "My"
37+
"StoreName": "My",
38+
"SendX5c" : "true"
4239
},
4340
"RequestSigningCert": {
4441
"SubjectName": f"CN={aad_id}",

.github/set_up_esrp.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# Install ESRP client
2-
az storage blob download --file esrp.zip --account-key "$env:AZURE_STORAGE_KEY" --account-name gcmesrp --container microsoft-esrp-client --name microsoft.esrpclient.1.2.76.nupkg
2+
az storage blob download --file esrp.zip --auth-mode login --account-name esrpsigningstorage --container signing-resources --name microsoft.esrpclient.1.2.76.nupkg
33
Expand-Archive -Path esrp.zip -DestinationPath .\esrp
44

55
# Install certificates

.github/workflows/codeql-analysis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ jobs:
2323

2424
steps:
2525
- name: Checkout repository
26-
uses: actions/checkout@v3
26+
uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
2727
with:
2828
fetch-depth: 0 # patch around Nerdbank.GitVersioning failure
2929

.github/workflows/continuous-integration.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ jobs:
1414
runs-on: ${{ matrix.os }}
1515
strategy:
1616
matrix:
17-
os: [ubuntu-18.04, ubuntu-20.04, windows-2019, macos-10.15]
17+
os: [ubuntu-18.04, ubuntu-20.04, windows-2019, macos-latest]
1818

1919
steps:
20-
- uses: actions/checkout@v3
20+
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
2121
with:
2222
fetch-depth: 0 # Indicate full history so Nerdbank.GitVersioning works.
2323

2424
- name: Setup .NET
25-
uses: actions/setup-dotnet@v2
25+
uses: actions/setup-dotnet@v3.0.3
2626
with:
2727
dotnet-version: 6.0.201
2828

.github/workflows/lint-docs.yml

Lines changed: 40 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,53 @@ on:
44
workflow_dispatch:
55
push:
66
branches: [ main, linux ]
7+
paths:
8+
- '**.md'
9+
- '.github/workflows/lint-docs.yml'
710
pull_request:
811
branches: [ main, linux ]
12+
paths:
13+
- '**.md'
14+
- '.github/workflows/lint-docs.yml'
915

1016
jobs:
1117
lint-markdown:
1218
name: Lint markdown files
1319
runs-on: ubuntu-latest
1420
steps:
15-
- uses: actions/checkout@v3
21+
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
1622

17-
- uses: DavidAnson/markdownlint-cli2-action@744f913a124058ee903768d3adb92a4847e5d132
23+
- uses: DavidAnson/markdownlint-cli2-action@e3969ef4ed874458f4b66d4631f78fff7717012c
1824
with:
19-
globs: "**/*.md"
25+
globs: |
26+
"**/*.md"
27+
"!.github/ISSUE_TEMPLATE"
28+
29+
check-links:
30+
name: Check for broken links
31+
runs-on: ubuntu-latest
32+
steps:
33+
- uses: actions/checkout@93ea575cb5d8a053eaa0ac8fa3b40d7e05a33cc8
34+
35+
- name: Run link checker
36+
# For any troubleshooting, see:
37+
# https://github.com/lycheeverse/lychee/blob/master/docs/TROUBLESHOOTING.md
38+
uses: lycheeverse/lychee-action@4a5af7cd2958a2282cefbd9c10f63bdb89982d76
39+
40+
with:
41+
# user-agent: if a user agent is not specified, some websites (e.g.
42+
# GitHub Docs) return HTTP errors which Lychee will interpret as
43+
# a broken link.
44+
# no-progress: do not show progress bar. Recommended for
45+
# non-interactive shells (e.g. for CI)
46+
# inputs: by default (.), this action checks files matching the
47+
# patterns: './**/*.md' './**/*.html'
48+
args: >-
49+
--user-agent "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.75 Safari/537.36"
50+
--no-progress .
51+
fail: true
52+
env:
53+
# A token is used to avoid GitHub rate limiting. A personal token with
54+
# no extra permissions is enough to be able to check public repos
55+
# See: https://github.com/lycheeverse/lychee#github-token
56+
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}}
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
name: maintainer-absence
2+
3+
on:
4+
workflow_dispatch:
5+
inputs:
6+
startDate:
7+
description: 'First day of maintainer absence [mm-dd-yyyy]'
8+
required: true
9+
endDate:
10+
description: 'Last day of maintainer absence [mm-dd-yyyy]'
11+
required: true
12+
13+
permissions:
14+
issues: write
15+
16+
jobs:
17+
create-issue:
18+
name: create-issue
19+
runs-on: ubuntu-latest
20+
steps:
21+
- uses: actions/github-script@v6
22+
with:
23+
script: |
24+
const startDate = new Date('${{ github.event.inputs.startDate }}');
25+
const endDate = new Date('${{ github.event.inputs.endDate }}');
26+
27+
if (startDate > endDate) {
28+
throw 'Start date cannot be later than end date.';
29+
}
30+
31+
// Calculate total days of absence
32+
const differenceInDays = endDate.getTime() - startDate.getTime();
33+
const lengthOfAbsence = differenceInDays/(1000 * 3600 * 24);
34+
35+
// Create issue
36+
issue = await github.rest.issues.create({
37+
owner: context.repo.owner,
38+
repo: context.repo.repo,
39+
// Use the briefer input date format in title (instead of JavaScript's full date string)
40+
title: `Maintainer(s) will be away from ${{ github.event.inputs.startDate }} until ${{ github.event.inputs.endDate }}`,
41+
body: `The ${context.repo.repo} maintainer(s) will be away for ${lengthOfAbsence} day${lengthOfAbsence > 1 ? 's' : ''} beginning on
42+
${startDate.toDateString()} and ending on ${endDate.toDateString()}. During this time, the maintainer(s)
43+
will not be actively monitoring PRs, discussions, etc. Please report any issues
44+
requiring immediate attention to [@GitCredManager](https://twitter.com/GitCredManager) on Twitter.`
45+
});
46+
47+
// Pin issue - we use GraphQL since there is no GitHub API available for this
48+
const mutation = `mutation($issueId: ID!) {
49+
pinIssue(input: { issueId: $issueId }) {
50+
issue {
51+
repository {
52+
id
53+
}
54+
}
55+
}
56+
}`;
57+
const variables = {
58+
issueId: issue.data.node_id
59+
}
60+
const result = await github.graphql(mutation, variables)

.github/workflows/release-homebrew.yaml

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,12 @@ jobs:
88
runs-on: ubuntu-latest
99
steps:
1010
- name: Update Homebrew tap
11-
uses: mjcheetham/update-homebrew@v1.1
11+
uses: mjcheetham/update-homebrew@v1.2
1212
with:
1313
token: ${{ secrets.HOMEBREW_TOKEN }}
1414
tap: microsoft/git
1515
name: git-credential-manager-core
1616
type: cask
17-
releaseAsset: gcm-osx-x64-(.*)\.pkg
18-
alwaysUsePullRequest: true
17+
releaseAsset: |
18+
gcm-osx-x64-(.*)\.pkg
19+
gcm-osx-arm64-(.*)\.pkg

0 commit comments

Comments
 (0)