Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: blowfishpro/B9PartSwitch
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.4.1
Choose a base ref
...
head repository: blowfishpro/B9PartSwitch
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Loading
Showing with 13,387 additions and 1,759 deletions.
  1. +151 −0 .github/workflows/build-and-test.yml
  2. +12 −4 .gitignore
  3. +24 −0 .rubocop.yml
  4. +1 −0 .ruby-version
  5. +0 −31 .travis.yml
  6. +8 −2 B9PartSwitch.sln
  7. +143 −24 B9PartSwitch/B9PartSwitch.csproj
  8. +0 −222 B9PartSwitch/Configs/CFGUtil.cs
  9. +0 −52 B9PartSwitch/Configs/CFGUtilObject.cs
  10. +0 −295 B9PartSwitch/Configs/ConfigField.cs
  11. +0 −102 B9PartSwitch/Configs/ConfigFieldList.cs
  12. +0 −37 B9PartSwitch/Configs/ParseType.cs
  13. +63 −54 B9PartSwitch/{Configs/CFGUtilPartModule.cs → CustomPartModule.cs}
  14. +0 −18 B9PartSwitch/Exceptions.cs
  15. +3 −3 B9PartSwitch/Extensions/{CFGUtilPartModuleExtensions.cs → CustomPartModuleExtensions.cs}
  16. +40 −0 B9PartSwitch/Extensions/IEnumerableExtensions.cs
  17. +3 −1 B9PartSwitch/Extensions/ListExtensions.cs
  18. +25 −1 B9PartSwitch/Extensions/ObjectExtensions.cs
  19. +85 −24 B9PartSwitch/Extensions/PartExtensions.cs
  20. +22 −2 B9PartSwitch/Extensions/PartModuleExtensions.cs
  21. +14 −0 B9PartSwitch/Extensions/StringExtensions.cs
  22. +28 −0 B9PartSwitch/Extensions/TransformExtensions.cs
  23. +8 −1 B9PartSwitch/Extensions/TypeExtensions.cs
  24. +17 −0 B9PartSwitch/Extensions/Vector3Extensions.cs
  25. +77 −0 B9PartSwitch/FatalErrorHandler.cs
  26. +64 −0 B9PartSwitch/Fishbones/Context/Operation.cs
  27. +31 −0 B9PartSwitch/Fishbones/Context/OperationContext.cs
  28. +35 −0 B9PartSwitch/Fishbones/FieldWrappers/FieldWrapper.cs
  29. +14 −0 B9PartSwitch/Fishbones/FieldWrappers/IFieldWrapper.cs
  30. +42 −0 B9PartSwitch/Fishbones/FieldWrappers/PropertyWrapper.cs
  31. +10 −0 B9PartSwitch/Fishbones/IContextualNode.cs
  32. +12 −0 B9PartSwitch/Fishbones/NodeData.cs
  33. +104 −0 B9PartSwitch/Fishbones/NodeDataBuilder.cs
  34. +57 −0 B9PartSwitch/Fishbones/NodeDataField.cs
  35. +62 −0 B9PartSwitch/Fishbones/NodeDataList.cs
  36. +63 −0 B9PartSwitch/Fishbones/NodeDataListBuilder.cs
  37. +37 −0 B9PartSwitch/Fishbones/NodeDataListLibrary.cs
  38. +10 −0 B9PartSwitch/Fishbones/NodeDataMappers/INodeDataMapper.cs
  39. +8 −0 B9PartSwitch/Fishbones/NodeDataMappers/INodeDataMapperBuilder.cs
  40. +71 −0 B9PartSwitch/Fishbones/NodeDataMappers/NodeListMapper.cs
  41. +30 −0 B9PartSwitch/Fishbones/NodeDataMappers/NodeListMapperBuilder.cs
  42. +46 −0 B9PartSwitch/Fishbones/NodeDataMappers/NodeScalarMapper.cs
  43. +29 −0 B9PartSwitch/Fishbones/NodeDataMappers/NodeScalarMapperBuilder.cs
  44. +71 −0 B9PartSwitch/Fishbones/NodeDataMappers/ValueListMapper.cs
  45. +33 −0 B9PartSwitch/Fishbones/NodeDataMappers/ValueListMapperBuilder.cs
  46. +44 −0 B9PartSwitch/Fishbones/NodeDataMappers/ValueScalarMapper.cs
  47. +32 −0 B9PartSwitch/Fishbones/NodeDataMappers/ValueScalarMapperBuilder.cs
  48. +88 −0 B9PartSwitch/Fishbones/NodeDataObjectExtensions.cs
  49. +36 −0 B9PartSwitch/Fishbones/OperationManager.cs
  50. +73 −0 B9PartSwitch/Fishbones/Parsers/AttachNodeValueParser.cs
  51. +119 −0 B9PartSwitch/Fishbones/Parsers/DefaultValueParseMap.cs
  52. +33 −0 B9PartSwitch/Fishbones/Parsers/EnumValueParser.cs
  53. +24 −0 B9PartSwitch/Fishbones/Parsers/Exceptions.cs
  54. +11 −0 B9PartSwitch/Fishbones/Parsers/INodeObjectWrapper.cs
  55. +16 −0 B9PartSwitch/Fishbones/Parsers/IValueParseMap.cs
  56. +11 −0 B9PartSwitch/Fishbones/Parsers/IValueParser.cs
  57. +25 −0 B9PartSwitch/Fishbones/Parsers/NodeObjectWrapper.cs
  58. +21 −0 B9PartSwitch/Fishbones/Parsers/NodeObjectWrapperConfigNode.cs
  59. +37 −0 B9PartSwitch/Fishbones/Parsers/NodeObjectWrapperIConfigNode.cs
  60. +38 −0 B9PartSwitch/Fishbones/Parsers/NodeObjectWrapperIContextualNode.cs
  61. +67 −0 B9PartSwitch/Fishbones/Parsers/OverrideValueParseMap.cs
  62. +26 −0 B9PartSwitch/Fishbones/Parsers/PartResourceDefinitionValueParser.cs
  63. +36 −0 B9PartSwitch/Fishbones/Parsers/ScaleParser.cs
  64. +59 −0 B9PartSwitch/Fishbones/Parsers/ValueParseMap.cs
  65. +27 −0 B9PartSwitch/Fishbones/Parsers/ValueParseMapWrapper.cs
  66. +36 −0 B9PartSwitch/Fishbones/Parsers/ValueParser.cs
  67. +34 −0 B9PartSwitch/Fishbones/UseParser.cs
  68. +102 −0 B9PartSwitch/Localization.cs
  69. +68 −0 B9PartSwitch/ModuleB9AssignUiGroups.cs
  70. +31 −0 B9PartSwitch/ModuleB9DisableTransform.cs
  71. +7 −0 B9PartSwitch/ModuleB9PropagateCopyEvents.cs
  72. +181 −0 B9PartSwitch/ModuleMatcher.cs
  73. +55 −0 B9PartSwitch/PartSwitch/AttachNodeModifierInfo.cs
  74. +53 −0 B9PartSwitch/PartSwitch/BestSubtypeDeterminator.cs
  75. +32 −0 B9PartSwitch/PartSwitch/ColorPropertyModifierInfo.cs
  76. +32 −0 B9PartSwitch/PartSwitch/FloatPropertyModifierInfo.cs
  77. +69 −0 B9PartSwitch/PartSwitch/LockedSubtypeWarningHandler.cs
  78. +137 −0 B9PartSwitch/PartSwitch/MaterialModifierInfo.cs
  79. +32 −20 B9PartSwitch/PartSwitch/ModuleB9PartInfo.cs
  80. +503 −306 B9PartSwitch/PartSwitch/ModuleB9PartSwitch.cs
  81. +157 −0 B9PartSwitch/PartSwitch/ModuleModifierInfo.cs
  82. +81 −0 B9PartSwitch/PartSwitch/PartModifiers/AttachNodeMover.cs
  83. +45 −0 B9PartSwitch/PartSwitch/PartModifiers/AttachNodeSizeModifier.cs
  84. +31 −0 B9PartSwitch/PartSwitch/PartModifiers/AttachNodeToggler.cs
  85. +53 −0 B9PartSwitch/PartSwitch/PartModifiers/ColorPropertyModifier.cs
  86. +37 −0 B9PartSwitch/PartSwitch/PartModifiers/EffectDeactivator.cs
  87. +53 −0 B9PartSwitch/PartSwitch/PartModifiers/FloatPropertyModifier.cs
  88. +9 −0 B9PartSwitch/PartSwitch/PartModifiers/IPartAspectLock.cs
  89. +35 −0 B9PartSwitch/PartSwitch/PartModifiers/IPartModifier.cs
  90. +53 −0 B9PartSwitch/PartSwitch/PartModifiers/ModuleDataHandlerBasic.cs
  91. +54 −0 B9PartSwitch/PartSwitch/PartModifiers/ModuleDeactivator.cs
  92. +29 −0 B9PartSwitch/PartSwitch/PartModifiers/ModuleOutputResourceResetter.cs
  93. +49 −0 B9PartSwitch/PartSwitch/PartModifiers/PartAttachNodeModifier.cs
  94. +45 −0 B9PartSwitch/PartSwitch/PartModifiers/PartCenterOfBuoyancyModifier.cs
  95. +45 −0 B9PartSwitch/PartSwitch/PartModifiers/PartCenterOfDisplacementModifier.cs
  96. +45 −0 B9PartSwitch/PartSwitch/PartModifiers/PartCoLOffsetModifier.cs
  97. +45 −0 B9PartSwitch/PartSwitch/PartModifiers/PartCoMOffsetModifier.cs
  98. +45 −0 B9PartSwitch/PartSwitch/PartModifiers/PartCoPOffsetModifier.cs
  99. +44 −0 B9PartSwitch/PartSwitch/PartModifiers/PartCrashToleranceModifier.cs
  100. +44 −0 B9PartSwitch/PartSwitch/PartModifiers/PartMaxTempModifier.cs
  101. +35 −0 B9PartSwitch/PartSwitch/PartModifiers/PartModifierBase.cs
  102. +44 −0 B9PartSwitch/PartSwitch/PartModifiers/PartSkinMaxTempModifier.cs
  103. +44 −0 B9PartSwitch/PartSwitch/PartModifiers/PartStackSymmetryModifier.cs
  104. +59 −0 B9PartSwitch/PartSwitch/PartModifiers/ResourceModifier.cs
  105. +54 −0 B9PartSwitch/PartSwitch/PartModifiers/TextureReplacement.cs
  106. +51 −0 B9PartSwitch/PartSwitch/PartModifiers/TransformMover.cs
  107. +52 −0 B9PartSwitch/PartSwitch/PartModifiers/TransformRotator.cs
  108. +57 −0 B9PartSwitch/PartSwitch/PartModifiers/TransformScaleModifier.cs
  109. +48 −0 B9PartSwitch/PartSwitch/PartModifiers/TransformToggler.cs
  110. +491 −122 B9PartSwitch/PartSwitch/PartSubtype.cs
  111. +110 −0 B9PartSwitch/PartSwitch/PartSwitchFlightDialog.cs
  112. +99 −0 B9PartSwitch/PartSwitch/SubtypePartFields.cs
  113. +67 −0 B9PartSwitch/PartSwitch/TexturePropertyModifierInfo.cs
  114. +155 −0 B9PartSwitch/PartSwitch/TextureSwitchInfo.cs
  115. +64 −0 B9PartSwitch/PartSwitch/TransformModifierInfo.cs
  116. 0 B9PartSwitch/Properties/.keep
  117. +0 −12 B9PartSwitch/Serialization/ConfigNodeSerialized.cs
  118. +1 −2 B9PartSwitch/Serialization/SerializedDataContainer.cs
  119. +69 −0 B9PartSwitch/SeriousWarningHandler.cs
  120. +26 −28 B9PartSwitch/TankSettings/B9TankSettings.cs
  121. +22 −0 B9PartSwitch/TankSettings/TankTypeValueParser.cs
  122. +109 −15 B9PartSwitch/TankSettings/Tanks.cs
  123. +0 −94 B9PartSwitch/Test/ModuleB9PartSwitchTest.cs
  124. +0 −45 B9PartSwitch/Test/PartModuleTest.cs
  125. +50 −0 B9PartSwitch/UI/PrefabManager.cs
  126. +258 −0 B9PartSwitch/UI/SwitcherSubtypeDescriptionGenerator.cs
  127. +50 −0 B9PartSwitch/UI/TooltipHelper.cs
  128. +82 −0 B9PartSwitch/UI/UIPartActionSubtypeButton.cs
  129. +192 −0 B9PartSwitch/UI/UIPartActionSubtypeSelector.cs
  130. +9 −0 B9PartSwitch/UI/UI_SubtypeSelector.cs
  131. +71 −0 B9PartSwitch/Utils/ChangeTransactionManager.cs
  132. +159 −0 B9PartSwitch/Utils/ColorParser.cs
  133. +96 −0 B9PartSwitch/Utils/GroupedStringBuilder.cs
  134. +18 −0 B9PartSwitch/Utils/ResourceColors.cs
  135. +79 −0 B9PartSwitch/Utils/StringMatcher.cs
  136. +4 −0 B9PartSwitch/packages.config
  137. +170 −0 B9PartSwitchTests/B9PartSwitchTests.csproj
  138. +13 −0 B9PartSwitchTests/DummyTest.cs
  139. +15 −0 B9PartSwitchTests/Exemplars.cs
  140. +64 −0 B9PartSwitchTests/Extensions/IEnumerableExtensionsTest.cs
  141. +68 −0 B9PartSwitchTests/Fishbones/Context/OperationContextTest.cs
  142. +82 −0 B9PartSwitchTests/Fishbones/Context/OperationTest.cs
  143. +80 −0 B9PartSwitchTests/Fishbones/FieldWrappers/FieldWrapperTest.cs
  144. +116 −0 B9PartSwitchTests/Fishbones/FieldWrappers/PropertyWrapperTest.cs
  145. +445 −0 B9PartSwitchTests/Fishbones/NodeDataBuilderTest.cs
  146. +217 −0 B9PartSwitchTests/Fishbones/NodeDataFieldTest.cs
  147. +129 −0 B9PartSwitchTests/Fishbones/NodeDataListBuilderTest.cs
  148. +148 −0 B9PartSwitchTests/Fishbones/NodeDataListTest.cs
  149. +121 −0 B9PartSwitchTests/Fishbones/NodeDataMappers/NodeListMapperBuilderTest.cs
  150. +416 −0 B9PartSwitchTests/Fishbones/NodeDataMappers/NodeListMapperTest.cs
  151. +110 −0 B9PartSwitchTests/Fishbones/NodeDataMappers/NodeScalarMapperBuilderTest.cs
  152. +179 −0 B9PartSwitchTests/Fishbones/NodeDataMappers/NodeScalarMapperTest.cs
  153. +112 −0 B9PartSwitchTests/Fishbones/NodeDataMappers/ValueListMapperBuilderTest.cs
  154. +277 −0 B9PartSwitchTests/Fishbones/NodeDataMappers/ValueListMapperTest.cs
  155. +96 −0 B9PartSwitchTests/Fishbones/NodeDataMappers/ValueScalarMapperBuilderTest.cs
  156. +100 −0 B9PartSwitchTests/Fishbones/NodeDataMappers/ValueScalarMapperTest.cs
  157. +59 −0 B9PartSwitchTests/Fishbones/OperationManagerTest.cs
  158. +134 −0 B9PartSwitchTests/Fishbones/Parsers/AttachNodeValueParserTest.cs
  159. +241 −0 B9PartSwitchTests/Fishbones/Parsers/DefaultValueParseMapTest.cs
  160. +72 −0 B9PartSwitchTests/Fishbones/Parsers/EnumValueParserTest.cs
  161. +39 −0 B9PartSwitchTests/Fishbones/Parsers/ExceptionsTest.cs
  162. +119 −0 B9PartSwitchTests/Fishbones/Parsers/NodeObjectWrapperConfigNodeTest.cs
  163. +147 −0 B9PartSwitchTests/Fishbones/Parsers/NodeObjectWrapperIConfigNodeTest.cs
  164. +149 −0 B9PartSwitchTests/Fishbones/Parsers/NodeObjectWrapperIContextualNodeTest.cs
  165. +73 −0 B9PartSwitchTests/Fishbones/Parsers/NodeObjectWrapperTest.cs
  166. +162 −0 B9PartSwitchTests/Fishbones/Parsers/OverrideValueParseMapTest.cs
  167. +87 −0 B9PartSwitchTests/Fishbones/Parsers/ScaleParserTest.cs
  168. +119 −0 B9PartSwitchTests/Fishbones/Parsers/ValueParseMapTest.cs
  169. +64 −0 B9PartSwitchTests/Fishbones/Parsers/ValueParseMapWrapperTest.cs
  170. +78 −0 B9PartSwitchTests/Fishbones/Parsers/ValueParserTest.cs
  171. +63 −0 B9PartSwitchTests/Fishbones/UseParserTest.cs
  172. +98 −0 B9PartSwitchTests/PartSwitch/BestSubtypeDeterminatorTest.cs
  173. +8 −10 {B9PartSwitch → B9PartSwitchTests}/Properties/AssemblyInfo.cs
  174. +16 −0 B9PartSwitchTests/TestUtils/AssertUtil.cs
  175. +111 −0 B9PartSwitchTests/TestUtils/AssertUtilTest.cs
  176. +6 −0 B9PartSwitchTests/TestUtils/DummyTypes/DummyClass.cs
  177. +17 −0 B9PartSwitchTests/TestUtils/DummyTypes/DummyIConfigNode.cs
  178. +33 −0 B9PartSwitchTests/TestUtils/DummyTypes/DummyIConfigNodeTest.cs
  179. +23 −0 B9PartSwitchTests/TestUtils/DummyTypes/DummyIContextualNode.cs
  180. +40 −0 B9PartSwitchTests/TestUtils/DummyTypes/DummyIContextualNodeTest.cs
  181. +20 −0 B9PartSwitchTests/TestUtils/TestConfigNode.cs
  182. +60 −0 B9PartSwitchTests/TestUtils/TestConfigNodeTest.cs
  183. +114 −0 B9PartSwitchTests/Utils/ChangeTransactionManagerTest.cs
  184. +308 −0 B9PartSwitchTests/Utils/ColorParserTest.cs
  185. +60 −0 B9PartSwitchTests/Utils/GroupedStringBuilderTest.cs
  186. +58 −0 B9PartSwitchTests/Utils/StringMatcherTest.cs
  187. +15 −0 B9PartSwitchTests/app.config
  188. +17 −0 B9PartSwitchTests/packages.config
  189. +0 −19 GameData/B9PartSwitch/B9PartSwitch.version
  190. +10 −5 GameData/B9PartSwitch/DefaultTankTypes.cfg
  191. +24 −0 GameData/B9PartSwitch/Localization/de-de.cfg
  192. +24 −0 GameData/B9PartSwitch/Localization/en-us.cfg
  193. +24 −0 GameData/B9PartSwitch/Localization/es-es.cfg
  194. +19 −0 GameData/B9PartSwitch/Localization/fr-fr.cfg
  195. +24 −0 GameData/B9PartSwitch/Localization/it-it.cfg
  196. +19 −0 GameData/B9PartSwitch/Localization/pt-br.cfg
  197. +26 −0 GameData/B9PartSwitch/Localization/ru.cfg
  198. +24 −0 GameData/B9PartSwitch/Localization/zh-cn.cfg
  199. +8 −0 Gemfile
  200. +1 −0 KSP_VERSION
  201. +2 −0 NetKAN/B9PartSwitch.netkan
  202. +3 −80 README.md
  203. +7 −0 Rakefile
  204. +10 −0 bin/install-ksp-dlls
  205. +11 −0 bin/test
  206. +12 −0 build_script/before_deploy/copy_release.sh
  207. +0 −9 build_script/before_deploy/copy_zip.sh
  208. +0 −75 build_script/before_script/check_version.rb
  209. +0 −20 build_script/deploy/bintray_deploy.json
  210. +11 −0 build_script/env/get_env_without_travis.rb
  211. +0 −8 build_script/env/get_ksp_version.rb
  212. +0 −6 build_script/install/install_ksp_dlls.sh
  213. +0 −10 build_script/script/make_zip.sh
  214. +13 −0 spec/spec_helper.rb
  215. +42 −0 spec/version_file_spec.rb
  216. +22 −0 templates/AssemblyInfo.cs.erb
  217. +11 −0 templates/B9PartSwitch.version.erb
151 changes: 151 additions & 0 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,151 @@
name: Build and Test

on: [push, pull_request]

jobs:
build-and-test:
name: Build and Test
runs-on: ubuntu-latest
outputs:
ksp-version: ${{ steps.set-ksp-version.outputs.ksp-version }}
release-package-name: ${{ steps.set-release-package-name.outputs.release-package-name }}
release-changelog: ${{ steps.extract-single-changelog.outputs.changelog-single }}
steps:
- name: Checkout code
uses: actions/checkout@v2
with:
fetch-depth: 100
- name: Fetch master
run: git fetch --depth=100 origin master
- name: Fetch tags
run: git fetch --depth=1 --tags origin
- name: Describe current revision with tags
id: describe-tags
run: |
GIT_TAGISH="$(git describe --tags)"
echo "${GIT_TAGISH}"
echo "::set-output name=git-tagish::${GIT_TAGISH}"
- name: Install Ruby
uses: ruby/setup-ruby@v1
- name: Install NuGet
uses: nuget/setup-nuget@v1
- name: Install Gems
run: bundle install
- name: Install NuGet packages
run: nuget restore
- name: Set KSP Version
id: set-ksp-version
run: |
KSP_VERSION="$(cat ./KSP_VERSION)"
echo "KSP Version: ${KSP_VERSION}"
echo "::set-output name=ksp-version::${KSP_VERSION}"
- name: Download KSP DLLs
id: download-ksp-dlls
run: |
aws --no-sign-request --region us-east-1 s3 cp s3://blowfish-ksp-dlls/ksp-${{ steps.set-ksp-version.outputs.ksp-version }}.zip '/tmp/KSP_DLLs.zip'
KSP_DLL_PATH="/opt/ksp/assembly/${{ steps.set-ksp-version.outputs.ksp-version }}"
echo "::set-output name=ksp-dll-path::${KSP_DLL_PATH}"
mkdir -p "${KSP_DLL_PATH}"
unzip '/tmp/KSP_DLLs.zip' -d "${KSP_DLL_PATH}"
rm '/tmp/KSP_DLLs.zip'
- name: Run Rubocop
run: bundle exec rubocop
- name: Compile Project
run: msbuild /p:Configuration=Release /p:ReferencePath="${{ steps.download-ksp-dlls.outputs.ksp-dll-path }}"
- name: Run Unit Tests
run: mono packages/xunit.runner.console.*/tools/net471/xunit.console.exe B9PartSwitchTests/bin/Release/B9PartSwitchTests.dll
- name: Extract Changelog
run: |
curl 'https://raw.githubusercontent.com/wiki/blowfishpro/B9PartSwitch/Changelog.md' -o "${RUNNER_TEMP}/B9PartSwitch-Changelog-all.md"
bundle exec extract-changelog -u "$(git describe --tags)" -i "${RUNNER_TEMP}/B9PartSwitch-Changelog-all.md" -o "${RUNNER_TEMP}/B9PartSwitch-Changelog-current.md"
- name: Extract changelog for current release
id: extract-single-changelog
if: startsWith(github.ref, 'refs/tags/v')
shell: bash
run: |
CHANGELOG_SINGLE_CONTENT="$(bundle exec extract-changelog -s "$(git describe --tags)" -i "${RUNNER_TEMP}/B9PartSwitch-Changelog-all.md")"
echo '--- Changelog for this version: ---'
echo "${CHANGELOG_SINGLE_CONTENT}"
echo '--- End changelog ---'
CHANGELOG_SINGLE_CONTENT="${CHANGELOG_SINGLE_CONTENT//'%'/'%25'}"
CHANGELOG_SINGLE_CONTENT="${CHANGELOG_SINGLE_CONTENT//$'\n'/'%0A'}"
CHANGELOG_SINGLE_CONTENT="${CHANGELOG_SINGLE_CONTENT//$'\r'/'%0D'}"
echo "::set-output name=changelog-single::${CHANGELOG_SINGLE_CONTENT}"
- name: Create version file
id: create-version-file
run: |
VERSION_FILE="${RUNNER_TEMP}/B9PartSwitch.version"
bundle exec fill-version "${GITHUB_WORKSPACE}/templates/B9PartSwitch.version.erb" "${VERSION_FILE}"
echo "::set-output name=version-file::${VERSION_FILE}"
- name: Assemble Release
id: assemble-release
run: |
RELEASE_DIR="${RUNNER_TEMP}/release"
echo "Release dir: ${RELEASE_DIR}"
mkdir -v "${RELEASE_DIR}"
echo "::set-output name=release-dir::${RELEASE_DIR}"
cp -v -R "${GITHUB_WORKSPACE}/GameData" "${RELEASE_DIR}"
cp -v "${GITHUB_WORKSPACE}/README.md" "${RELEASE_DIR}"
cp -v "${GITHUB_WORKSPACE}/LICENSE" "${RELEASE_DIR}"
cp -v "${RUNNER_TEMP}/B9PartSwitch-Changelog-current.md" "${RELEASE_DIR}/CHANGELOG.md"
cp -v "${GITHUB_WORKSPACE}/README.md" "${RELEASE_DIR}/GameData/B9PartSwitch"
cp -v "${GITHUB_WORKSPACE}/LICENSE" "${RELEASE_DIR}/GameData/B9PartSwitch"
cp -v "${RUNNER_TEMP}/B9PartSwitch-Changelog-current.md" "${RELEASE_DIR}/GameData/B9PartSwitch/CHANGELOG.md"
cp -v "${{ steps.create-version-file.outputs.version-file }}" "${RELEASE_DIR}/GameData/B9PartSwitch/B9PartSwitch.version"
- name: Set release package name
id: set-release-package-name
run: echo "::set-output name=release-package-name::B9PartSwitch_${{ steps.describe-tags.outputs.git-tagish }}"
- name: Upload result as artifact
uses: actions/upload-artifact@v1
with:
name: ${{ steps.set-release-package-name.outputs.release-package-name }}
path: ${{ steps.assemble-release.outputs.release-dir }}
- name: Verify result
run: bundle exec rake spec
release:
name: Release
needs: build-and-test
if: startsWith(github.ref, 'refs/tags/v')
runs-on: ubuntu-latest
steps:
- name: Download release package artifact
id: download-release
uses: actions/download-artifact@v2
with:
name: ${{ needs.build-and-test.outputs.release-package-name }}
path: release/${{ needs.build-and-test.outputs.release-package-name }}
- name: Upload .version file to S3
env:
AWS_ACCESS_KEY_ID: ${{ secrets.AWS_ACCESS_KEY_ID }}
AWS_SECRET_ACCESS_KEY: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
run:
aws --region us-east-1 s3 cp "${{ steps.download-release.outputs.download-path }}/GameData/B9PartSwitch/B9PartSwitch.version" "s3://blowfish-ksp-b9partswitch-avc/versions/$(git describe --tags)/B9PartSwitch.version"
- name: Package release
id: package-release
working-directory: ${{ steps.download-release.outputs.download-path }}
run: |
RELEASE_FILENAME="${RUNNER_TEMP}/${{ needs.build-and-test.outputs.release-package-name }}.zip"
echo "Release filename: ${RELEASE_FILENAME}"
zip -v -r "${RELEASE_FILENAME}" *
echo "::set-output name=release-package-filename::${RELEASE_FILENAME}"
- name: Create release
id: create-release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
prerelease: true
tag_name: ${{ github.ref }}
release_name: B9PartSwitch ${{ github.ref }} for KSP ${{ needs.build-and-test.outputs.ksp-version }}
body: ${{ needs.build-and-test.outputs.release-changelog }}
- name: Upload package to release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create-release.outputs.upload_url }}
asset_path: ${{ steps.package-release.outputs.release-package-filename }}
asset_name: ${{ needs.build-and-test.outputs.release-package-name }}.zip
asset_content_type: application/zip
- name: Print release url
run: echo "Release successful! You can view it at ${{ steps.create-release.outputs.html_url }}"
16 changes: 12 additions & 4 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -6,6 +6,7 @@
*.user
*.userosscache
*.sln.docstates
*.userprefs

# Build results
[Dd]ebug/
@@ -16,7 +17,7 @@ x64/
x86/
build/
bld/
[Bb]in/
*/[Bb]in/
[Oo]bj/
zip_release/

@@ -128,7 +129,7 @@ publish/
# Publish Web Output
*.[Pp]ublish.xml
*.azurePubxml
# TODO: Comment the next line if you want to checkin your web deploy settings
# TODO: Comment the next line if you want to checkin your web deploy settings
# but database connection strings (with potential passwords) will be unencrypted
*.pubxml
*.publishproj
@@ -231,6 +232,13 @@ $RECYCLE.BIN/

# Windows shortcuts
*.lnk
GameData/SolverEngines/Plugins/PluginData/SolverEngines/config.xml
GameData/SolverEngines/Plugins/PluginData/SolverEngines/EngineDatabse.cfg

# Custom
# =========================

*.zip
B9PartSwitch/Properties/AssemblyInfo.cs
GameData/B9PartSwitch/B9PartSwitch.version
Gemfile.lock
.vs/*
.rspec_status
24 changes: 24 additions & 0 deletions .rubocop.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
Metrics/LineLength:
Max: 120

Metrics/MethodLength:
Max: 16

Style/FrozenStringLiteralComment:
Enabled: false

Style/Documentation:
Enabled: false

Style/RegexpLiteral:
EnforcedStyle: slashes
AllowInnerSlashes: true

Style/TrailingCommaInArguments:
EnforcedStyleForMultiline: consistent_comma

Style/TrailingCommaInArrayLiteral:
EnforcedStyleForMultiline: consistent_comma

Style/TrailingCommaInHashLiteral:
EnforcedStyleForMultiline: consistent_comma
1 change: 1 addition & 0 deletions .ruby-version
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
ruby-2.6.5
31 changes: 0 additions & 31 deletions .travis.yml

This file was deleted.

10 changes: 8 additions & 2 deletions B9PartSwitch.sln
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.21005.1
# Visual Studio 14
VisualStudioVersion = 14.0.25420.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "B9PartSwitch", "B9PartSwitch\B9PartSwitch.csproj", "{87F28FEA-BCCD-4A27-94E3-7B39790E99F1}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "B9PartSwitchTests", "B9PartSwitchTests\B9PartSwitchTests.csproj", "{C17BF82C-F906-4A92-8B9A-F8103CDB565C}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -15,6 +17,10 @@ Global
{87F28FEA-BCCD-4A27-94E3-7B39790E99F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
{87F28FEA-BCCD-4A27-94E3-7B39790E99F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
{87F28FEA-BCCD-4A27-94E3-7B39790E99F1}.Release|Any CPU.Build.0 = Release|Any CPU
{C17BF82C-F906-4A92-8B9A-F8103CDB565C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{C17BF82C-F906-4A92-8B9A-F8103CDB565C}.Debug|Any CPU.Build.0 = Debug|Any CPU
{C17BF82C-F906-4A92-8B9A-F8103CDB565C}.Release|Any CPU.ActiveCfg = Release|Any CPU
{C17BF82C-F906-4A92-8B9A-F8103CDB565C}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Loading