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 2.0.866 #944

Merged
merged 116 commits into from
Nov 3, 2022
Merged

Release 2.0.866 #944

merged 116 commits into from
Nov 3, 2022

Conversation

ldennington
Copy link
Contributor

@ldennington ldennington commented Nov 3, 2022

Changes:

ldennington and others added 30 commits July 11, 2022 09:35
Update DISTOUT variable in build.sh to use RUNTIME variable instead of
hard-coding osx-x64.
macos build: use runtime instead of osx-x64
Deleted instruction concerning 'Expire access tokens' option when setting up OAuth app.
Delete outdated instruction for GitLab Support
Update release workflows to consume new autorotated SSL certificate. There
are two main parts:

1. Add the "SendX5c" : "true" key value pair to the contents of our ESRP
Auth Json file. This allows us to use the new auto-rotating certificate
without having to upload/manage it from our App Registration.i

2. Remove the AZURE_AAD_ID_SSL secret/environment variable. The new
certificate was generated with our main AZURE_AAD_ID app registration, so
this extra ID is no longer needed.
release: consume auto-rotated SSL certificate
Bumps [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) from 12.0.3 to 13.0.1.
- [Release notes](https://github.com/JamesNK/Newtonsoft.Json/releases)
- [Commits](JamesNK/Newtonsoft.Json@12.0.3...13.0.1)

---
updated-dependencies:
- dependency-name: Newtonsoft.Json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Also adjusts the entire workflow to only run if a PR or push contains changes to a markdown file
Add broken link checking Action
The macos-10.15 image for CI builds is deprecated on GitHub Actions. We
should update this to a supported image.

Given we are actually running our release builds on macos-latest, we
should probably be running CI on the same image too!
Do not wait for the Git process to exit until we start reading from
the stdout stream, to prevent a deadlock. This is what we do in the
product code too.
Reorder Git config list process exit wait in diagnose command
Bumps [DavidAnson/markdownlint-cli2-action](https://github.com/DavidAnson/markdownlint-cli2-action) from 5.1.0 to 6.
- [Release notes](https://github.com/DavidAnson/markdownlint-cli2-action/releases)
- [Commits](DavidAnson/markdownlint-cli2-action@744f913...d199b6e)

---
updated-dependencies:
- dependency-name: DavidAnson/markdownlint-cli2-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
…c/shared/Core/Newtonsoft.Json-13.0.1

build(deps): bump Newtonsoft.Json from 12.0.3 to 13.0.1 in /src/shared/Core
…ctions/DavidAnson/markdownlint-cli2-action-6

build(deps): bump DavidAnson/markdownlint-cli2-action from 5.1.0 to 6
Bumps [lycheeverse/lychee-action](https://github.com/lycheeverse/lychee-action) from 1.5.0 to 1.5.1.
- [Release notes](https://github.com/lycheeverse/lychee-action/releases)
- [Commits](lycheeverse/lychee-action@76ab977...4a5af7c)

---
updated-dependencies:
- dependency-name: lycheeverse/lychee-action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
…ctions/lycheeverse/lychee-action-1.5.1

build(deps): bump lycheeverse/lychee-action from 1.5.0 to 1.5.1
The previous Azure resource architecture separated GCM and Microsoft Git
resources into different Resource Groups. This led to redundancy - we were
storing all our secrets, certificates, etc. in two places. These updates
reflect the consolidation of these resources into the new esrp Resource
Group.
release: update Azure storage resource names
Bumps [mjcheetham/update-homebrew](https://github.com/mjcheetham/update-homebrew) from 1.1 to 1.2.
- [Release notes](https://github.com/mjcheetham/update-homebrew/releases)
- [Commits](mjcheetham/update-homebrew@v1.1...v1.2)

---
updated-dependencies:
- dependency-name: mjcheetham/update-homebrew
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
…ctions/mjcheetham/update-homebrew-1.2

build(deps): bump mjcheetham/update-homebrew from 1.1 to 1.2
Update release asset regex to specify runtime and version groups so that
update-homebrew task can correctly detect version. Additionally, remove
alwaysUsePullRequest parameter so that Homebrew releases become automatic.
Add basic installer validation to release pipeline for Windows,
macOS (x64 only), and Linux (Debian package only). Validation runs the
installers/any necessary setup and checks that the installed version
matches the expected version.
The dotnet team recently added support for installing natively from Jammy feeds on
Ubuntu 22.04:

dotnet/core#7699

This unfortunately created problems with our current install from source
script, as it caused conflicts with
the packages.microsoft.com feed we use for Debian/Ubuntu.

This change modifies the Debian/Ubuntu dotnet install process to install from
Jammy feeds for users on Ubuntu 22.04 and greater while continuing to use
the packages.microsoft.com feed for Debian and older Ubuntu versions.
Update comments in the install from source script so that:

1. Sentences begin with capital letters.
2. Sentences end with punctuation.
3. Comments are within 80 characters per line.
Add a new workflow to create issues that will notify GCM users and
contributors of when maintainers are away and the repo is not being
actively monitored. This workflow is controlled by a `workflow_dispatch`
trigger that requires both a start date and end date for maintainer
absence before running.
mjcheetham and others added 25 commits October 14, 2022 15:00
Add icon to dotnet tool NuGet package
This required fixing some newly found lint issues.

Additionally some issues are in files (workflow templates) that are structured in such a way that do not easily allow correction, so I have adjusted the linter configuration to ignore these files for now. They could instead be corrected in a later commit.
Create symlinks and shim/copy-executables for the original exec
"git-credential-manager-core(.exe)" name for consumers who have not
updated to the new name.

We detect if the consumer is launching us via the "-core" symlink or
executable shim by consulting the platform-native APIs to get the
original "argv[0]". All of the .NET APIs sadly don't give us the real
"argv[0]", so we need to use native APIs...

If we detect use of the old name, print a warning that the user should
update their configuration, and a help link for more information.
Add documentation with information about the GCM.exe rename, and how to
fix-up any configuration after the change.

The aka.ms/gcm/rename shortlink points to this document.
Rename the main entry executable from
`git-credential-manager-core(.exe)` to simply
`git-credential-manager(.exe)`, now that the older GCM4W has been
removed from the Git for Windows project as an option (and the GCMC
project has been renamed).

We do **not** rename the Debian package ID, nor the Homebrew Cask name
yet as this will require more thought forr migration.

To help with migration somewhat, create symlinks and
shim/copy-executables for the original executable name
"git-credential-manager-core(.exe)" for consumers who have not updated
to the new version.
    
We detect if the consumer is launching us via the "-core" symlink or
executable shim by consulting the platform-native APIs to get the
original "argv[0]". All of the .NET APIs sadly don't give us the real
"argv[0]", so we need to use native APIs...
    
If we detect use of the old name, print a warning that the user should
update their configuration, and a help link for more information.
This required fixing some newly found lint issues.

Additionally some issues are in files (workflow templates) that are
structured in such a way that do not easily allow correction, so I have
adjusted the linter configuration to ignore these files for now. They
could instead be corrected in a later commit.
When building the entire solution, we need to ensure the various
"Installer.<OS>" and "Packaging.<OS>" projects are not built at the same
time as other projects, especially on Windows, where we may hit file
locking problems.

The installer projects call a build script internally that calls a
`dotnet publish` on various projects. By making the installer projects
reference (but not consume) the dependent projects we ensure MSBuild
won't build them until the end, and prevent file access errors.

At the same time, we can probably remove the "-m:1" flags that tell
MSBuild to only build one project at a time.
Accidentally left off the `[DllImport]` attribute when adding this
`extern`.. now it'll actually point to the correct function in the DLL.
…vices (#920)

This adds support for another popular OSS project (KDE) to Git
Credential Manager.
Bumps [actions/setup-dotnet](https://github.com/actions/setup-dotnet) from 3.0.2 to 3.0.3.
- [Release notes](https://github.com/actions/setup-dotnet/releases)
- [Commits](actions/setup-dotnet@v3.0.2...v3.0.3)

---
updated-dependencies:
- dependency-name: actions/setup-dotnet
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
build(deps): bump actions/setup-dotnet from 3.0.2 to 3.0.3
When building the entire solution, we need to ensure the various
"Installer.<OS>" and "Packaging.<OS>" projects are not built at the same
time as other projects, especially on Windows, where we may hit file
locking problems.

The installer projects call a build script internally that calls a
`dotnet publish` on various projects. By making the installer projects
reference (but not consume) the dependent projects we ensure MSBuild
won't build them until the end, and prevent file access errors.

At the same time, we can probably remove the "-m:1" flags that tell
MSBuild to only build one project at a time.
In an effort to make our README more concise, move GCM install
instructions into a new install.md file. Additionally, add a section
detailing how to install GCM as a dotnet tool.
In an effort to make our README more concise, move additional resources
into a new docs/README.md file.
In an effort to make the `README` more concise, move install
instructions/additional resources into new `install.md` and
`docs/README.md` files.
Some link references were broken, e.g. `[gcm-wsl]: docs/wsl.md` led to `.../docs/docs/wsl.md` (note 2 `docs` in path) This PR fixes those links to properly point to `.../docs/x.md` (1 `docs` in path)
Some link references were broken, e.g. `[gcm-wsl]: docs/wsl.md` led to
`.../docs/docs/wsl.md` (note 2 `docs` in path) This PR fixes those links
to properly point to `.../docs/x.md` (1 `docs` in path)
Change absolute paths to relative paths in install.md to remain
consistent with the style used in other files.
The Network diagnostic currently makes two passes of the tests, one
using a 'raw' `HttpClient` and another using one created by the product
`HttpClientFactory`.

However, we've not actually been using the factory-built client in the
tests! Furthermore, the raw HTTP client will not exercise test correctly
if the machine is behind a corporate proxy, so let's just drop that
option.
Remove the trigger to automatically run the release workflow when
changes are merged to the release branch. This will give us better
control over our release process and allow us to make changes to the
branch if needed without running the workflow.
The Network diagnostic currently makes two passes of the tests, one
using a 'raw' `HttpClient` and another using one created by the product
`HttpClientFactory`.

However, we've not actually been using the factory-built client in the
tests! Furthermore, the raw HTTP client will not exercise test correctly
if the machine is behind a corporate proxy, so let's just drop that
option.

Fixes #927
Remove the trigger to automatically run the release workflow when
changes are merged to the release branch. This will give us better
control over our release process and allow us to make changes to the
branch if needed without running the workflow.
@ldennington ldennington marked this pull request as ready for review November 3, 2022 19:46
@ldennington ldennington merged commit e7866ea into release Nov 3, 2022
@ldennington ldennington changed the title Release Release 2.0.866 Nov 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet