From 8c3c4d7ec08fe34f2a38f166c40f7dca37b1bc68 Mon Sep 17 00:00:00 2001 From: Albert Jurkoit <31667609+albertJkt@users.noreply.github.com> Date: Mon, 25 Nov 2024 12:07:12 +0200 Subject: [PATCH 1/5] Delete .github/workflows/jira-link.yaml --- .github/workflows/jira-link.yaml | 22 ---------------------- 1 file changed, 22 deletions(-) delete mode 100644 .github/workflows/jira-link.yaml diff --git a/.github/workflows/jira-link.yaml b/.github/workflows/jira-link.yaml deleted file mode 100644 index 18240fb7..00000000 --- a/.github/workflows/jira-link.yaml +++ /dev/null @@ -1,22 +0,0 @@ -name: jira-link - -on: - pull_request: - types: [opened, edited, reopened, synchronize] - -jobs: - jira-link: - runs-on: ubuntu-20.04 - steps: - - name: check pull request title and source branch name - run: | - echo "Checking pull request with title ${{ github.event.pull_request.title }} from source branch ${{ github.event.pull_request.head.ref }}" - if ! [[ "${{ github.event.pull_request.title }}" =~ ^AIRO-[0-9]+[[:space:]].*$ ]] && ! [[ "${{ github.event.pull_request.head.ref }}" =~ ^AIRO-[0-9]+.*$ ]] - then - echo -e "Please make sure one of the following is true:\n \ - 1. the pull request title starts with 'AIRO-xxxx ', e.g. 'AIRO-1024 My Pull Request'\n \ - 2. the source branch starts with 'AIRO-xxx', e.g. 'AIRO-1024-my-branch'" - exit 1 - else - echo "Completed checking" - fi From f96ddef2390d2ccee1f955a06b27f18e72e9944c Mon Sep 17 00:00:00 2001 From: Simo Punnonen Date: Mon, 25 Nov 2024 17:10:21 +0200 Subject: [PATCH 2/5] Remove legacy pipelines --- .github/PULL_REQUEST_TEMPLATE.md | 2 - .github/workflows/pre-commit.yaml | 20 - .github/workflows/snyk.yaml | 17 - .../IntegrationTestSettings.asset | 673 ------------------ .yamato/PickAndPlaceTests/ros.bash | 146 ---- .../set-up-integration-tests.py | 74 -- .../PickAndPlaceTests/set-up-ros-define.py | 29 - .yamato/sonar.yml | 52 -- .yamato/yamato-config.yml | 144 ---- 9 files changed, 1157 deletions(-) delete mode 100644 .github/workflows/pre-commit.yaml delete mode 100644 .github/workflows/snyk.yaml delete mode 100644 .yamato/PickAndPlaceTests/IntegrationTestSettings.asset delete mode 100644 .yamato/PickAndPlaceTests/ros.bash delete mode 100644 .yamato/PickAndPlaceTests/set-up-integration-tests.py delete mode 100644 .yamato/PickAndPlaceTests/set-up-ros-define.py delete mode 100644 .yamato/sonar.yml delete mode 100644 .yamato/yamato-config.yml diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index c3ad7112..042d189b 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -25,8 +25,6 @@ Please describe the tests that you ran to verify your changes. Please also provi - ROS–Unity communication: [e.g. Docker] ## Checklist -- [ ] Ensured this PR is up-to-date with the `dev` branch -- [ ] Created this PR to target the `dev` branch - [ ] Followed the style guidelines as described in the [Contribution Guidelines](https://github.com/Unity-Technologies/Unity-Robotics-Hub/blob/main/CONTRIBUTING.md) - [ ] Added tests that prove my fix is effective or that my feature works - [ ] Updated the [Changelog](https://github.com/Unity-Technologies/Unity-Robotics-Hub/blob/dev/CHANGELOG.md) and described changes in the [Unreleased section](https://github.com/Unity-Technologies/Unity-Robotics-Hub/blob/dev/CHANGELOG.md#unreleased) diff --git a/.github/workflows/pre-commit.yaml b/.github/workflows/pre-commit.yaml deleted file mode 100644 index 4c4c3df7..00000000 --- a/.github/workflows/pre-commit.yaml +++ /dev/null @@ -1,20 +0,0 @@ -name: pre-commit - -on: - pull_request: - push: - branches: [dev] - -jobs: - pre-commit: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-python@v2 - with: - python-version: 3.7.x - - uses: actions/setup-dotnet@v1 - with: - dotnet-version: '6.0.x' - include-prerelease: true - - uses: pre-commit/action@v2.0.0 diff --git a/.github/workflows/snyk.yaml b/.github/workflows/snyk.yaml deleted file mode 100644 index 53ba7b3e..00000000 --- a/.github/workflows/snyk.yaml +++ /dev/null @@ -1,17 +0,0 @@ -name: Snyk Monitor - -on: - pull_request: - -jobs: - security: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - name: Run Snyk to check for vulnerabilities - uses: snyk/actions/python-3.8@master - env: - SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} - with: - command: monitor - args: --file=tutorials/ros_unity_integration/ros2_packages/unity_robotics_demo/setup.py \ No newline at end of file diff --git a/.yamato/PickAndPlaceTests/IntegrationTestSettings.asset b/.yamato/PickAndPlaceTests/IntegrationTestSettings.asset deleted file mode 100644 index df0c5bd8..00000000 --- a/.yamato/PickAndPlaceTests/IntegrationTestSettings.asset +++ /dev/null @@ -1,673 +0,0 @@ -%YAML 1.1 -%TAG !u! tag:unity3d.com,2011: ---- !u!129 &1 -PlayerSettings: - m_ObjectHideFlags: 0 - serializedVersion: 21 - productGUID: 653f7f2858f49284bbf5f6d04c027b96 - AndroidProfiler: 0 - AndroidFilterTouchesWhenObscured: 0 - AndroidEnableSustainedPerformanceMode: 0 - defaultScreenOrientation: 4 - targetDevice: 2 - useOnDemandResources: 0 - accelerometerFrequency: 60 - companyName: UnityRobotics - productName: PickAndPlace - defaultCursor: {fileID: 0} - cursorHotspot: {x: 0, y: 0} - m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1} - m_ShowUnitySplashScreen: 1 - m_ShowUnitySplashLogo: 1 - m_SplashScreenOverlayOpacity: 1 - m_SplashScreenAnimation: 1 - m_SplashScreenLogoStyle: 1 - m_SplashScreenDrawMode: 0 - m_SplashScreenBackgroundAnimationZoom: 1 - m_SplashScreenLogoAnimationZoom: 1 - m_SplashScreenBackgroundLandscapeAspect: 1 - m_SplashScreenBackgroundPortraitAspect: 1 - m_SplashScreenBackgroundLandscapeUvs: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - m_SplashScreenBackgroundPortraitUvs: - serializedVersion: 2 - x: 0 - y: 0 - width: 1 - height: 1 - m_SplashScreenLogos: [] - m_VirtualRealitySplashScreen: {fileID: 0} - m_HolographicTrackingLossScreen: {fileID: 0} - defaultScreenWidth: 1024 - defaultScreenHeight: 768 - defaultScreenWidthWeb: 960 - defaultScreenHeightWeb: 600 - m_StereoRenderingPath: 0 - m_ActiveColorSpace: 0 - m_MTRendering: 1 - mipStripping: 0 - numberOfMipsStripped: 0 - m_StackTraceTypes: 010000000100000001000000010000000100000001000000 - iosShowActivityIndicatorOnLoading: -1 - androidShowActivityIndicatorOnLoading: -1 - iosUseCustomAppBackgroundBehavior: 0 - iosAllowHTTPDownload: 1 - allowedAutorotateToPortrait: 1 - allowedAutorotateToPortraitUpsideDown: 1 - allowedAutorotateToLandscapeRight: 1 - allowedAutorotateToLandscapeLeft: 1 - useOSAutorotation: 1 - use32BitDisplayBuffer: 1 - preserveFramebufferAlpha: 0 - disableDepthAndStencilBuffers: 0 - androidStartInFullscreen: 1 - androidRenderOutsideSafeArea: 1 - androidUseSwappy: 1 - androidBlitType: 0 - defaultIsNativeResolution: 1 - macRetinaSupport: 1 - runInBackground: 1 - captureSingleScreen: 0 - muteOtherAudioSources: 0 - Prepare IOS For Recording: 0 - Force IOS Speakers When Recording: 0 - deferSystemGesturesMode: 0 - hideHomeButton: 0 - submitAnalytics: 1 - usePlayerLog: 1 - bakeCollisionMeshes: 0 - forceSingleInstance: 0 - useFlipModelSwapchain: 1 - resizableWindow: 0 - useMacAppStoreValidation: 0 - macAppStoreCategory: public.app-category.games - gpuSkinning: 1 - xboxPIXTextureCapture: 0 - xboxEnableAvatar: 0 - xboxEnableKinect: 0 - xboxEnableKinectAutoTracking: 0 - xboxEnableFitness: 0 - visibleInBackground: 1 - allowFullscreenSwitch: 1 - fullscreenMode: 1 - xboxSpeechDB: 0 - xboxEnableHeadOrientation: 0 - xboxEnableGuest: 0 - xboxEnablePIXSampling: 0 - metalFramebufferOnly: 0 - xboxOneResolution: 0 - xboxOneSResolution: 0 - xboxOneXResolution: 3 - xboxOneMonoLoggingLevel: 0 - xboxOneLoggingLevel: 1 - xboxOneDisableEsram: 0 - xboxOneEnableTypeOptimization: 0 - xboxOnePresentImmediateThreshold: 0 - switchQueueCommandMemory: 0 - switchQueueControlMemory: 16384 - switchQueueComputeMemory: 262144 - switchNVNShaderPoolsGranularity: 33554432 - switchNVNDefaultPoolsGranularity: 16777216 - switchNVNOtherPoolsGranularity: 16777216 - switchNVNMaxPublicTextureIDCount: 0 - switchNVNMaxPublicSamplerIDCount: 0 - stadiaPresentMode: 0 - stadiaTargetFramerate: 0 - vulkanNumSwapchainBuffers: 3 - vulkanEnableSetSRGBWrite: 0 - vulkanEnablePreTransform: 0 - vulkanEnableLateAcquireNextImage: 0 - m_SupportedAspectRatios: - 4:3: 1 - 5:4: 1 - 16:10: 1 - 16:9: 1 - Others: 1 - bundleVersion: 0.1 - preloadedAssets: [] - metroInputSource: 0 - wsaTransparentSwapchain: 0 - m_HolographicPauseOnTrackingLoss: 1 - xboxOneDisableKinectGpuReservation: 1 - xboxOneEnable7thCore: 1 - vrSettings: - enable360StereoCapture: 0 - isWsaHolographicRemotingEnabled: 0 - enableFrameTimingStats: 0 - useHDRDisplay: 0 - D3DHDRBitDepth: 0 - m_ColorGamuts: 00000000 - targetPixelDensity: 30 - resolutionScalingMode: 0 - androidSupportedAspectRatio: 1 - androidMaxAspectRatio: 2.1 - applicationIdentifier: - Standalone: com.UnityRobotics.PickAndPlace - buildNumber: - Standalone: 0 - iPhone: 0 - tvOS: 0 - overrideDefaultApplicationIdentifier: 0 - AndroidBundleVersionCode: 1 - AndroidMinSdkVersion: 19 - AndroidTargetSdkVersion: 0 - AndroidPreferredInstallLocation: 1 - aotOptions: - stripEngineCode: 1 - iPhoneStrippingLevel: 0 - iPhoneScriptCallOptimization: 0 - ForceInternetPermission: 0 - ForceSDCardPermission: 0 - CreateWallpaper: 0 - APKExpansionFiles: 0 - keepLoadedShadersAlive: 0 - StripUnusedMeshComponents: 1 - VertexChannelCompressionMask: 4054 - iPhoneSdkVersion: 988 - iOSTargetOSVersionString: 11.0 - tvOSSdkVersion: 0 - tvOSRequireExtendedGameController: 0 - tvOSTargetOSVersionString: 11.0 - uIPrerenderedIcon: 0 - uIRequiresPersistentWiFi: 0 - uIRequiresFullScreen: 1 - uIStatusBarHidden: 1 - uIExitOnSuspend: 0 - uIStatusBarStyle: 0 - appleTVSplashScreen: {fileID: 0} - appleTVSplashScreen2x: {fileID: 0} - tvOSSmallIconLayers: [] - tvOSSmallIconLayers2x: [] - tvOSLargeIconLayers: [] - tvOSLargeIconLayers2x: [] - tvOSTopShelfImageLayers: [] - tvOSTopShelfImageLayers2x: [] - tvOSTopShelfImageWideLayers: [] - tvOSTopShelfImageWideLayers2x: [] - iOSLaunchScreenType: 0 - iOSLaunchScreenPortrait: {fileID: 0} - iOSLaunchScreenLandscape: {fileID: 0} - iOSLaunchScreenBackgroundColor: - serializedVersion: 2 - rgba: 0 - iOSLaunchScreenFillPct: 100 - iOSLaunchScreenSize: 100 - iOSLaunchScreenCustomXibPath: - iOSLaunchScreeniPadType: 0 - iOSLaunchScreeniPadImage: {fileID: 0} - iOSLaunchScreeniPadBackgroundColor: - serializedVersion: 2 - rgba: 0 - iOSLaunchScreeniPadFillPct: 100 - iOSLaunchScreeniPadSize: 100 - iOSLaunchScreeniPadCustomXibPath: - iOSLaunchScreenCustomStoryboardPath: - iOSLaunchScreeniPadCustomStoryboardPath: - iOSDeviceRequirements: [] - iOSURLSchemes: [] - iOSBackgroundModes: 0 - iOSMetalForceHardShadows: 0 - metalEditorSupport: 1 - metalAPIValidation: 1 - iOSRenderExtraFrameOnPause: 0 - iosCopyPluginsCodeInsteadOfSymlink: 0 - appleDeveloperTeamID: - iOSManualSigningProvisioningProfileID: - tvOSManualSigningProvisioningProfileID: - iOSManualSigningProvisioningProfileType: 0 - tvOSManualSigningProvisioningProfileType: 0 - appleEnableAutomaticSigning: 0 - iOSRequireARKit: 0 - iOSAutomaticallyDetectAndAddCapabilities: 1 - appleEnableProMotion: 0 - shaderPrecisionModel: 0 - clonedFromGUID: c0afd0d1d80e3634a9dac47e8a0426ea - templatePackageId: com.unity.template.3d@5.0.4 - templateDefaultScene: Assets/Scenes/SampleScene.unity - useCustomMainManifest: 0 - useCustomLauncherManifest: 0 - useCustomMainGradleTemplate: 0 - useCustomLauncherGradleManifest: 0 - useCustomBaseGradleTemplate: 0 - useCustomGradlePropertiesTemplate: 0 - useCustomProguardFile: 0 - AndroidTargetArchitectures: 1 - AndroidSplashScreenScale: 0 - androidSplashScreen: {fileID: 0} - AndroidKeystoreName: - AndroidKeyaliasName: - AndroidBuildApkPerCpuArchitecture: 0 - AndroidTVCompatibility: 0 - AndroidIsGame: 1 - AndroidEnableTango: 0 - androidEnableBanner: 1 - androidUseLowAccuracyLocation: 0 - androidUseCustomKeystore: 0 - m_AndroidBanners: - - width: 320 - height: 180 - banner: {fileID: 0} - androidGamepadSupportLevel: 0 - AndroidMinifyWithR8: 0 - AndroidMinifyRelease: 0 - AndroidMinifyDebug: 0 - AndroidValidateAppBundleSize: 1 - AndroidAppBundleSizeToValidate: 150 - m_BuildTargetIcons: [] - m_BuildTargetPlatformIcons: [] - m_BuildTargetBatching: - - m_BuildTarget: Standalone - m_StaticBatching: 1 - m_DynamicBatching: 0 - - m_BuildTarget: tvOS - m_StaticBatching: 1 - m_DynamicBatching: 0 - - m_BuildTarget: Android - m_StaticBatching: 1 - m_DynamicBatching: 0 - - m_BuildTarget: iPhone - m_StaticBatching: 1 - m_DynamicBatching: 0 - - m_BuildTarget: WebGL - m_StaticBatching: 0 - m_DynamicBatching: 0 - m_BuildTargetGraphicsJobs: - - m_BuildTarget: MacStandaloneSupport - m_GraphicsJobs: 0 - - m_BuildTarget: Switch - m_GraphicsJobs: 1 - - m_BuildTarget: MetroSupport - m_GraphicsJobs: 1 - - m_BuildTarget: AppleTVSupport - m_GraphicsJobs: 0 - - m_BuildTarget: BJMSupport - m_GraphicsJobs: 1 - - m_BuildTarget: LinuxStandaloneSupport - m_GraphicsJobs: 1 - - m_BuildTarget: PS4Player - m_GraphicsJobs: 1 - - m_BuildTarget: iOSSupport - m_GraphicsJobs: 0 - - m_BuildTarget: WindowsStandaloneSupport - m_GraphicsJobs: 1 - - m_BuildTarget: XboxOnePlayer - m_GraphicsJobs: 1 - - m_BuildTarget: LuminSupport - m_GraphicsJobs: 0 - - m_BuildTarget: AndroidPlayer - m_GraphicsJobs: 0 - - m_BuildTarget: WebGLSupport - m_GraphicsJobs: 0 - m_BuildTargetGraphicsJobMode: - - m_BuildTarget: PS4Player - m_GraphicsJobMode: 0 - - m_BuildTarget: XboxOnePlayer - m_GraphicsJobMode: 0 - m_BuildTargetGraphicsAPIs: - - m_BuildTarget: AndroidPlayer - m_APIs: 150000000b000000 - m_Automatic: 0 - - m_BuildTarget: iOSSupport - m_APIs: 10000000 - m_Automatic: 1 - - m_BuildTarget: AppleTVSupport - m_APIs: 10000000 - m_Automatic: 1 - - m_BuildTarget: WebGLSupport - m_APIs: 0b000000 - m_Automatic: 1 - m_BuildTargetVRSettings: - - m_BuildTarget: Standalone - m_Enabled: 0 - m_Devices: - - Oculus - - OpenVR - openGLRequireES31: 0 - openGLRequireES31AEP: 0 - openGLRequireES32: 0 - m_TemplateCustomTags: {} - mobileMTRendering: - Android: 1 - iPhone: 1 - tvOS: 1 - m_BuildTargetGroupLightmapEncodingQuality: [] - m_BuildTargetGroupLightmapSettings: [] - m_BuildTargetNormalMapEncoding: [] - playModeTestRunnerEnabled: 0 - runPlayModeTestAsEditModeTest: 0 - actionOnDotNetUnhandledException: 1 - enableInternalProfiler: 0 - logObjCUncaughtExceptions: 1 - enableCrashReportAPI: 0 - cameraUsageDescription: - locationUsageDescription: - microphoneUsageDescription: - switchNMETAOverride: - switchNetLibKey: - switchSocketMemoryPoolSize: 6144 - switchSocketAllocatorPoolSize: 128 - switchSocketConcurrencyLimit: 14 - switchScreenResolutionBehavior: 2 - switchUseCPUProfiler: 0 - switchUseGOLDLinker: 0 - switchApplicationID: 0x01004b9000490000 - switchNSODependencies: - switchTitleNames_0: - switchTitleNames_1: - switchTitleNames_2: - switchTitleNames_3: - switchTitleNames_4: - switchTitleNames_5: - switchTitleNames_6: - switchTitleNames_7: - switchTitleNames_8: - switchTitleNames_9: - switchTitleNames_10: - switchTitleNames_11: - switchTitleNames_12: - switchTitleNames_13: - switchTitleNames_14: - switchPublisherNames_0: - switchPublisherNames_1: - switchPublisherNames_2: - switchPublisherNames_3: - switchPublisherNames_4: - switchPublisherNames_5: - switchPublisherNames_6: - switchPublisherNames_7: - switchPublisherNames_8: - switchPublisherNames_9: - switchPublisherNames_10: - switchPublisherNames_11: - switchPublisherNames_12: - switchPublisherNames_13: - switchPublisherNames_14: - switchIcons_0: {fileID: 0} - switchIcons_1: {fileID: 0} - switchIcons_2: {fileID: 0} - switchIcons_3: {fileID: 0} - switchIcons_4: {fileID: 0} - switchIcons_5: {fileID: 0} - switchIcons_6: {fileID: 0} - switchIcons_7: {fileID: 0} - switchIcons_8: {fileID: 0} - switchIcons_9: {fileID: 0} - switchIcons_10: {fileID: 0} - switchIcons_11: {fileID: 0} - switchIcons_12: {fileID: 0} - switchIcons_13: {fileID: 0} - switchIcons_14: {fileID: 0} - switchSmallIcons_0: {fileID: 0} - switchSmallIcons_1: {fileID: 0} - switchSmallIcons_2: {fileID: 0} - switchSmallIcons_3: {fileID: 0} - switchSmallIcons_4: {fileID: 0} - switchSmallIcons_5: {fileID: 0} - switchSmallIcons_6: {fileID: 0} - switchSmallIcons_7: {fileID: 0} - switchSmallIcons_8: {fileID: 0} - switchSmallIcons_9: {fileID: 0} - switchSmallIcons_10: {fileID: 0} - switchSmallIcons_11: {fileID: 0} - switchSmallIcons_12: {fileID: 0} - switchSmallIcons_13: {fileID: 0} - switchSmallIcons_14: {fileID: 0} - switchManualHTML: - switchAccessibleURLs: - switchLegalInformation: - switchMainThreadStackSize: 1048576 - switchPresenceGroupId: - switchLogoHandling: 0 - switchReleaseVersion: 0 - switchDisplayVersion: 1.0.0 - switchStartupUserAccount: 0 - switchTouchScreenUsage: 0 - switchSupportedLanguagesMask: 0 - switchLogoType: 0 - switchApplicationErrorCodeCategory: - switchUserAccountSaveDataSize: 0 - switchUserAccountSaveDataJournalSize: 0 - switchApplicationAttribute: 0 - switchCardSpecSize: -1 - switchCardSpecClock: -1 - switchRatingsMask: 0 - switchRatingsInt_0: 0 - switchRatingsInt_1: 0 - switchRatingsInt_2: 0 - switchRatingsInt_3: 0 - switchRatingsInt_4: 0 - switchRatingsInt_5: 0 - switchRatingsInt_6: 0 - switchRatingsInt_7: 0 - switchRatingsInt_8: 0 - switchRatingsInt_9: 0 - switchRatingsInt_10: 0 - switchRatingsInt_11: 0 - switchRatingsInt_12: 0 - switchLocalCommunicationIds_0: - switchLocalCommunicationIds_1: - switchLocalCommunicationIds_2: - switchLocalCommunicationIds_3: - switchLocalCommunicationIds_4: - switchLocalCommunicationIds_5: - switchLocalCommunicationIds_6: - switchLocalCommunicationIds_7: - switchParentalControl: 0 - switchAllowsScreenshot: 1 - switchAllowsVideoCapturing: 1 - switchAllowsRuntimeAddOnContentInstall: 0 - switchDataLossConfirmation: 0 - switchUserAccountLockEnabled: 0 - switchSystemResourceMemory: 16777216 - switchSupportedNpadStyles: 22 - switchNativeFsCacheSize: 32 - switchIsHoldTypeHorizontal: 0 - switchSupportedNpadCount: 8 - switchSocketConfigEnabled: 0 - switchTcpInitialSendBufferSize: 32 - switchTcpInitialReceiveBufferSize: 64 - switchTcpAutoSendBufferSizeMax: 256 - switchTcpAutoReceiveBufferSizeMax: 256 - switchUdpSendBufferSize: 9 - switchUdpReceiveBufferSize: 42 - switchSocketBufferEfficiency: 4 - switchSocketInitializeEnabled: 1 - switchNetworkInterfaceManagerInitializeEnabled: 1 - switchPlayerConnectionEnabled: 1 - switchUseNewStyleFilepaths: 0 - ps4NPAgeRating: 12 - ps4NPTitleSecret: - ps4NPTrophyPackPath: - ps4ParentalLevel: 11 - ps4ContentID: ED1633-NPXX51362_00-0000000000000000 - ps4Category: 0 - ps4MasterVersion: 01.00 - ps4AppVersion: 01.00 - ps4AppType: 0 - ps4ParamSfxPath: - ps4VideoOutPixelFormat: 0 - ps4VideoOutInitialWidth: 1920 - ps4VideoOutBaseModeInitialWidth: 1920 - ps4VideoOutReprojectionRate: 60 - ps4PronunciationXMLPath: - ps4PronunciationSIGPath: - ps4BackgroundImagePath: - ps4StartupImagePath: - ps4StartupImagesFolder: - ps4IconImagesFolder: - ps4SaveDataImagePath: - ps4SdkOverride: - ps4BGMPath: - ps4ShareFilePath: - ps4ShareOverlayImagePath: - ps4PrivacyGuardImagePath: - ps4ExtraSceSysFile: - ps4NPtitleDatPath: - ps4RemotePlayKeyAssignment: -1 - ps4RemotePlayKeyMappingDir: - ps4PlayTogetherPlayerCount: 0 - ps4EnterButtonAssignment: 1 - ps4ApplicationParam1: 0 - ps4ApplicationParam2: 0 - ps4ApplicationParam3: 0 - ps4ApplicationParam4: 0 - ps4DownloadDataSize: 0 - ps4GarlicHeapSize: 2048 - ps4ProGarlicHeapSize: 2560 - playerPrefsMaxSize: 32768 - ps4Passcode: frAQBc8Wsa1xVPfvJcrgRYwTiizs2trQ - ps4pnSessions: 1 - ps4pnPresence: 1 - ps4pnFriends: 1 - ps4pnGameCustomData: 1 - playerPrefsSupport: 0 - enableApplicationExit: 0 - resetTempFolder: 1 - restrictedAudioUsageRights: 0 - ps4UseResolutionFallback: 0 - ps4ReprojectionSupport: 0 - ps4UseAudio3dBackend: 0 - ps4UseLowGarlicFragmentationMode: 1 - ps4SocialScreenEnabled: 0 - ps4ScriptOptimizationLevel: 0 - ps4Audio3dVirtualSpeakerCount: 14 - ps4attribCpuUsage: 0 - ps4PatchPkgPath: - ps4PatchLatestPkgPath: - ps4PatchChangeinfoPath: - ps4PatchDayOne: 0 - ps4attribUserManagement: 0 - ps4attribMoveSupport: 0 - ps4attrib3DSupport: 0 - ps4attribShareSupport: 0 - ps4attribExclusiveVR: 0 - ps4disableAutoHideSplash: 0 - ps4videoRecordingFeaturesUsed: 0 - ps4contentSearchFeaturesUsed: 0 - ps4CompatibilityPS5: 0 - ps4GPU800MHz: 1 - ps4attribEyeToEyeDistanceSettingVR: 0 - ps4IncludedModules: [] - ps4attribVROutputEnabled: 0 - monoEnv: - splashScreenBackgroundSourceLandscape: {fileID: 0} - splashScreenBackgroundSourcePortrait: {fileID: 0} - blurSplashScreenBackground: 1 - spritePackerPolicy: - webGLMemorySize: 16 - webGLExceptionSupport: 1 - webGLNameFilesAsHashes: 0 - webGLDataCaching: 1 - webGLDebugSymbols: 0 - webGLEmscriptenArgs: - webGLModulesDirectory: - webGLTemplate: APPLICATION:Default - webGLAnalyzeBuildSize: 0 - webGLUseEmbeddedResources: 0 - webGLCompressionFormat: 1 - webGLWasmArithmeticExceptions: 0 - webGLLinkerTarget: 1 - webGLThreadsSupport: 0 - webGLDecompressionFallback: 0 - scriptingDefineSymbols: - 1: INTEGRATION_TEST - additionalCompilerArguments: - 1: [] - platformArchitecture: {} - scriptingBackend: {} - il2cppCompilerConfiguration: {} - managedStrippingLevel: {} - incrementalIl2cppBuild: {} - suppressCommonWarnings: 1 - allowUnsafeCode: 0 - useDeterministicCompilation: 1 - useReferenceAssemblies: 1 - enableRoslynAnalyzers: 1 - additionalIl2CppArgs: - scriptingRuntimeVersion: 1 - gcIncremental: 1 - gcWBarrierValidation: 0 - apiCompatibilityLevelPerPlatform: - Standalone: 3 - m_RenderingPath: 1 - m_MobileRenderingPath: 1 - metroPackageName: Template_3D - metroPackageVersion: - metroCertificatePath: - metroCertificatePassword: - metroCertificateSubject: - metroCertificateIssuer: - metroCertificateNotAfter: 0000000000000000 - metroApplicationDescription: Template_3D - wsaImages: {} - metroTileShortName: - metroTileShowName: 0 - metroMediumTileShowName: 0 - metroLargeTileShowName: 0 - metroWideTileShowName: 0 - metroSupportStreamingInstall: 0 - metroLastRequiredScene: 0 - metroDefaultTileSize: 1 - metroTileForegroundText: 2 - metroTileBackgroundColor: {r: 0.13333334, g: 0.17254902, b: 0.21568628, a: 0} - metroSplashScreenBackgroundColor: {r: 0.12941177, g: 0.17254902, b: 0.21568628, a: 1} - metroSplashScreenUseBackgroundColor: 0 - platformCapabilities: {} - metroTargetDeviceFamilies: {} - metroFTAName: - metroFTAFileTypes: [] - metroProtocolName: - XboxOneProductId: - XboxOneUpdateKey: - XboxOneSandboxId: - XboxOneContentId: - XboxOneTitleId: - XboxOneSCId: - XboxOneGameOsOverridePath: - XboxOnePackagingOverridePath: - XboxOneAppManifestOverridePath: - XboxOneVersion: 1.0.0.0 - XboxOnePackageEncryption: 0 - XboxOnePackageUpdateGranularity: 2 - XboxOneDescription: - XboxOneLanguage: - - enus - XboxOneCapability: [] - XboxOneGameRating: {} - XboxOneIsContentPackage: 0 - XboxOneEnableGPUVariability: 1 - XboxOneSockets: {} - XboxOneSplashScreen: {fileID: 0} - XboxOneAllowedProductIds: [] - XboxOnePersistentLocalStorageSize: 0 - XboxOneXTitleMemory: 8 - XboxOneOverrideIdentityName: - XboxOneOverrideIdentityPublisher: - vrEditorSettings: {} - cloudServicesEnabled: - UNet: 1 - luminIcon: - m_Name: - m_ModelFolderPath: - m_PortalFolderPath: - luminCert: - m_CertPath: - m_SignPackage: 1 - luminIsChannelApp: 0 - luminVersion: - m_VersionCode: 1 - m_VersionName: - apiCompatibilityLevel: 6 - activeInputHandler: 0 - cloudProjectId: - framebufferDepthMemorylessMode: 0 - qualitySettingsNames: [] - projectName: - organizationId: - cloudEnabled: 0 - legacyClampBlendShapeWeights: 0 - virtualTexturingSupportEnabled: 0 diff --git a/.yamato/PickAndPlaceTests/ros.bash b/.yamato/PickAndPlaceTests/ros.bash deleted file mode 100644 index ed9e2252..00000000 --- a/.yamato/PickAndPlaceTests/ros.bash +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/bash -# Assuming this script is invoked from the root of the repository... -help() { - echo "usage: $0 [COMMAND] [ROS]" - echo "COMMAND:" - echo " - stop" - echo " - build_pick_and_place" - echo " - start_pick_and_place" - echo " - build_ros" - echo " - start_ros" - echo " - run_ros_color_publisher" - echo " - run_ros_pose_service_client" - echo " - run_ros_position_service" - echo "ROS" - echo " - ros1" - echo " - ros2" -} - -COMMAND=$1 -ROS=$2 - -if [ "$COMMAND" == "stop" ]; then - echo "Terminating process $3" - pkill -15 -P $3 - sleep 10 - -elif [ "$COMMAND" == "build_pick_and_place" ]; then - source /opt/ros/noetic/setup.bash - pushd $PWD - cd tutorials/pick_and_place/ROS - catkin_make - source devel/setup.bash - popd - -elif [ "$COMMAND" == "start_pick_and_place" ]; then - echo "Starting ROS for Pick and Place" - source tutorials/pick_and_place/ROS/devel/setup.bash - roslaunch niryo_moveit part_3.launch - -elif [ "$COMMAND" == "build_ros" ]; then - if [ "$ROS" == "ros1" ]; then - export ROS_WORKSPACE=$(pwd)/ros1_ws - mkdir -p $ROS_WORKSPACE/src - cp -r tutorials/ros_unity_integration/ros_packages/ $ROS_WORKSPACE/src/ - git clone https://github.com/Unity-Technologies/ROS-TCP-Endpoint $ROS_WORKSPACE/src/ros_tcp_endpoint -b main - /bin/bash tutorials/ros_unity_integration/ros_docker/set-up-workspace - chmod +x $ROS_WORKSPACE/src/ros_tcp_endpoint/src/ros_tcp_endpoint/*.py - elif [ "$ROS" == "ros2" ]; then - export ROS_WORKSPACE=$(pwd)/ros2_ws - mkdir -p $ROS_WORKSPACE/src - cp -r tutorials/ros_unity_integration/ros2_packages/ $ROS_WORKSPACE/src/ - git clone https://github.com/Unity-Technologies/ROS-TCP-Endpoint $ROS_WORKSPACE/src/ros_tcp_endpoint -b main-ros2 - source /opt/ros/$ROS_DISTRO/setup.sh - pushd $(pwd) - cd $ROS_WORKSPACE - colcon build - popd - else - help - fi - -elif [ "$COMMAND" == "start_ros" ]; then - if [ "$ROS" == "ros1" ]; then - source ros1_ws/devel/setup.bash - echo "Starting ROS1 master" - roscore & - sleep 5 # Wait ROS master to stand up - rosparam set ROS_IP 127.0.0.1 - echo "Starting ROS1 default server endpoint" - rosrun ros_tcp_endpoint default_server_endpoint.py - elif [ "$ROS" == "ros2" ]; then - source ros2_ws/install/setup.bash - echo "Starting ROS2 default server endpoint" - ros2 run ros_tcp_endpoint default_server_endpoint --ros-args -p ROS_IP:=127.0.0.1 - else - help - fi - -elif [ "$COMMAND" == "run_ros_color_publisher" ]; then - if [ "$ROS" == "ros1" ]; then - source ros1_ws/devel/setup.bash - elif [ "$ROS" == "ros2" ]; then - source ros2_ws/install/setup.bash - else - help - fi - echo "Starting to run $ROS color publisher every 30 seconds" - count=0 - while [[ $count -le 6 ]] - do - sleep 5 - if [ "$ROS" == "ros1" ]; then - rosrun unity_robotics_demo color_publisher.py - elif [ "$ROS" == "ros2" ]; then - ros2 run unity_robotics_demo color_publisher - else - help - fi - count=$(( $count + 1 )) - done - echo "Completed run: $ROS color publisher" - -elif [ "$COMMAND" == "run_ros_pose_service_client" ]; then - if [ "$ROS" == "ros1" ]; then - source ros1_ws/devel/setup.bash - elif [ "$ROS" == "ros2" ]; then - source ros2_ws/install/setup.bash - else - help - fi - echo "Starting to run $ROS pose service client and send requests every 30 seconds" - count=0 - while [[ $count -le 6 ]] - do - sleep 5 - if [ "$ROS" == "ros1" ]; then - rosservice call /obj_pose_srv Cube - elif [ "$ROS" == "ros2" ]; then - ros2 service call obj_pose_srv unity_robotics_demo_msgs/ObjectPoseService "{object_name: Cube}" - else - help - fi - count=$(( $count + 1 )) - done - echo "Completed run: $ROS pose service client" - -elif [ "$COMMAND" == "run_ros_position_service" ]; then - if [ "$ROS" == "ros1" ]; then - source ros1_ws/devel/setup.bash - elif [ "$ROS" == "ros2" ]; then - source ros2_ws/install/setup.bash - else - help - fi - echo "Starting $ROS position service" - if [ "$ROS" == "ros1" ]; then - rosrun unity_robotics_demo position_service.py - elif [ "$ROS" == "ros2" ]; then - ros2 run unity_robotics_demo position_service - else - help - fi - -else - help -fi diff --git a/.yamato/PickAndPlaceTests/set-up-integration-tests.py b/.yamato/PickAndPlaceTests/set-up-integration-tests.py deleted file mode 100644 index ec1d2775..00000000 --- a/.yamato/PickAndPlaceTests/set-up-integration-tests.py +++ /dev/null @@ -1,74 +0,0 @@ -import os -import shutil -import glob -from collections import OrderedDict -from unityparser import UnityDocument - -# NOTE: This must match the flag defined in the Unity Integration Tests -_INTEGRATION_TEST_DEFINE = "INTEGRATION_TEST" - -# This script is executed inside of a bokken image in order to automate the manual steps a user would -# perform when going through the tutorials. This allows us to perform integration tests on the expected final -# state of a tutorial project. - - -script_dir = os.path.dirname(os.path.realpath(__file__)) -root_dir = os.path.join(script_dir, "..", "..", "tutorials", "pick_and_place") -external_scripts_dir = os.path.join(root_dir, "Scripts") -project_dir = os.path.join(root_dir, "PickAndPlaceProject") -project_scripts_dir = os.path.join(project_dir, "Assets", "Scripts") -external_ros_scripts_dir = os.path.join(script_dir, "..", "..", "tutorials", "ros_unity_integration", "unity_scripts") -# project_settings_file = os.path.join(project_dir, "ProjectSettings", "ProjectSettings.asset") - -scripts_to_move = glob.glob(os.path.join(external_scripts_dir, "*.cs")) -for external_script in scripts_to_move: - script_name = os.path.basename(external_script) - script_destination = os.path.join(project_scripts_dir, script_name) - print(f">>> Copying {external_script} to {script_destination}") - shutil.copyfile(external_script, script_destination) - -scripts_to_move = glob.glob(os.path.join(external_ros_scripts_dir, "*.cs")) -for external_script in scripts_to_move: - script_name = os.path.basename(external_script) - script_destination = os.path.join(project_scripts_dir, script_name) - print(f">>> Copying {external_script} to {script_destination}") - shutil.copyfile(external_script, script_destination) - -files_to_cat = [] -message_dir = os.path.join(project_dir, "Assets", "RosMessages") -print(f">>> Files in {message_dir}:") -for root, _, files in os.walk(message_dir): - level = root.replace(message_dir, '').count(os.sep) - indent = ' ' * 4 * level - print('{}{}/'.format(indent, os.path.basename(root))) - subindent = ' ' * 4 * (level + 1) - for f in files: - print('{}{}'.format(subindent, f)) - if f.endswith(".cs") or f.endswith(".asmdef"): - files_to_cat.append(os.path.join(root, f)) - -# On Yamato, Unity fails to recompile the message directory under mysterious circumstances, so moving it into -# the Scripts directory to attempt to force a recompile -print(f"Moving {message_dir} to {project_scripts_dir}") -shutil.move(message_dir, project_scripts_dir) - -# for f in files_to_cat: -# print(f">>> {f}:") -# os.system(f"cat {f}") -# print("\n") - -# We must keep a backup copy of the ProjectSettings.asset because UTR will serialize the one in the project as a binary -# file, making it impossible to load as a yaml file here -test_settings = os.path.join(".", ".yamato", "PickAndPlaceTests", "IntegrationTestSettings.asset") -project_settings_relative = os.path.join(".", "tutorials", "pick_and_place", "PickAndPlaceProject", "ProjectSettings", "ProjectSettings.asset") -shutil.copyfile(test_settings, project_settings_relative) - -# TODO: We have to use the above, bad solution, for now, because the below solution won't work until -# UTR stops re-serializing the settings -# project_settings_asset = UnityDocument.load_yaml(project_settings_file) -# scripting_defines = project_settings_asset.entry.scriptingDefineSymbols # type: OrderedDict -# if scripting_defines[1]: -# scripting_defines[1] += f";{_INTEGRATION_TEST_DEFINE}" -# else: -# scripting_defines[1] = _INTEGRATION_TEST_DEFINE -# project_settings_asset.dump_yaml() diff --git a/.yamato/PickAndPlaceTests/set-up-ros-define.py b/.yamato/PickAndPlaceTests/set-up-ros-define.py deleted file mode 100644 index 9a716ba2..00000000 --- a/.yamato/PickAndPlaceTests/set-up-ros-define.py +++ /dev/null @@ -1,29 +0,0 @@ -from unityparser import UnityDocument - -import argparse -import os - -parser = argparse.ArgumentParser(description='Add ROS define symbols') -parser.add_argument('ros', type=str, help='ROS version: ros1 or ros2') - -project_settings_filepath = os.path.join(".", "tutorials", "pick_and_place", "PickAndPlaceProject", "ProjectSettings", "ProjectSettings.asset") -if not os.path.exists(project_settings_filepath): - raise FileNotFoundError("Not found %s".format(project_settings_filepath)) -settings = UnityDocument.load_yaml(project_settings_filepath) -symbols = settings.entries[0].scriptingDefineSymbols - -args = parser.parse_args() -if args.ros == "ros1": - if symbols[1] is None: - symbols[1] = "ROS1" - else: - symbols[1] += ";ROS1" -elif args.ros == "ros2": - if symbols[1] is None: - symbols[1] = "ROS2" - else: - symbols[1] += ";ROS2" -else: - raise ValueError("Invalid input ROS version. Must be either ros1 or ros2") -settings.dump_yaml(project_settings_filepath) - diff --git a/.yamato/sonar.yml b/.yamato/sonar.yml deleted file mode 100644 index 19a4bdae..00000000 --- a/.yamato/sonar.yml +++ /dev/null @@ -1,52 +0,0 @@ -csharp: - name: Sonarqube C# Scan - agent: - type: Unity::metal::macmini - image: package-ci/mac - flavor: m1.mac - variables: - PROJECT_PATH: tutorials/pick_and_place/PickAndPlaceProject - SONARQUBE_PROJECT_KEY: ai-robotics-hub-csharp - SONARQUBE_PROJECT_BASE_DIR: /Users/bokken/build/output/Unity-Technologies/Unity-Robotics-Hub/tutorials/pick_and_place/PickAndPlaceProject - MSBUILD_SLN_PATH: ./tutorials/pick_and_place/PickAndPlaceProject/PickAndPlaceProject.sln - PROJECT_ROOT: /Users/bokken/build/output/Unity-Technologies/Unity-Robotics-Hub/ - UNITY_VERSION: 2020.3.11f1 - commands: - - npm install upm-ci-utils@stable -g --registry https://artifactory.prd.it.unity3d.com/artifactory/api/npm/upm-npm - - unity-downloader-cli -u $UNITY_VERSION -c Editor - - brew install mono corretto - - curl https://github.com/SonarSource/sonar-scanner-msbuild/releases/download/5.2.1.31210/sonar-scanner-msbuild-5.2.1.31210-net46.zip -o sonar-scanner-msbuild-net46.zip -L - - unzip sonar-scanner-msbuild-net46.zip -d ~/sonar-scanner-msbuild - - chmod a+x ~/sonar-scanner-msbuild/sonar-scanner-4.6.1.2450/bin/sonar-scanner - - .Editor/Unity.app/Contents/MacOS/Unity -projectPath $PROJECT_PATH -batchmode -quit -nographics -logFile - -executeMethod "UnityEditor.SyncVS.SyncSolution" - - command: | - cd $PROJECT_PATH - for file in *.csproj; do sed -i.backup "s/^[[:blank:]]*false<\/ReferenceOutputAssembly>/true<\/ReferenceOutputAssembly>/g" $file; rm $file.backup; done - cd $PROJECT_ROOT - - mono ~/sonar-scanner-msbuild/SonarScanner.MSBuild.exe begin /k:$SONARQUBE_PROJECT_KEY /d:sonar.host.url=$SONARQUBE_ENDPOINT_URL_PRD /d:sonar.login=$SONARQUBE_TOKEN_PRD /d:sonar.projectBaseDir=$SONARQUBE_PROJECT_BASE_DIR - - msbuild $MSBUILD_SLN_PATH - - mono ~/sonar-scanner-msbuild/SonarScanner.MSBuild.exe end /d:sonar.login=$SONARQUBE_TOKEN_PRD - triggers: - cancel_old_ci: true - expression: | - ((pull_request.target eq "main" OR pull_request.target eq "dev") - AND NOT pull_request.push.changes.all match "**/*.md") OR - (push.branch eq "main" OR push.branch eq "dev") -standard: - name: Sonarqube Standard Scan - agent: - type: Unity::metal::macmini - image: package-ci/mac - flavor: m1.mac - variables: - SONARQUBE_PROJECT_KEY: ai-robotics-hub-standard - commands: - - curl https://binaries.sonarsource.com/Distribution/sonar-scanner-cli/sonar-scanner-cli-4.6.2.2472-macosx.zip -o sonar-scanner-macosx.zip -L - - unzip sonar-scanner-macosx.zip -d ~/sonar-scanner - - ~/sonar-scanner/sonar-scanner-4.6.2.2472-macosx/bin/sonar-scanner -Dsonar.projectKey=$SONARQUBE_PROJECT_KEY -Dsonar.sources=. -Dsonar.host.url=$SONARQUBE_ENDPOINT_URL_PRD -Dsonar.login=$SONARQUBE_TOKEN_PRD - triggers: - cancel_old_ci: true - expression: | - ((pull_request.target eq "main" OR pull_request.target eq "dev") - AND NOT pull_request.push.changes.all match "**/*.md") OR - (push.branch eq "main" OR push.branch eq "dev") \ No newline at end of file diff --git a/.yamato/yamato-config.yml b/.yamato/yamato-config.yml deleted file mode 100644 index 4c22aceb..00000000 --- a/.yamato/yamato-config.yml +++ /dev/null @@ -1,144 +0,0 @@ -pick_and_place: - name: Robotics Hub Pick and Place Tests - agent: - type: Unity::VM - image: robotics/ci-ubuntu20:v0.1.0pnp-796097 - flavor: i1.large - variables: - PATH: /root/.local/bin:/home/bokken/bin:/home/bokken/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/sbin:/home/bokken/.npm-global/bin - commands: - - sudo ln -s $(which python3) /usr/bin/python - - git submodule update --init --recursive - - # We must remove the Demo.cs script because the System.CodeDom assembly is not in the bokken .NET sdk - - rm ./tutorials/pick_and_place/PickAndPlaceProject/Assets/DemoScripts/Demo.* - - # Ensure audio is disabled. Unity built-in audio fails to initialize in our Bokken image. - - "sed -i -e '/m_DisableAudio/ s/: .*/: 1/' ./tutorials/pick_and_place/PickAndPlaceProject/ProjectSettings/AudioManager.asset" - - python3 -m pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade - - unity-downloader-cli -u 2020.3.11f1 -c editor -c StandaloneSupport-IL2CPP -c Linux --wait --published - - git clone git@github.cds.internal.unity3d.com:unity/utr.git utr - - # Explicitly run MessageGeneration tests first to generate dependencies - - utr/utr --testproject=./tutorials/pick_and_place/PickAndPlaceProject --editor-location=.Editor --reruncount=0 - --artifacts_path=test-results --suite=editor --platform=Editor --extra-editor-arg="-nographics" - --category=MessageGeneration - - # Run each category of tests in its own process, in order of increasing complexity - - utr/utr --testproject=./tutorials/pick_and_place/PickAndPlaceProject --editor-location=.Editor --reruncount=0 - --artifacts_path=test-results --suite=playmode --suite=editor --platform=Editor --category=UnitTests - - # - utr/utr --testproject=./tutorials/pick_and_place/PickAndPlaceProject --editor-location=.Editor --reruncount=0 - #--artifacts_path=test-results --suite=editor --platform=Editor --testfilter BuildTests.PlayerBuilder.BuildPlayerLinux - - - python3 .yamato/PickAndPlaceTests/set-up-integration-tests.py - - # Run Pick and Place Test - # NOTE: Simply specifying the testCategory is not enough to get a test marked with [Explicit] to run - # TODO: Determine how best to capture ROS logging as test artifacts - # TODO: Determine when it would be prudent to run BuildTests and add them here or in a new config - - | - /bin/bash .yamato/PickAndPlaceTests/ros.bash build_pick_and_place - /bin/bash .yamato/PickAndPlaceTests/ros.bash start_pick_and_place & - export PID=$! - utr/utr --testproject=./tutorials/pick_and_place/PickAndPlaceProject --editor-location=.Editor --reruncount=0 --artifacts_path=test-results --suite=editor --platform=Editor --extra-editor-arg="-nographics" --testfilter IntegrationTests.PickAndPlaceIntegrationTests - /bin/bash .yamato/PickAndPlaceTests/ros.bash stop ros1 $PID - - triggers: - cancel_old_ci: true - expression: | - (pull_request.target in ["main", "dev"] AND - NOT pull_request.changes.all match ["**/*.md","**/*.jpg","**/*.jpeg","**/*.gif","**/*.pdf"]) - artifacts: - logs: - paths: - - "test-results/**/*" - -{% assign rosDistros = "noetic galactic" | split: " " %} - -{% for rosDistro in rosDistros %} -ros_{{rosDistro}}_integration: - name: Robotics Hub ROS {{rosDistro}} Integration Tests - agent: - type: Unity::VM - {% if rosDistro == "noetic" %} - image: robotics/ci-ubuntu20:v0.1.0-795910 - {% elsif rosDistro == "galactic" %} - image: robotics/ci-ros2-galactic-ubuntu20:v0.0.2-916903 - {% endif %} - flavor: i1.large - variables: - PATH: /root/.local/bin:/home/bokken/bin:/home/bokken/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/sbin:/home/bokken/.npm-global/bin - commands: - # TODO: move to image builders - - sudo ln -s $(which python3) /usr/bin/python - # TODO: move to galactic image builder - - sudo apt update && sudo apt install -y build-essential - - - git submodule update --init --recursive - - # We must remove the Demo.cs script because the System.CodeDom assembly is not in the bokken .NET sdk - - rm ./tutorials/pick_and_place/PickAndPlaceProject/Assets/DemoScripts/Demo.* - - # Ensure audio is disabled. Unity built-in audio fails to initialize in our Bokken image. - - "sed -i -e '/m_DisableAudio/ s/: .*/: 1/' ./tutorials/pick_and_place/PickAndPlaceProject/ProjectSettings/AudioManager.asset" - - python3 -m pip install unity-downloader-cli --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade - - unity-downloader-cli -u 2020.3.11f1 -c editor -c StandaloneSupport-IL2CPP -c Linux --wait --published - - git clone git@github.cds.internal.unity3d.com:unity/utr.git utr - - # Explicitly run MessageGeneration tests first to generate dependencies - - utr/utr --testproject=./tutorials/pick_and_place/PickAndPlaceProject --editor-location=.Editor --reruncount=0 - --artifacts_path=test-results --suite=editor --platform=Editor --extra-editor-arg="-nographics" - --category=MessageGeneration - - - python3 .yamato/PickAndPlaceTests/set-up-integration-tests.py - - # Run ROS Integration Tests - # This step requires to execute set-up-integration-tests.py - # TODO: move ROS_DISTRO exporting to image builder - - | - export ROS_DISTRO=$(ls -1 /opt/ros | head -n1) - if [ $ROS_DISTRO == "noetic" ]; then - ROS=ros1 - elif [ $ROS_DISTRO == "galactic" ]; then - ROS=ros2 - fi - - python3 .yamato/PickAndPlaceTests/set-up-ros-define.py $ROS - - /bin/bash .yamato/PickAndPlaceTests/ros.bash build_ros $ROS - /bin/bash .yamato/PickAndPlaceTests/ros.bash start_ros $ROS & - export PID=$! - sleep 10 # Wait for ROS endpoint to stand up - - utr/utr --testproject=./tutorials/pick_and_place/PickAndPlaceProject --editor-location=.Editor --reruncount=0 --artifacts_path=test-results --suite=editor --platform=Editor --extra-editor-arg="-nographics" --testfilter IntegrationTests.RosIntegrationTests.RosIntegration_Publisher_Success - - /bin/bash .yamato/PickAndPlaceTests/ros.bash run_ros_position_service $ROS & - export POSITION_SERVICE_PID=$! - utr/utr --testproject=./tutorials/pick_and_place/PickAndPlaceProject --editor-location=.Editor --reruncount=0 --artifacts_path=test-results --suite=editor --platform=Editor --extra-editor-arg="-nographics" --testfilter IntegrationTests.RosIntegrationTests.RosIntegration_ServiceClient_Success - /bin/bash .yamato/PickAndPlaceTests/ros.bash stop $ROS $POSITION_SERVICE_PID - - /bin/bash .yamato/PickAndPlaceTests/ros.bash run_ros_color_publisher $ROS & - export COLOR_PUBLISHER_PID=$! - utr/utr --testproject=./tutorials/pick_and_place/PickAndPlaceProject --editor-location=.Editor --reruncount=0 --artifacts_path=test-results --suite=editor --platform=Editor --extra-editor-arg="-nographics" --testfilter IntegrationTests.RosIntegrationTests.RosIntegration_Subscriber_Success - /bin/bash .yamato/PickAndPlaceTests/ros.bash stop $ROS $COLOR_PUBLISHER_PID - - /bin/bash .yamato/PickAndPlaceTests/ros.bash run_ros_pose_service_client $ROS & - export POSE_SERVICE_PID=$! - utr/utr --testproject=./tutorials/pick_and_place/PickAndPlaceProject --editor-location=.Editor --reruncount=0 --artifacts_path=test-results --suite=editor --platform=Editor --extra-editor-arg="-nographics" --testfilter IntegrationTests.RosIntegrationTests.RosIntegration_ServiceServer_Success - /bin/bash .yamato/PickAndPlaceTests/ros.bash stop $ROS $POSE_SERVICE_PID - - /bin/bash .yamato/PickAndPlaceTests/ros.bash stop $ROS $PID - - triggers: - cancel_old_ci: true - expression: | - (pull_request.target in ["main", "dev"] AND - NOT pull_request.changes.all match ["**/*.md","**/*.jpg","**/*.jpeg","**/*.gif","**/*.pdf"]) - OR (push.branch in ["main", "dev"]) - artifacts: - logs: - paths: - - "test-results/**/*" -{% endfor %} - From 77236f5156bd3f67fe601e9369877ef0ec3ba81f Mon Sep 17 00:00:00 2001 From: davidmenardunity Date: Tue, 2 Apr 2024 14:17:16 -0400 Subject: [PATCH 3/5] Removed contribution and adjusted license --- CODE_OF_CONDUCT.md | 74 ------------------ CONTRIBUTING.md | 64 --------------- LICENSE | 190 --------------------------------------------- LICENSE.md | 5 ++ 4 files changed, 5 insertions(+), 328 deletions(-) delete mode 100644 CODE_OF_CONDUCT.md delete mode 100644 CONTRIBUTING.md delete mode 100644 LICENSE create mode 100644 LICENSE.md diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md deleted file mode 100644 index a7a4c577..00000000 --- a/CODE_OF_CONDUCT.md +++ /dev/null @@ -1,74 +0,0 @@ -# Contributor Covenant Code of Conduct - -## Our Pledge - -In the interest of fostering an open and welcoming environment, we as -contributors and maintainers pledge to making participation in our project and -our community a harassment-free experience for everyone, regardless of age, body -size, disability, ethnicity, gender identity and expression, level of experience, -nationality, personal appearance, race, religion, or sexual identity and -orientation. - -## Our Standards - -Examples of behavior that contributes to creating a positive environment -include: - -* Using welcoming and inclusive language -* Being respectful of differing viewpoints and experiences -* Gracefully accepting constructive criticism -* Focusing on what is best for the community -* Showing empathy towards other community members - -Examples of unacceptable behavior by participants include: - -* The use of sexualized language or imagery and unwelcome sexual attention or - advances -* Trolling, insulting/derogatory comments, and personal or political attacks -* Public or private harassment -* Publishing others' private information, such as a physical or electronic - address, without explicit permission -* Other conduct which could reasonably be considered inappropriate in a - professional setting - -## Our Responsibilities - -Project maintainers are responsible for clarifying the standards of acceptable -behavior and are expected to take appropriate and fair corrective action in -response to any instances of unacceptable behavior. - -Project maintainers have the right and responsibility to remove, edit, or -reject comments, commits, code, wiki edits, issues, and other contributions -that are not aligned to this Code of Conduct, or to ban temporarily or -permanently any contributor for other behaviors that they deem inappropriate, -threatening, offensive, or harmful. - -## Scope - -This Code of Conduct applies both within project spaces and in public spaces -when an individual is representing the project or its community. Examples of -representing a project or community include using an official project e-mail -address, posting via an official social media account, or acting as an appointed -representative at an online or offline event. Representation of a project may be -further defined and clarified by project maintainers. - -## Enforcement - -Instances of abusive, harassing, or otherwise unacceptable behavior may be -reported by contacting the project team at [unity-robotics@unity3d.com](mailto:unity-robotics@unity3d.com). All -complaints will be reviewed and investigated and will result in a response that -is deemed necessary and appropriate to the circumstances. The project team is -obligated to maintain confidentiality with regard to the reporter of an incident. -Further details of specific enforcement policies may be posted separately. - -Project maintainers who do not follow or enforce the Code of Conduct in good -faith may face temporary or permanent repercussions as determined by other -members of the project's leadership. - -## Attribution - -This Code of Conduct is adapted from the [Contributor Covenant][homepage], -version 1.4, available at -https://www.contributor-covenant.org/version/1/4/code-of-conduct/ - -[homepage]: https://www.contributor-covenant.org \ No newline at end of file diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md deleted file mode 100644 index 18edb9f8..00000000 --- a/CONTRIBUTING.md +++ /dev/null @@ -1,64 +0,0 @@ -# Contribution Guidelines - -Thank you for your interest in contributing to Unity Robotics! To facilitate your -contributions, we've outlined a brief set of guidelines to ensure that your extensions -can be easily integrated. - -## Communication - -First, please read through our -[code of conduct](CODE_OF_CONDUCT.md), -as we expect all our contributors to follow it. - -Second, before starting on a project that you intend to contribute to any of our -Unity Robotics packages or tutorials, we **strongly** recommend posting on the repository's -[Issues page](https://github.com/Unity-Technologies/Unity-Robotics-Hub/issues) and -briefly outlining the changes you plan to make. This will enable us to provide -some context that may be helpful for you. This could range from advice and -feedback on how to optimally perform your changes or reasons for not doing it. - -## Git Branches - -The `main` branch corresponds to the most recent stable version of the project. The `dev` branch -contains changes that are staged to be merged into `main` as the team sees fit. - -When contributing to the project, please make sure that your Pull Request (PR) -does the following: - -- Is up-to-date with and targets the `dev` branch -- Contains a detailed description of the changes performed -- Has corresponding changes to documentation, unit tests and sample environments (if - applicable) -- Contains a summary of the tests performed to validate your changes -- Links to issue numbers that the PR resolves (if any) - - - -## Code style - -All Python code should follow the [PEP 8 style guidelines](https://pep8.org/). - -All C# code should follow the [Microsoft C# Coding Conventions](https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/inside-a-program/coding-conventions). -Additionally, the [Unity Coding package](https://docs.unity3d.com/Packages/com.unity.coding@0.1/manual/index.html) -can be used to format, encode, and lint your code according to the standard Unity -development conventions. Be aware that these Unity conventions will supersede the -Microsoft C# Coding Conventions where applicable. - -Please note that even if the code you are changing does not adhere to these guidelines, -we expect your submissions to follow these conventions. - -## Contributor License Agreements - -When you open a pull request, you will be asked to acknowledge our Contributor -License Agreement. We allow both individual contributions and contributions made -on behalf of companies. We use an open source tool called CLA assistant. If you -have any questions on our CLA, please -[submit an issue](https://github.com/Unity-Technologies/Unity-Robotics-Hub/issues) or -email us at [unity-robotics@unity3d.com](mailto:unity-robotics@unity3d.com). - -## Contribution review - -Once you have a change ready following the above ground rules, simply make a -pull request in GitHub. \ No newline at end of file diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 54541744..00000000 --- a/LICENSE +++ /dev/null @@ -1,190 +0,0 @@ - Apache License - Version 2.0, January 2004 - http://www.apache.org/licenses/ - - TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION - - 1. Definitions. - - "License" shall mean the terms and conditions for use, reproduction, - and distribution as defined by Sections 1 through 9 of this document. - - "Licensor" shall mean the copyright owner or entity authorized by - the copyright owner that is granting the License. - - "Legal Entity" shall mean the union of the acting entity and all - other entities that control, are controlled by, or are under common - control with that entity. For the purposes of this definition, - "control" means (i) the power, direct or indirect, to cause the - direction or management of such entity, whether by contract or - otherwise, or (ii) ownership of fifty percent (50%) or more of the - outstanding shares, or (iii) beneficial ownership of such entity. - - "You" (or "Your") shall mean an individual or Legal Entity - exercising permissions granted by this License. - - "Source" form shall mean the preferred form for making modifications, - including but not limited to software source code, documentation - source, and configuration files. - - "Object" form shall mean any form resulting from mechanical - transformation or translation of a Source form, including but - not limited to compiled object code, generated documentation, - and conversions to other media types. - - "Work" shall mean the work of authorship, whether in Source or - Object form, made available under the License, as indicated by a - copyright notice that is included in or attached to the work - (an example is provided in the Appendix below). - - "Derivative Works" shall mean any work, whether in Source or Object - form, that is based on (or derived from) the Work and for which the - editorial revisions, annotations, elaborations, or other modifications - represent, as a whole, an original work of authorship. For the purposes - of this License, Derivative Works shall not include works that remain - separable from, or merely link (or bind by name) to the interfaces of, - the Work and Derivative Works thereof. - - "Contribution" shall mean any work of authorship, including - the original version of the Work and any modifications or additions - to that Work or Derivative Works thereof, that is intentionally - submitted to Licensor for inclusion in the Work by the copyright owner - or by an individual or Legal Entity authorized to submit on behalf of - the copyright owner. For the purposes of this definition, "submitted" - means any form of electronic, verbal, or written communication sent - to the Licensor or its representatives, including but not limited to - communication on electronic mailing lists, source code control systems, - and issue tracking systems that are managed by, or on behalf of, the - Licensor for the purpose of discussing and improving the Work, but - excluding communication that is conspicuously marked or otherwise - designated in writing by the copyright owner as "Not a Contribution." - - "Contributor" shall mean Licensor and any individual or Legal Entity - on behalf of whom a Contribution has been received by Licensor and - subsequently incorporated within the Work. - - 2. Grant of Copyright License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - copyright license to reproduce, prepare Derivative Works of, - publicly display, publicly perform, sublicense, and distribute the - Work and such Derivative Works in Source or Object form. - - 3. Grant of Patent License. Subject to the terms and conditions of - this License, each Contributor hereby grants to You a perpetual, - worldwide, non-exclusive, no-charge, royalty-free, irrevocable - (except as stated in this section) patent license to make, have made, - use, offer to sell, sell, import, and otherwise transfer the Work, - where such license applies only to those patent claims licensable - by such Contributor that are necessarily infringed by their - Contribution(s) alone or by combination of their Contribution(s) - with the Work to which such Contribution(s) was submitted. If You - institute patent litigation against any entity (including a - cross-claim or counterclaim in a lawsuit) alleging that the Work - or a Contribution incorporated within the Work constitutes direct - or contributory patent infringement, then any patent licenses - granted to You under this License for that Work shall terminate - as of the date such litigation is filed. - - 4. Redistribution. You may reproduce and distribute copies of the - Work or Derivative Works thereof in any medium, with or without - modifications, and in Source or Object form, provided that You - meet the following conditions: - - (a) You must give any other recipients of the Work or - Derivative Works a copy of this License; and - - (b) You must cause any modified files to carry prominent notices - stating that You changed the files; and - - (c) You must retain, in the Source form of any Derivative Works - that You distribute, all copyright, patent, trademark, and - attribution notices from the Source form of the Work, - excluding those notices that do not pertain to any part of - the Derivative Works; and - - (d) If the Work includes a "NOTICE" text file as part of its - distribution, then any Derivative Works that You distribute must - include a readable copy of the attribution notices contained - within such NOTICE file, excluding those notices that do not - pertain to any part of the Derivative Works, in at least one - of the following places: within a NOTICE text file distributed - as part of the Derivative Works; within the Source form or - documentation, if provided along with the Derivative Works; or, - within a display generated by the Derivative Works, if and - wherever such third-party notices normally appear. The contents - of the NOTICE file are for informational purposes only and - do not modify the License. You may add Your own attribution - notices within Derivative Works that You distribute, alongside - or as an addendum to the NOTICE text from the Work, provided - that such additional attribution notices cannot be construed - as modifying the License. - - You may add Your own copyright statement to Your modifications and - may provide additional or different license terms and conditions - for use, reproduction, or distribution of Your modifications, or - for any such Derivative Works as a whole, provided Your use, - reproduction, and distribution of the Work otherwise complies with - the conditions stated in this License. - - 5. Submission of Contributions. Unless You explicitly state otherwise, - any Contribution intentionally submitted for inclusion in the Work - by You to the Licensor shall be under the terms and conditions of - this License, without any additional terms or conditions. - Notwithstanding the above, nothing herein shall supersede or modify - the terms of any separate license agreement you may have executed - with Licensor regarding such Contributions. - - 6. Trademarks. This License does not grant permission to use the trade - names, trademarks, service marks, or product names of the Licensor, - except as required for reasonable and customary use in describing the - origin of the Work and reproducing the content of the NOTICE file. - - 7. Disclaimer of Warranty. Unless required by applicable law or - agreed to in writing, Licensor provides the Work (and each - Contributor provides its Contributions) on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied, including, without limitation, any warranties or conditions - of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A - PARTICULAR PURPOSE. You are solely responsible for determining the - appropriateness of using or redistributing the Work and assume any - risks associated with Your exercise of permissions under this License. - - 8. Limitation of Liability. In no event and under no legal theory, - whether in tort (including negligence), contract, or otherwise, - unless required by applicable law (such as deliberate and grossly - negligent acts) or agreed to in writing, shall any Contributor be - liable to You for damages, including any direct, indirect, special, - incidental, or consequential damages of any character arising as a - result of this License or out of the use or inability to use the - Work (including but not limited to damages for loss of goodwill, - work stoppage, computer failure or malfunction, or any and all - other commercial damages or losses), even if such Contributor - has been advised of the possibility of such damages. - - 9. Accepting Warranty or Additional Liability. While redistributing - the Work or Derivative Works thereof, You may choose to offer, - and charge a fee for, acceptance of support, warranty, indemnity, - or other liability obligations and/or rights consistent with this - License. However, in accepting such obligations, You may act only - on Your own behalf and on Your sole responsibility, not on behalf - of any other Contributor, and only if You agree to indemnify, - defend, and hold each Contributor harmless for any liability - incurred by, or claims asserted against, such Contributor by reason - of your accepting any such warranty or additional liability. - - END OF TERMS AND CONDITIONS - - Copyright 2020 Unity Technologies - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. \ No newline at end of file diff --git a/LICENSE.md b/LICENSE.md new file mode 100644 index 00000000..96cdffb1 --- /dev/null +++ b/LICENSE.md @@ -0,0 +1,5 @@ +ROS TCP Connector copyright © 2021 Unity Technologies. + +This software is subject to, and made available under the Apache 2.0 license (the “License”). You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0 + +Unless expressly provided otherwise, the software under this license is made available strictly on an “AS IS” BASIS WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED. Please review the Terms of Service for details on these and other terms and conditions. From 696e74a272e0e173d5316360b7ab71081dfa1101 Mon Sep 17 00:00:00 2001 From: davidmenardunity Date: Tue, 2 Apr 2024 14:23:06 -0400 Subject: [PATCH 4/5] Update LICENSE.md --- LICENSE.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/LICENSE.md b/LICENSE.md index 96cdffb1..d48c02b5 100644 --- a/LICENSE.md +++ b/LICENSE.md @@ -1,4 +1,4 @@ -ROS TCP Connector copyright © 2021 Unity Technologies. +Unity Robotics Hub copyright © 2020 Unity Technologies. This software is subject to, and made available under the Apache 2.0 license (the “License”). You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0 From 180daf410b1f6e494d9dee0ad95e30470e564712 Mon Sep 17 00:00:00 2001 From: Simo Punnonen Date: Mon, 25 Nov 2024 18:47:51 +0200 Subject: [PATCH 5/5] Fix readme references to match file updates --- README.md | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/README.md b/README.md index 12736a99..3bd59f63 100644 --- a/README.md +++ b/README.md @@ -101,8 +101,6 @@ ROS2 support is now available! You can get started by following [this tutorial]( ## Community and Feedback The Unity Robotics projects are open-source and we encourage and welcome contributions. -If you wish to contribute, be sure to review our [contribution guidelines](CONTRIBUTING.md) -and [code of conduct](CODE_OF_CONDUCT.md). ## Support @@ -120,4 +118,4 @@ To get notified about new updates and features, [sign up for our newsletter](htt [FAQs](faq.md) ## License -[Apache License 2.0](LICENSE) +[Apache License 2.0](LICENSE.md)