Skip to content

Add golangci-lint and golines formatting and linting enforcement#68

Merged
ianpittwood merged 6 commits intomainfrom
golang-lint-format
Jan 6, 2025
Merged

Add golangci-lint and golines formatting and linting enforcement#68
ianpittwood merged 6 commits intomainfrom
golang-lint-format

Conversation

@ianpittwood
Copy link
Contributor

@ianpittwood ianpittwood commented Dec 31, 2024

Closes #62

  • Adds golangci-lint configuration
    • Fixes simple golangci-lint problems such as newlines and variable groupings
    • Added nolint comments for future areas in need of fixing, including moderate complexity and security warnings
    • Code reformatted using gofumpt
    • tests and mocks excluded, though tests could eventually be reenabled
  • Adds golines formatting for line length
  • Adds linting/formatting GHA workflow
  • Adds linting/formatting for Go to pre-commit and just

@github-actions
Copy link

github-actions bot commented Dec 31, 2024

Test Results

77 tests   76 ✅  5s ⏱️
 1 suites   1 💤
 1 files     0 ❌

Results for commit fb0e732.

♻️ This comment has been updated with latest results.

@github-actions
Copy link

github-actions bot commented Jan 6, 2025

PTI unit test results

Suites

406 passed, 0 failed, and 0 other

Suite Passed Failed Other Duration
✅ ungrouped
        ✅ Test_NewShellCommand
        ✅ Test_ShellCommand_Run/success
        ✅ Test_ShellCommand_Run/failed_to_start
        ✅ Test_UpdateCACertificates/Test_ubuntu
        ✅ Test_UpdateCACertificates/Test_rockylinux
        ✅ Test_UpdateCACertificates/Test_unsupported_os
        ✅ Test_UpdateCACertificates/Test_run_error
        ✅ Test_UpdateCACertificates
        ✅ Test_GetLocalSystem/Test_Ubuntu
        ✅ Test_GetLocalSystem/Test_CentOS
        ✅ Test_GetLocalSystem/Test_Unsupported_OS
        ✅ Test_GetLocalSystem
        ✅ Test_RequireSudo/Test_as_user
        ✅ Test_RequireSudo/Test_as_root
        ✅ Test_RequireSudo
        ✅ Test_LocalSystem_GetAltArchName/test_amd64
        ✅ Test_LocalSystem_GetAltArchName/test_arm64
        ✅ Test_LocalSystem_GetAltArchName
        ✅ Test_ShellCommand_Run/failed_execution
        ✅ Test_ShellCommand_Run
        ✅ Test_IsPathExist/path_does_not_exist
        ✅ Test_IsPathExist/path_exists
        ✅ Test_IsPathExist
        ✅ Test_IsDir/path_does_not_exist
        ✅ Test_IsDir/path_exists
        ✅ Test_IsDir/path_is_file
        ✅ Test_IsDir
        ✅ Test_IsDir_Symlink/path_is_symlink_to_directory
        ✅ Test_IsDir_Symlink/path_is_symlink_to_file
        ✅ Test_IsDir_Symlink
        ✅ Test_IsFile/path_does_not_exist
        ✅ Test_IsFile/path_exists
        ✅ Test_IsFile/path_is_directory
        ✅ Test_IsFile
        ✅ Test_IsFile_Symlink/path_is_symlink_to_directory
        ✅ Test_IsFile_Symlink/path_is_symlink_to_file
        ✅ Test_IsFile_Symlink
        ✅ Test_IsSymlink/path_is_directory
        ✅ Test_IsSymlink/path_is_file
        ✅ Test_IsSymlink/path_is_symlink_to_directory
        ✅ Test_IsSymlink/path_is_symlink_to_file
        ✅ Test_IsSymlink
        ✅ Test_CreateSymlink/src_does_not_exist
        ✅ Test_CreateSymlink/path_is_directory
        ✅ Test_CreateSymlink/path_is_file
        ✅ Test_CreateSymlink/normal_file_exists_at_target
        ✅ Test_CreateSymlink/symlink_exists
        ✅ Test_CreateSymlink
        ✅ Test_InstallableDir/installable_empty_dir
        ✅ Test_InstallableDir/installable_empty_dir_empty_agnostic
        ✅ Test_InstallableDir/not_empty_dir
        ✅ Test_InstallableDir/not_empty_dir_empty_agnostic
        ✅ Test_InstallableDir/path_does_not_exist
        ✅ Test_InstallableDir/path_is_file
        ✅ Test_InstallableDir/no_path_given
        ✅ Test_InstallableDir
        ✅ Test_Stat/success
        ✅ Test_Stat/path_does_not_exist
        ✅ Test_Stat
        ✅ Test_Create
        ✅ Test_Open
        ✅ Test_moveFile
        ✅ Test_copyFile/success
        ✅ Test_copyFile/source_file_does_not_exist
        ✅ Test_copyFile/source_file_is_not_a_regular_file
        ✅ Test_copyFile
        ✅ Test_moveDir/success
        ✅ Test_moveDir
        ✅ Test_copyDir/success
        ✅ Test_copyDir
        ✅ Test_DownloadFile/successful_request
        ✅ Test_DownloadFile/bad_status_code
        ✅ Test_DownloadFile
        ✅ Test_ExtractTarGz
        ✅ Test_NewAptManager
        ✅ Test_AptManager_Install/no_packages
        ✅ Test_AptManager_Install/runtime_error_not_reached_on_empty_package_list
        ✅ Test_AptManager_Install/string_package_list
        ✅ Test_AptManager_Install/string_package_list_runtime_error
        ✅ Test_AptManager_Install/local_packages_list
        ✅ Test_AptManager_Install/local_packages_list_runtime_error
        ✅ Test_AptManager_Install/local_packages_package_does_not_exist
        ✅ Test_AptManager_Install/string_and_local_packages_list
        ✅ Test_AptManager_Install/string,_file_lists,_and_local_packages
        ✅ Test_AptManager_Install/string,_file_lists,_and_local_packages_with_runtime_error
        ✅ Test_AptManager_Install/file_lists_and_local_packages
        ✅ Test_AptManager_Install/file_lists
        ✅ Test_AptManager_Install/file_list_does_not_exist
        ✅ Test_AptManager_Install
        ✅ Test_AptManager_Remove/no_packages
        ✅ Test_AptManager_Remove/empty_package_runtime_error_not_reached
        ✅ Test_AptManager_Remove/string_packages
        ✅ Test_AptManager_Remove/file_list_packages
        ✅ Test_AptManager_Remove/file_list_does_not_exist
        ✅ Test_AptManager_Remove/string_and_file_list_packages
        ✅ Test_AptManager_Remove/runtime_error
        ✅ Test_AptManager_Remove
        ✅ Test_AptManager_Update/success
        ✅ Test_AptManager_Update/update_runtime_error
        ✅ Test_AptManager_Update
        ✅ Test_AptManager_Upgrade/success
        ✅ Test_AptManager_Upgrade/upgrade_runtime_error
        ✅ Test_AptManager_Upgrade/success_full_upgrade
        ✅ Test_AptManager_Upgrade/full_upgrade_runtime_error
        ✅ Test_AptManager_Upgrade
        ✅ Test_AptManager_Clean/No_error
        ✅ Test_AptManager_Clean/Runtime_error_on_clean
        ✅ Test_AptManager_Clean/Runtime_error_on_autoremove
        ✅ Test_AptManager_Clean
        ✅ Test_AptManager_autoRemove/No_error
        ✅ Test_AptManager_autoRemove/Runtime_error
        ✅ Test_AptManager_autoRemove
        ✅ Test_AptManager_removePackageListCache/success
        ✅ Test_AptManager_removePackageListCache/no_error_for_not_exists
        ✅ Test_AptManager_removePackageListCache
        ✅ Test_NewDnfManager
        ✅ Test_DnfManager_Install/no_packages
        ✅ Test_DnfManager_Install/runtime_error_not_reached_on_empty_package_list
        ✅ Test_DnfManager_Install/string_package_list
        ✅ Test_DnfManager_Install/string_package_list_runtime_error
        ✅ Test_DnfManager_Install/local_packages_list
        ✅ Test_DnfManager_Install/local_packages_list_runtime_error
        ✅ Test_DnfManager_Install/local_packages_package_does_not_exist
        ✅ Test_DnfManager_Install/string_and_local_packages_list
        ✅ Test_DnfManager_Install/string,_file_lists,_and_local_packages
        ✅ Test_DnfManager_Install/string,_file_lists,_and_local_packages_with_runtime_error
        ✅ Test_DnfManager_Install/file_lists_and_local_packages
        ✅ Test_DnfManager_Install/file_lists
        ✅ Test_DnfManager_Install/file_list_does_not_exist
        ✅ Test_DnfManager_Install
        ✅ Test_DnfManager_Remove/no_packages
        ✅ Test_DnfManager_Remove/empty_package_runtime_error_not_reached
        ✅ Test_DnfManager_Remove/string_packages
        ✅ Test_DnfManager_Remove/file_list_packages
        ✅ Test_DnfManager_Remove/file_list_does_not_exist
        ✅ Test_DnfManager_Remove/string_and_file_list_packages
        ✅ Test_DnfManager_Remove/runtime_error
        ✅ Test_DnfManager_Remove
        ✅ Test_DnfManager_Update
        ✅ Test_DnfManager_Upgrade/success
        ✅ Test_DnfManager_Upgrade/upgrade_runtime_error
        ✅ Test_DnfManager_Upgrade/success_with_full_upgrade_flag_does_nothing
        ✅ Test_DnfManager_Upgrade/full_upgrade_runtime_error_not_reached
        ✅ Test_DnfManager_Upgrade
        ✅ Test_DnfManager_Clean/No_error
        ✅ Test_DnfManager_Clean/Runtime_error_on_clean
        ✅ Test_DnfManager_Clean/Runtime_error_on_autoremove
        ✅ Test_DnfManager_Clean
        ✅ Test_DnfManager_autoRemove/No_error
        ✅ Test_DnfManager_autoRemove/Runtime_error
        ✅ Test_DnfManager_autoRemove
        ✅ Test_packageListFileToSlice/empty_file
        ✅ Test_packageListFileToSlice/single_line
        ✅ Test_packageListFileToSlice/multiple_lines
        ✅ Test_packageListFileToSlice/file_does_not_exist
        ✅ Test_packageListFileToSlice
        ✅ Test_PackageList_GetPackagesFromPackageListFiles/No_files
        ✅ Test_PackageList_GetPackagesFromPackageListFiles/Single_file,_single_line
        ✅ Test_PackageList_GetPackagesFromPackageListFiles/Single_file,_multiple_lines
        ✅ Test_PackageList_GetPackagesFromPackageListFiles/Multiple_files,_some_empty
        ✅ Test_PackageList_GetPackagesFromPackageListFiles/Multiple_files,_single_line
        ✅ Test_PackageList_GetPackagesFromPackageListFiles/Multiple_files,_multiple_lines
        ✅ Test_PackageList_GetPackagesFromPackageListFiles
        ✅ Test_PackageList_GetPackages/No_packages_or_files
        ✅ Test_PackageList_GetPackages/One_package,_no_files
        ✅ Test_PackageList_GetPackages/Multiple_packages,_no_files
        ✅ Test_PackageList_GetPackages/No_packages,_single_file,_single_line
        ✅ Test_PackageList_GetPackages/One_package_and_single_file,_single_line
        ✅ Test_PackageList_GetPackages/Multiple_packages_and_single_file,_single_line
        ✅ Test_PackageList_GetPackages/No_packages_and_single_file,_multiple_lines
        ✅ Test_PackageList_GetPackages/One_package_and_single_file,_multiple_lines
        ✅ Test_PackageList_GetPackages/Multiple_packages_and_single_file,_multiple_lines
        ✅ Test_PackageList_GetPackages/No_packages_and_multiple_files,_some_empty
        ✅ Test_PackageList_GetPackages/One_package_and_multiple_files,_single_line
        ✅ Test_PackageList_GetPackages/Multiple_packages_and_multiple_files,_multiple_lines
        ✅ Test_PackageList_GetPackages
        ✅ Test_Bootstrap/success_debian-based
        ✅ Test_Bootstrap/success_rhel-based
        ✅ Test_Bootstrap/failed_install_debian-based
        ✅ Test_Bootstrap/failed_install_rhel-based
        ✅ Test_Bootstrap/failed_update_debian-based
        ✅ Test_Bootstrap/failed_update_rhel-based
        ✅ Test_Bootstrap
        ✅ Test_getTiniDownloadUrl/success_with_alternate_version
        ✅ Test_getTiniDownloadUrl/success_with_default_version
        ✅ Test_getTiniDownloadUrl/fail_with_no_arch_given
        ✅ Test_getTiniDownloadUrl
        ✅ Test_TiniManager_Installed/installed
        ✅ Test_TiniManager_Installed/path_is_directory
        ✅ Test_TiniManager_Installed/path_does_not_exist
        ✅ Test_TiniManager_Installed
        ✅ Test_TiniManager_Install/already_installed
        ✅ Test_TiniManager_Install/success
        ✅ Test_TiniManager_Install/fail_with_no_arch_given
        ✅ Test_TiniManager_Install/success_with_no_installPath_given
        ✅ Test_TiniManager_Install/fail_on_bad_response
        ✅ Test_TiniManager_Install
        ✅ Test_TiniManager_Update/not_installed
        ✅ Test_TiniManager_Update/reinstall
        ✅ Test_TiniManager_Update/path_is_directory
        ✅ Test_TiniManager_Update/fail_on_bad_response
        ✅ Test_TiniManager_Update
        ✅ Test_TiniManager_Remove/success
        ✅ Test_TiniManager_Remove/fail_on_directory
        ✅ Test_TiniManager_Remove
        ✅ Test_WaitForItManager_Installed/file_exists
        ✅ Test_WaitForItManager_Installed/path_is_directory
        ✅ Test_WaitForItManager_Installed/path_does_not_exist
        ✅ Test_WaitForItManager_Installed
        ✅ Test_WaitForItManager_Install/already_installed
        ✅ Test_WaitForItManager_Install/success
        ✅ Test_WaitForItManager_Install/success_with_no_installPath_given
        ✅ Test_WaitForItManager_Install/fail_on_bad_response
        ✅ Test_WaitForItManager_Install
        ✅ Test_WaitForItManager_Update/not_installed
        ✅ Test_WaitForItManager_Update/reinstall
        ✅ Test_WaitForItManager_Update/path_is_directory
        ✅ Test_WaitForItManager_Update/fail_on_bad_response
        ✅ Test_WaitForItManager_Update
        ✅ Test_WaitForIt_Remove/success
        ✅ Test_WaitForIt_Remove/fail_on_directory
        ✅ Test_WaitForIt_Remove
        ✅ Test_CopyProDriversOdbcInstIni/success
        ✅ Test_CopyProDriversOdbcInstIni/success_no_backup_odbcinst.ini
        ✅ Test_CopyProDriversOdbcInstIni/failed_no_odbcinst.ini.sample
        ✅ Test_CopyProDriversOdbcInstIni
        ✅ Test_downloadUrl/ubuntu_amd64
        ✅ Test_downloadUrl/ubuntu_arm64
        ✅ Test_downloadUrl/rockylinux_amd64
        ✅ Test_downloadUrl/rockylinux_arm64
        ✅ Test_downloadUrl/unsupported
        ✅ Test_downloadUrl
        ✅ Test_dependencies/ubuntu
        ✅ Test_dependencies/rockylinux
        ✅ Test_dependencies/unsupported
        ✅ Test_dependencies
        ✅ Test_InstallProDrivers/success_ubuntu
        ✅ Test_InstallProDrivers/success_rockylinux
        ✅ Test_InstallProDrivers/unsupported_OS
        ✅ Test_InstallProDrivers/failed_download
        ✅ Test_InstallProDrivers/failed_install
        ✅ Test_InstallProDrivers
        ✅ Test_Manager_InstallJupyter4Workbench/default
        ✅ Test_Manager_InstallJupyter4Workbench/custom_path
        ✅ Test_Manager_InstallJupyter4Workbench/not_installed
        ✅ Test_Manager_InstallJupyter4Workbench/dirty_path_no_force
        ✅ Test_workbenchInstalled/workbench_quarto_bin_exists
        ✅ Test_workbenchInstalled/workbench_does_not_exist
        ✅ Test_workbenchInstalled/workbench_quarto_bin_not_a_file
        ✅ Test_workbenchInstalled
        ✅ Test_Manager_InstallJupyter4Workbench/dirty_path_force
        ✅ Test_Manager_InstallJupyter4Workbench
        ✅ Test_NewManager/default
        ✅ Test_Manager_AddKernel/success_debian-based
        ✅ Test_Manager_AddKernel/success_rhel-based
        ✅ Test_Manager_AddKernel/install_error
        ✅ Test_NewManager/workbench_default
        ✅ Test_NewManager/workbench_ignored_with_useWorkbench_false
        ✅ Test_NewManager
        ✅ Test_Manager_validate/validate
        ✅ Test_Manager_validate/default_NewManager_is_validate
        ✅ Test_Manager_validate/empty_version
        ✅ Test_Manager_validate/empty_installation_path
        ✅ Test_Manager_validate
        ✅ Test_Manager_Installed/quarto_bin_exists
        ✅ Test_Manager_Installed/quarto_bin_does_not_exist
        ✅ Test_Manager_Installed
        ✅ Test_getDownloadUrl/validate_amd64
        ✅ Test_getDownloadUrl/validate_arm64
        ✅ Test_getDownloadUrl/invalid_arch
        ✅ Test_getDownloadUrl
        ✅ Test_Manager_AddKernel/register_error
        ✅ Test_Manager_AddKernel
        ✅ Test_NewManager/no_version
        ✅ Test_NewManager/default
        ✅ Test_NewManager
        ✅ Test_Manager_Install/install_default
        ✅ Test_Manager_validVersion/validate
        ✅ Test_Manager_validVersion/invalid_unsupported
        ✅ Test_Manager_Install/install_custom_path
        ✅ Test_Manager_Install/no_changes_installed_without_force
        ✅ Test_Manager_validVersion/invalid_major.minor
        ✅ Test_Manager_Install/force_reinstall
        ✅ Test_Manager_Install/install_dirty_path_not_installable
        ✅ Test_Manager_validVersion/invalid_major-only
        ✅ Test_Manager_Install/install_dirty_path_force
        ✅ Test_Manager_Install/bad_response
        ✅ Test_Manager_Install/bad_arch
        ✅ Test_Manager_validVersion/bad_server_response
        ✅ Test_Manager_validVersion/bad_json_parse
        ✅ Test_Manager_validVersion
        ✅ Test_Manager_Install/extract_failed
        ✅ Test_Manager_validate/valid
        ✅ Test_Manager_Install/unable_to_extract_quarto_archive
        ✅ Test_Manager_Install
        ✅ Test_Manager_InstallPackage/normal
        ✅ Test_Manager_InstallPackage/normal_with_options
        ✅ Test_Manager_InstallPackage/failed
        ✅ Test_Manager_InstallPackage
        ✅ Test_Manager_UpdatePackage/normal
        ✅ Test_Manager_UpdatePackage/normal_with_options
        ✅ Test_Manager_UpdatePackage/failed
        ✅ Test_Manager_UpdatePackage
        ✅ Test_Manager_RemovePackage/normal
        ✅ Test_Manager_RemovePackage/normal_with_options
        ✅ Test_Manager_validate/invalid_version
        ✅ Test_Manager_RemovePackage/failed
        ✅ Test_Manager_RemovePackage
        ✅ Test_Manager_validate/no_installation_path
        ✅ Test_Manager_validate/bad_vendor
        ✅ Test_Manager_validate/no_arch
        ✅ Test_Manager_validate/bad_arch
        ✅ Test_Manager_validate
        ✅ Test_Manager_downloadUrl/ubuntu_amd64
        ✅ Test_Manager_downloadUrl/ubuntu_arm64
        ✅ Test_Manager_downloadUrl/debian_amd64
        ✅ Test_Manager_downloadUrl/debian_arm64
        ✅ Test_Manager_downloadUrl/rockylinux_amd64
        ✅ Test_Manager_downloadUrl/rockylinux_arm64
        ✅ Test_Manager_downloadUrl/almalinux_amd64
        ✅ Test_Manager_downloadUrl/almalinux_arm64
        ✅ Test_Manager_downloadUrl
        ✅ Test_Manager_Installed/installed
        ✅ Test_Manager_Installed/not_installed
        ✅ Test_Manager_Installed
        ✅ Test_Manager_Install/success
        ✅ Test_Manager_Install/installed
        ✅ Test_Manager_Install/download_error
        ✅ Test_Manager_Install/install_error
        ✅ Test_Manager_Install
        ✅ Test_Manager_makeDefault/success
        ✅ Test_Manager_makeDefault/not_installed
        ✅ Test_Manager_makeDefault/remove_existing_default_directory
        ✅ Test_Manager_makeDefault/remove_existing_default_symlink
        ✅ Test_Manager_makeDefault
        ✅ Test_Manager_addToPath/success
        ✅ Test_Manager_addToPath/not_installed
        ✅ Test_Manager_addToPath/symlinks_replaced
        ✅ Test_Manager_addToPath
        ✅ Test_Manager_Remove/success
        ✅ Test_Manager_Remove/failed_to_remove
        ✅ Test_Manager_Remove
        ✅ Test_Manager_InstallPackages/success
        ✅ Test_Manager_InstallPackages/not_installed
        ✅ Test_Manager_InstallPackages
        ✅ Test_Manager_Clean/success
        ✅ Test_Manager_Clean/run_error
        ✅ Test_Manager_Clean
        ✅ Test_Manager_initCorePackages/success
        ✅ Test_Manager_initCorePackages
        ✅ Test_Manager_ensurePip/success
        ✅ Test_Manager_ensurePip/run_error
        ✅ Test_Manager_ensurePip
        ✅ Test_NewManager/default
        ✅ Test_NewManager
        ✅ Test_validVersion/validate
        ✅ Test_validVersion/invalid_unsupported
        ✅ Test_validVersion/invalid_major.minor
        ✅ Test_validVersion/invalid_major-only
        ✅ Test_validVersion/bad_server_response
        ✅ Test_validVersion/bad_json_parse
        ✅ Test_validVersion
        ✅ Test_Manager_validate/valid
        ✅ Test_Manager_validate/invalid_version
        ✅ Test_Manager_validate/no_installation_path
        ✅ Test_Manager_validate/bad_vendor
        ✅ Test_Manager_validate/no_arch
        ✅ Test_Manager_validate/bad_arch
        ✅ Test_Manager_validate
        ✅ Test_Manager_downloadUrl/ubuntu_amd64
        ✅ Test_Manager_downloadUrl/ubuntu_arm64
        ✅ Test_Manager_downloadUrl/debian_amd64
        ✅ Test_Manager_downloadUrl/debian_arm64
        ✅ Test_Manager_downloadUrl/rockylinux_amd64
        ✅ Test_Manager_downloadUrl/rockylinux_arm64
        ✅ Test_Manager_downloadUrl/almalinux_amd64
        ✅ Test_Manager_downloadUrl/almalinux_arm64
        ✅ Test_Manager_downloadUrl
        ✅ Test_Manager_Installed/installed
        ✅ Test_Manager_Installed/not_installed
        ✅ Test_Manager_Installed
        ✅ Test_Manager_Install/install
        ✅ Test_Manager_Install/already_installed
        ✅ Test_Manager_Install/invalid_version
        ✅ Test_Manager_Install/bad_download_url
        ✅ Test_Manager_Install/install_error
        ✅ Test_Manager_Install
        ✅ Test_Manager_makeDefault/success
        ✅ Test_Manager_makeDefault/not_installed
        ✅ Test_Manager_makeDefault/remove_existing_default_directory
        ✅ Test_Manager_makeDefault/remove_existing_default_symlink
        ✅ Test_Manager_makeDefault
        ✅ Test_Manager_addToPath/success
        ✅ Test_Manager_addToPath/success_no_append_version
        ✅ Test_Manager_addToPath/not_installed
        ✅ Test_Manager_addToPath/symlinks_replaced
        ✅ Test_Manager_addToPath
        ✅ Test_Manager_Remove/success
        ✅ Test_Manager_Remove/failed_to_remove
        ✅ Test_Manager_Remove
        ✅ Test_Manager_InstallPackages/success
        ✅ Test_Manager_InstallPackages/not_installed
        ✅ Test_Manager_InstallPackages
        ✅ Test_Manager_cranMirror/default
        ✅ Test_Manager_cranMirror/ubuntu_22.04
        ✅ Test_Manager_cranMirror
✅ 406 ❌ 0 ⏭️ 0 50ms

Github Test Reporter

🔄 This comment has been updated

@ianpittwood ianpittwood merged commit 3df3486 into main Jan 6, 2025
5 checks passed
@ianpittwood ianpittwood deleted the golang-lint-format branch January 6, 2025 18:21
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.

Add formatting/linting hooks for pti

2 participants