Add workflow to automatically check code style issues for PRs (#4670)

* Add workflow to perform automated checks for PRs

* Downgrade Microsoft.CodeAnalysis to 4.4.0

This is a workaround to fix issues with dotnet-format.
See:
- https://github.com/dotnet/format/issues/1805
- https://github.com/dotnet/format/issues/1800

* Adjust editorconfig to be more compatible with Ryujinx code-style

* Adjust .editorconfig line endings to match .gitattributes

* Disable 'prefer switch expression' rule

* Remove naming styles

These are the default rules, so we don't need to override them.

* Silence IDE0060 in .editorconfig

* Slightly adjust .editorconfig

* Add lost workflow changes

* Move .editorconfig comment to the top

* .editorconfig: private static readonly fields should be _lowerCamelCase

* .editorconfig: Remove alignment for declarations as well

* editorconfig: Add rule for local constants

* Disable CA1822 for HLE services

* Disable CA1822 for ViewModels

Bindings won't work with static members, but this issue is silently ignored.

* Run dotnet format for the whole solution

* Check result code of SDL_GetDisplayBounds

* Fix dotnet format style issues

* Add missing trailing commas

* Update Microsoft.CodeAnalysis.CSharp to 4.6.0

Skipping 4.5.0 since it breaks dotnet format

* Restore old default naming rules for dotnet format

* Add naming rule exception for CPU tests

* checks: Include all files before excluding paths

* Fix dotnet format issues

* Check dotnet format version

* checks: Run dotnet format with severity info again

* checks: Disable naming style rules until they won't crash the process anymore

* Remove unread private member

* checks: Attempt to run analyzers 3 times before giving up

* checks: Enable naming style rules again with the new retry logic
This commit is contained in:
TSRBerry 2023-07-24 18:35:04 +02:00 committed by GitHub
parent 487261592e
commit eb528ae0f0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
84 changed files with 252 additions and 160 deletions

View file

@ -33,7 +33,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
info.BorderColor.Red,
info.BorderColor.Green,
info.BorderColor.Blue,
info.BorderColor.Alpha
info.BorderColor.Alpha,
};
GL.SamplerParameter(Handle, SamplerParameterName.TextureBorderColor, borderColor);

View file

@ -133,7 +133,7 @@ void main()
1 => SizedInternalFormat.R8ui,
2 => SizedInternalFormat.Rg8ui,
4 => SizedInternalFormat.Rgba8ui,
_ => throw new ArgumentException($"Invalid components count {componentsCount}.")
_ => throw new ArgumentException($"Invalid components count {componentsCount}."),
};
}
else if (componentSize == 2)
@ -143,7 +143,7 @@ void main()
1 => SizedInternalFormat.R16ui,
2 => SizedInternalFormat.Rg16ui,
4 => SizedInternalFormat.Rgba16ui,
_ => throw new ArgumentException($"Invalid components count {componentsCount}.")
_ => throw new ArgumentException($"Invalid components count {componentsCount}."),
};
}
else if (componentSize == 4)
@ -153,7 +153,7 @@ void main()
1 => SizedInternalFormat.R32ui,
2 => SizedInternalFormat.Rg32ui,
4 => SizedInternalFormat.Rgba32ui,
_ => throw new ArgumentException($"Invalid components count {componentsCount}.")
_ => throw new ArgumentException($"Invalid components count {componentsCount}."),
};
}
else

View file

@ -173,7 +173,7 @@ void main()
4 => SizedInternalFormat.R32ui,
8 => SizedInternalFormat.Rg32ui,
16 => SizedInternalFormat.Rgba32ui,
_ => throw new ArgumentException($"Invalid bytes per pixel {bytesPerPixel}.")
_ => throw new ArgumentException($"Invalid bytes per pixel {bytesPerPixel}."),
};
}

View file

@ -72,7 +72,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
(int)Info.SwizzleR.Convert(),
(int)Info.SwizzleG.Convert(),
(int)Info.SwizzleB.Convert(),
(int)Info.SwizzleA.Convert()
(int)Info.SwizzleA.Convert(),
};
if (Info.Format == Format.A1B5G5R5Unorm)
@ -210,7 +210,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
{
Target.Texture2DMultisample => Target.Texture2D,
Target.Texture2DMultisampleArray => Target.Texture2DArray,
_ => Target
_ => Target,
};
TextureView intermmediate = _renderer.TextureCopy.IntermediatePool.GetOrCreateWithAtLeast(
@ -354,7 +354,7 @@ namespace Ryujinx.Graphics.OpenGL.Image
TextureTarget.TextureCubeMapArray => (layer / 6) * mipSize,
TextureTarget.Texture1DArray => layer * mipSize,
TextureTarget.Texture2DArray => layer * mipSize,
_ => 0
_ => 0,
};
}