Skip to content
New issue

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

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

Already on GitHub? Sign in to your account

Release v2.2.0 #1306

Merged
merged 95 commits into from
Jun 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
95 commits
Select commit Hold shift + click to select a range
39504ac
platformutils: use .NET Environment.OSVersion on CoreCLR
mjcheetham May 3, 2023
1288245
platformutils: avoid procstart to get Linux distro info
mjcheetham May 3, 2023
83d9880
Update gitlab.md
OnSive May 8, 2023
b841181
Add support for `httpCookieFile`
miya789 May 13, 2023
00657e0
Code format in gitlab.md (#1243)
ldennington May 15, 2023
1110086
Avoid creating external processes to read OS version info (#1240)
mjcheetham May 15, 2023
30fac8e
build(deps): bump lycheeverse/lychee-action from 1.7.0 to 1.8.0
dependabot[bot] May 15, 2023
8db67cd
build(deps): bump lycheeverse/lychee-action from 1.7.0 to 1.8.0 (#1260)
ldennington May 15, 2023
98504a8
release: move secrets to workflow environment
ldennington May 17, 2023
0a16b0e
release: add release workflow environment (#1262)
ldennington May 17, 2023
eaea2cb
release: decouple .NET tool
ldennington May 17, 2023
5f22e5e
release: remove .NET tool deployment from release workflow (#1263)
ldennington May 19, 2023
97d39b0
platformutils: use Version.ToString() to get number only
mjcheetham May 19, 2023
c8bec66
platformutils: use `Version.ToString()` to get number only (#1264)
mjcheetham May 19, 2023
3119578
cmd: update System.CommandLine to latest version
mjcheetham May 19, 2023
d216b53
Update `System.CommandLine` to latest version (#1265)
mjcheetham May 19, 2023
2544bb1
cmd: add ability to suppress GUI from cmdline
mjcheetham May 19, 2023
9d981a9
cmd: add `AddOptionSet` extension method with arity support
mjcheetham May 19, 2023
1ab6456
secretservice: extract enumeration from get call
mjcheetham Mar 1, 2023
28edc00
credentialstore: add ability to list accounts from stores
mjcheetham Mar 1, 2023
b609c7e
github: inline impl of abstract HostProvider class
mjcheetham Mar 1, 2023
2f97357
github: refactor GenerateCredentialAsync to take URI
mjcheetham May 19, 2023
12ff0cf
github: add basic cmds to manage accounts
mjcheetham May 18, 2023
d016f33
github: add `--username` and auth options to `login`
mjcheetham May 19, 2023
446ac04
github: only re-auth if --force option is used with login
mjcheetham May 23, 2023
483d6d3
github: add prompt to select accounts
mjcheetham Mar 1, 2023
5fe5b35
github: support multiple accounts with explicit prompt
mjcheetham May 19, 2023
28b2091
docs: add TL;DR section on how to update remote URL
mjcheetham Apr 5, 2023
eb466ca
build(deps): bump actions/setup-dotnet from 3.0.3 to 3.1.0
dependabot[bot] May 25, 2023
ff3eaba
build(deps): bump actions/setup-dotnet from 3.0.3 to 3.1.0 (#1273)
ldennington May 25, 2023
87a9678
Link to relevant GitLab issue
hickford May 27, 2023
b74f9ab
http: fix implementation of setting cookie
miya789 May 23, 2023
8d7675a
http: `CurlCookie` as a separate file
miya789 May 24, 2023
66287c0
http: add tests about `CurlCookie.cs`
miya789 May 24, 2023
c284e9b
http: fix comment
miya789 May 29, 2023
fccc5a6
build(deps): bump actions/setup-dotnet from 3.1.0 to 3.2.0
dependabot[bot] May 29, 2023
5876fd1
Link to relevant GitLab issue (#1275)
ldennington May 30, 2023
c6c3579
build(deps): bump actions/setup-dotnet from 3.1.0 to 3.2.0 (#1277)
ldennington May 30, 2023
b94ade0
github: add double-click to select behaviour to select account
mjcheetham May 31, 2023
e34dba7
github: add multi-account prompt and login/logout commands (#1267)
mjcheetham Jun 1, 2023
c194a22
ci: upload artifacts from CI builds
mjcheetham Jun 1, 2023
ae15915
Upload artifacts from CI builds (#1279)
mjcheetham Jun 1, 2023
2a79403
github: fix bug passing username hint to cred lookup
mjcheetham Jun 1, 2023
d66558b
Fix bug passing username hint to credential lookup (#1280)
Jun 1, 2023
fd7f4ac
dependencies: update to .NET 7.0
ldennington May 31, 2023
5d4a112
dependencies: update microsoft.identity.client
ldennington May 31, 2023
9dac85e
dependencies: update json.net to system.text.json
ldennington Jun 2, 2023
f1bed77
system.text.json: bitbucket rest api custom converter
ldennington May 31, 2023
865a3c5
system.text.json: trace2message updates
ldennington May 25, 2023
50c7edc
system.text.json: update bitbucket rest api
ldennington May 25, 2023
a155176
system.text.json: update github rest api
ldennington May 25, 2023
71d03fb
system.text.json: update oauth
ldennington May 25, 2023
2e153ce
system.text.json: update azure devops tests
ldennington May 25, 2023
d51b59f
Fix the namespace of CurlCookie.cs
miya789 Jun 6, 2023
98281d5
http: fix to use `StringComparer`
miya789 Jun 6, 2023
cebbc73
http: fix to use `string.IsNullOrWhiteSpace`
miya789 Jun 6, 2023
417c9b3
http: modify `UseCookies` to be set to true
miya789 Jun 6, 2023
a656832
http: fix the namespace of `CurlCookie.cs`
miya789 Jun 6, 2023
3501afd
http: remove `CurlCookie`
miya789 Jun 6, 2023
af429fe
oauth: preserve exact original redirect URL
mjcheetham Jun 6, 2023
b550293
dependencies: migrate from json.net to `system.text.json` (#1274)
ldennington Jun 6, 2023
7d414f4
Add support for `httpCookieFile` (#1251)
mjcheetham Jun 6, 2023
bad262e
dotnet: update install from src script to target .NET 7
mjcheetham Jun 6, 2023
83d0fb1
install from source: upgrade to .NET 7.0
ldennington Jun 7, 2023
6109dc3
dotnet: update install from src script to target .NET 7 (#1282)
Jun 7, 2023
4e8674a
Preserve exact original redirect URL in OAuth client (#1281)
mjcheetham Jun 8, 2023
88b6ebe
github: use 127.0.0.1 redirect over localhost
mjcheetham Jun 8, 2023
6d44635
dict: add support for read/writing multidictionaries
mjcheetham Mar 1, 2023
e104c18
input: parse and surface `wwwauth[]` Git input args
mjcheetham Mar 1, 2023
e4e0826
streamexttests: use AssertDictionary helper
mjcheetham Jun 12, 2023
f6b0259
Use 127.0.0.1 redirect over localhost for GitHub (#1286)
mjcheetham Jun 12, 2023
1b13045
Read new `wwwauth[]` input from Git 2.41 (#1288)
Jun 12, 2023
ab2caef
azrepos: look at wwwauth[] for authority in first instance
mjcheetham May 25, 2023
2f1f461
build(deps): bump DavidAnson/markdownlint-cli2-action
dependabot[bot] Jun 13, 2023
00e05eb
install from source: designate archlinux as unsupported
ldennington Jun 13, 2023
e055639
install from source: designate arch linux as unsupported (#1291)
ldennington Jun 14, 2023
d721e32
build(deps): bump DavidAnson/markdownlint-cli2-action from 10.0.1 to …
ldennington Jun 14, 2023
0ae7f47
Prefer authority from `wwwauth[]` if present for Azure Repos (#1289)
mjcheetham Jun 15, 2023
e63938f
Clarify to install GCM for Windows for WSL
philsttr Jun 20, 2023
05f8e0d
replace deprecated 'dnf update' alias with 'dnf upgrade'
JWShaw Jun 20, 2023
f7c9d78
validate-install-from-source: enforce bullseye
ldennington Jun 20, 2023
d1044de
validate-install-from-source: add workflow dispatch
ldennington Jun 20, 2023
2be0275
Clarify to install GCM for Windows for WSL (#1299)
mjcheetham Jun 20, 2023
f8bac8b
validate-install-from-source: fix debian (#1301)
ldennington Jun 20, 2023
3193c5f
Add support for Mariner Linux.
Jun 8, 2023
efe44f6
Fix format error.
Jun 8, 2023
43beca7
Add a warning to users that they are not supported or validated by th…
Jun 16, 2023
e6a48c5
Replace TAB with Spaces to fix indents.
Jun 16, 2023
4374807
Add support for Microsoft Mariner Linux. (#1284)
ldennington Jun 21, 2023
d045abe
Replace DNF's deprecated 'dnf update' alias with 'dnf upgrade' (#1300)
ldennington Jun 22, 2023
2f88662
githubauth: add wwwauth header parsing
mjcheetham Jun 22, 2023
0521f2d
github: list accounts in GitHub account selection tracing
mjcheetham Jun 22, 2023
d70a146
github: filter GitHub.com accounts based on WWW-Auth headers
mjcheetham Jun 22, 2023
a211bab
Add support for GitHub enterprise-managed user accounts (#1190)
mjcheetham Jun 23, 2023
8e3867f
version: bump to 2.2.0
mjcheetham Jun 26, 2023
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
127 changes: 108 additions & 19 deletions .github/workflows/continuous-integration.yml
Original file line number Diff line number Diff line change
@@ -1,43 +1,132 @@
name: GCM
name: ci

on:
workflow_dispatch:
push:
branches: [ main, linux ]
branches: [ main ]
pull_request:
branches: [ main, linux ]
branches: [ main ]

jobs:
validate_gcm:
name: "CI"

runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-latest]
# ================================
# Windows
# ================================
windows:
name: Windows
runs-on: windows-latest

steps:
- uses: actions/checkout@v3

- name: Setup .NET
uses: actions/setup-dotnet@v3.0.3
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 6.0.201

- name: Install dependencies
run: dotnet restore

- name: Build Windows
if: contains(matrix.os, 'windows')
- name: Build
run: dotnet build --configuration WindowsRelease

- name: Build Linux
if: contains(matrix.os, 'ubuntu')
- name: Test
run: |
dotnet test --verbosity normal --configuration=WindowsRelease

- name: Prepare artifacts
shell: bash
run: |
mkdir -p artifacts/bin
mv out/windows/Installer.Windows/bin/Release/net472/win-x86 artifacts/bin/
cp out/windows/Installer.Windows/bin/Release/net472/win-x86.sym/* artifacts/bin/win-x86/
mv out/windows/Installer.Windows/bin/Release/net472/gcm*.exe artifacts/

- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: win-x86
path: |
artifacts

# ================================
# Linux
# ================================
linux:
name: Linux
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v3

- name: Setup .NET
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 6.0.201

- name: Install dependencies
run: dotnet restore

- name: Build
run: dotnet build --configuration LinuxRelease

- name: Build macOS
if: contains(matrix.os, 'macos')
run: dotnet build --configuration MacRelease
- name: Test
run: |
dotnet test --verbosity normal --configuration=LinuxRelease

- name: Prepare artifacts
run: |
mkdir -p artifacts
mv out/linux/Packaging.Linux/Release/deb/*.deb artifacts/
mv out/linux/Packaging.Linux/Release/tar/*.tar.gz artifacts/

- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: linux-x64
path: |
artifacts

# ================================
# macOS
# ================================
osx:
name: macOS
runs-on: macos-latest
strategy:
matrix:
runtime: [ osx-x64, osx-arm64 ]

steps:
- uses: actions/checkout@v3

- name: Setup .NET
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 6.0.201

- name: Install dependencies
run: dotnet restore

- name: Build
run: |
dotnet build src/osx/Installer.Mac/*.csproj \
--configuration=Release --no-self-contained \
--runtime=${{ matrix.runtime }}

- name: Test
run: dotnet test --verbosity normal
run: |
dotnet test --verbosity normal --configuration=MacRelease

- name: Prepare artifacts
run: |
mkdir -p artifacts/bin
mv out/osx/Installer.Mac/pkg/Release/payload "artifacts/bin/${{ matrix.runtime }}"
cp out/osx/Installer.Mac/pkg/Release/payload.sym/* "artifacts/bin/${{ matrix.runtime }}/"
mv out/osx/Installer.Mac/pkg/Release/gcm*.pkg artifacts/

- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.runtime }}
path: |
artifacts
4 changes: 2 additions & 2 deletions .github/workflows/lint-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ jobs:
steps:
- uses: actions/checkout@v3

- uses: DavidAnson/markdownlint-cli2-action@bb4bb94c73936643d73d345b48fead3e96f90a5e
- uses: DavidAnson/markdownlint-cli2-action@8f3516061301755c97ff833a8e933f09282cc5b5
with:
globs: |
"**/*.md"
Expand All @@ -35,7 +35,7 @@ jobs:
- name: Run link checker
# For any troubleshooting, see:
# https://github.com/lycheeverse/lychee/blob/master/docs/TROUBLESHOOTING.md
uses: lycheeverse/lychee-action@97189f2c0a3c8b0cb0e704fd4e878af6e5e2b2c5
uses: lycheeverse/lychee-action@ec3ed119d4f44ad2673a7232460dc7dff59d2421

with:
# user-agent: if a user agent is not specified, some websites (e.g.
Expand Down
22 changes: 22 additions & 0 deletions .github/workflows/release-dotnet-tool.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: release-dotnet-tool
on:
release:
types: [released]

jobs:
release:
runs-on: windows-latest
environment: release
steps:
- name: Download NuGet package from release and publish
run: |
# Get asset information
$github = Get-Content '${{ github.event_path }}' | ConvertFrom-Json
$asset = $github.release.assets | Where-Object -Property name -match '.nupkg$'

# Download asset
Invoke-WebRequest -Uri $asset.browser_download_url -OutFile $asset.name

# Publish asset
dotnet nuget push $asset.name --api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json
shell: powershell
1 change: 1 addition & 0 deletions .github/workflows/release-homebrew.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ on:
jobs:
release:
runs-on: ubuntu-latest
environment: release
steps:
- name: Update Homebrew tap
uses: mjcheetham/update-homebrew@v1.3
Expand Down
27 changes: 15 additions & 12 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -10,14 +10,15 @@ jobs:
osx-build:
name: Build macOS
runs-on: macos-latest
environment: release
strategy:
matrix:
runtime: [ osx-x64, osx-arm64 ]
steps:
- uses: actions/checkout@v3

- name: Set up dotnet
uses: actions/setup-dotnet@v3.0.3
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 6.0.201

Expand Down Expand Up @@ -70,6 +71,7 @@ jobs:
name: Sign macOS payload
# ESRP service requires signing to run on Windows
runs-on: windows-latest
environment: release
strategy:
matrix:
runtime: [ osx-x64, osx-arm64 ]
Expand Down Expand Up @@ -140,7 +142,7 @@ jobs:
run: echo "VERSION=$(cat VERSION | sed -E 's/.[0-9]+$//')" >> $GITHUB_ENV

- name: Set up dotnet
uses: actions/setup-dotnet@v3.0.3
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 6.0.201

Expand Down Expand Up @@ -172,6 +174,7 @@ jobs:
name: Sign and notarize macOS package
# ESRP service requires signing to run on Windows
runs-on: windows-latest
environment: release
strategy:
matrix:
runtime: [ osx-x64, osx-arm64 ]
Expand Down Expand Up @@ -242,11 +245,12 @@ jobs:
win-sign:
name: Build and Sign Windows
runs-on: windows-latest
environment: release
steps:
- uses: actions/checkout@v3

- name: Set up dotnet
uses: actions/setup-dotnet@v3.0.3
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 6.0.201

Expand Down Expand Up @@ -347,7 +351,7 @@ jobs:
- uses: actions/checkout@v3

- name: Setup .NET
uses: actions/setup-dotnet@v3.0.3
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 6.0.201

Expand Down Expand Up @@ -375,6 +379,7 @@ jobs:
needs: linux-build
# ESRP service requires signing to run on Windows
runs-on: windows-latest
environment: release
steps:
- uses: actions/checkout@v3

Expand Down Expand Up @@ -433,7 +438,7 @@ jobs:
- uses: actions/checkout@v3

- name: Setup .NET
uses: actions/setup-dotnet@v3.0.3
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 6.0.201

Expand All @@ -452,6 +457,7 @@ jobs:
name: Sign .NET tool payload
# ESRP service requires signing to run on Windows
runs-on: windows-latest
environment: release
needs: dotnet-tool-build
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -525,7 +531,7 @@ jobs:
path: signed

- name: Setup .NET
uses: actions/setup-dotnet@v3.0.3
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 6.0.201

Expand All @@ -545,6 +551,7 @@ jobs:
name: Sign .NET tool package
# ESRP service requires signing to run on Windows
runs-on: windows-latest
environment: release
needs: dotnet-tool-pack
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -690,6 +697,7 @@ jobs:
create-github-release:
name: Publish GitHub draft release
runs-on: ubuntu-latest
environment: release
needs: [ validate ]
steps:
- uses: actions/checkout@v3
Expand All @@ -700,7 +708,7 @@ jobs:
echo "VERSION=$(cat VERSION | sed -E 's/.[0-9]+$//')" >> $GITHUB_ENV

- name: Set up dotnet
uses: actions/setup-dotnet@v3.0.3
uses: actions/setup-dotnet@v3.2.0
with:
dotnet-version: 6.0.201

Expand Down Expand Up @@ -783,8 +791,3 @@ jobs:
// Upload .NET tool package
uploadDirectoryToRelease('dotnet-tool-sign'),
]);

- name: Publish .NET tool to nuget.org
run: |
dotnet nuget push dotnet-tool-sign/*.nupkg \
--api-key ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json
4 changes: 2 additions & 2 deletions .github/workflows/validate-install-from-source.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
name: validate-install-from-source

on:
workflow_dispatch:
push:
branches:
- main
Expand All @@ -14,7 +15,7 @@ jobs:
matrix:
vector:
- image: ubuntu
- image: debian
- image: debian:bullseye
- image: fedora
# Centos no longer officially maintains images on Docker Hub. However,
# tgagor is a contributor who pushes updated images weekly, which should
Expand All @@ -26,7 +27,6 @@ jobs:
- image: opensuse/leap
- image: opensuse/tumbleweed
- image: registry.suse.com/suse/sle15:15.4.27.11.31
- image: archlinux
container: ${{matrix.vector.image}}
steps:
- run: |
Expand Down
4 changes: 2 additions & 2 deletions .vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/out/shared/Git-Credential-Manager/bin/Debug/net6.0/git-credential-manager.dll",
"program": "${workspaceFolder}/out/shared/Git-Credential-Manager/bin/Debug/net7.0/git-credential-manager.dll",
"args": ["get"],
"cwd": "${workspaceFolder}/out/shared/Git-Credential-Manager",
"console": "integratedTerminal",
Expand All @@ -22,7 +22,7 @@
"request": "launch",
"preLaunchTask": "build",
// If you have changed target frameworks, make sure to update the program path.
"program": "${workspaceFolder}/out/shared/Git-Credential-Manager/bin/Debug/net6.0/git-credential-manager.dll",
"program": "${workspaceFolder}/out/shared/Git-Credential-Manager/bin/Debug/net7.0/git-credential-manager.dll",
"args": ["store"],
"cwd": "${workspaceFolder}/out/shared/Git-Credential-Manager",
"console": "integratedTerminal",
Expand Down
4 changes: 2 additions & 2 deletions .vscode/tasks.json
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@
"type": "shell",
"group": "test",
"args": [
"~/.nuget/packages/reportgenerator/*/*/net6.0/ReportGenerator.dll",
"~/.nuget/packages/reportgenerator/*/*/net7.0/ReportGenerator.dll",
"-reports:${workspaceFolder}/**/TestResults/**/coverage.cobertura.xml",
"-targetdir:${workspaceFolder}/out/code-coverage"
],
Expand All @@ -71,7 +71,7 @@
"type": "shell",
"group": "test",
"args": [
"${env:USERROFILE}/.nuget/packages/reportgenerator/*/*/net6.0/ReportGenerator.dll",
"${env:USERROFILE}/.nuget/packages/reportgenerator/*/*/net7.0/ReportGenerator.dll",
"-reports:${workspaceFolder}/**/TestResults/**/coverage.cobertura.xml",
"-targetdir:${workspaceFolder}/out/code-coverage"
],
Expand Down
Loading