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] Create new release #260

Merged
merged 35 commits into from
Jan 8, 2021
Merged

[Release] Create new release #260

merged 35 commits into from
Jan 8, 2021

Conversation

mjcheetham
Copy link
Collaborator

@mjcheetham mjcheetham commented Jan 8, 2021

Changes:

mjcheetham and others added 30 commits November 18, 2020 14:22
Update the Nerdbank.GitVersioning package to the latest version (3.3.37)
to consume a fix for the removal of the `set-env` command in GitHub
Actions.

Previous versions of GitVersioning use the `set-env` command to set the
cloud build number. The new version uses "environment files" which is
the replacement for `set-env`.
Update GitVersioning package
Create a new Github workflow for deploying the .deb installer from a release to packages.microsoft.com
Co-authored-by: Matthew John Cheetham <mjcheetham@github.com>
Refactor in order to simplify adding more tests
Add the required source suppressions for false positive identification
of credentials, raised by the internal CredScan tool.

Most of the identified matches are fake credentials for unit tests.
One match was the GitHub OAuth2 application client secret, which per
issue #228 valid and an accepted & required 'secret' to be public.
Add suppressions for credscan false positives
Git configuration entry keys are neither case sensitive, nor
in-sensitive. They are mixed sensitive.

The section and property names are NOT sensitive, but the 'scope' or
inner component of the full name IS sensitive.

For example, `credential.example.com.provider` is the same as
`CREDENTIAL.example.com.PROVIDER`, but `credential.EXAMPLE.COM.provider`
is NOT.

We introduce a new StringComparer type that performs insensitive
comparison on the section and property components, and sensitive
comparison on the scope component.
Add more tests to the GitConfigurationKeyComparer tests, specifically
around cases that contain no period/dots '.'.

In these cases we behave as StringComparer.Ordinal.
Match Git config in a mixed-sensitively way
Add an authentication mode to the GitHub provider whereby a Personal
Access Token can be returned directly, as generated by a user manually.

Update the terminal-based UI menu to support the new PAT mode.
Update the WPF-based Windows GUI for GitHub authentication prompts to
support the third authentication mode "PAT".

Also make some changes to how the dialog window is sized to scale with
the size of the content (mins and maxes included), which may now vary in
the extreme from all three auth options, to just one.
Correctly quote and escape arguments passed to authentication helpers
via the process arguments.
Add explicit PAT authentication mode for the GitHub Provider
Remove the use of box drawing characters in the warning output messages
for TLS verification being disabled. Some systems (looking at you
Windows) struggle with such characters. Replace them with simpler
characters.

Whilst we're at it, also remove box drawing characters from code
comments. Even though these aren't a problem, let's just do it for
consistency.
Remove use of box drawing characters in warning output
Replace our use of `secret_value_unref_to_password` which was only
introduced in libsecret 0.19.0, with `secret_value_get` and a separate
`secret_value_unref` call which is available in all versions.

This will allow us to work on older distributions that may only include
older versions of libsecret, specifically Ubuntu 18.04 LTS which
includes libsecret 0.18. Version 0.20 of libsecret was only introduced
from Ubuntu 19.04.
Use down-level libsecret functions to get secret values
Some users had questions about SSH, and if it HTTPS-based remotes with GCM Core was preferred to SSH.
SSH is here to stay and is a perfectly fine and valid mechanism. GCM Core is only useful for HTTP(S) remotes.

Fixes #191
Co-authored-by: Matthew John Cheetham <mjcheetham@outlook.com>
Uri converts to lowercase.
Detect github.my-company-server.com as GitHub
Ensure the /usr/local/bin directory exists on macOS installations before
we create the symlink for GCM Core. The directory does not exist on
freshly installed Macs.
Add a local nuget.config file to force the package source used for NuGet
packages to be only the nuget.org public feed.

There have been problems with some CI agents that don't have a
global/default nuget.org package source.
Ensure the /usr/local/bin directory exists on install
Ensure the Personal Access Token authentication mode is always offered
for GitHub Enterprise Server instances.
Ensure the PAT option is always offered for GHES instances
Update the readme file to explain the difference between the two Windows installers.
Copy link
Contributor

@derrickstolee derrickstolee left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍

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

3 participants