name: build on: [ push ] jobs: build: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Setup Python uses: actions/setup-python@v2 with: python-version: '3.x' - name: Setup .NET Core SDK uses: actions/setup-dotnet@v1.7.2 with: dotnet-version: '6.0.x' - name: Install Python Tools run: | python -m pip install --upgrade pip python -m pip install yaclog yaclog-ksp - name: Generate Version Info run: | echo "VERSION_TILE=$(yaclog show -n)" >> $GITHUB_ENV python Scripts/version.py yaclog-ksp -n "Conformal Decals" - name: Validate Version Info uses: DasSkelett/AVC-VersionFileValidator@master - name: Download DLL Dependencies working-directory: Source run: | wget --user drewcassidy --password ${{ secrets.PILE_OF_ROCKS_PASS }} https://pileof.rocks/Secret/conformal-decals-dependencies-1.zip unzip conformal-decals-dependencies-*.zip -d ConformalDecals/dlls dotnet build --configuration Release ConformalDecals.sln - name: Build DLL working-directory: Source run: | mkdir -p ../GameData/ConformalDecals/Plugins dotnet build --configuration Release ConformalDecals.sln - name: Download KSP Dependencies run: | wget http://pileof.rocks/KSP/Shabby_v0.2.0.zip wget https://ksp.sarbian.com/jenkins/job/ModuleManager/161/artifact/ModuleManager.4.2.1.dll wget https://github.com/blowfishpro/B9PartSwitch/releases/download/v2.19.0/B9PartSwitch_v2.19.0.zip unzip -d Shabby Shabby*.zip unzip -d B9PartSwitch B9PartSwitch*.zip mv Shabby/GameData/Shabby GameData/ mv ModuleManager*.dll GameData/ mv B9PartSwitch/GameData/B9PartSwitch GameData/ - name: Upload Unbundled Build uses: actions/upload-artifact@v3 with: name: ${{ format('ConformalDecals-{0}-unbundled', env.VERSION_TITLE) }} path: | GameData/ConformalDecals README.md CHANGELOG.md LICENSE-ART.md LICENSE-SOURCE.md - name: Upload Bundled Build uses: actions/upload-artifact@v3 with: name: ${{ format('ConformalDecals-{0}', env.VERSION_TITLE) }} path: | GameData README.md CHANGELOG.md LICENSE-ART.md LICENSE-SOURCE.md deploy: needs: build runs-on: ubuntu-latest if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags') steps: - uses: actions/checkout@v2 - name: Set up Python uses: actions/setup-python@v2 with: python-version: '3.x' - name: Install Python Tools run: | python -m pip install --upgrade pip python -m pip install yaclog - name: Download Build Artifacts uses: actions/download-artifact@v3 - name: Zip Download Packages run: | zip -r ConformalDecals-${{ env.VERSION_TITLE }}-unbundled.zip ConformalDecals-${{ env.VERSION_TITLE }}-unbundled/* zip -r ConformalDecals-${{ env.VERSION_TITLE }}.zip ConformalDecals-${{ env.VERSION_TITLE }}/* ls - name: Get version name and body run: | echo "VERSION_TILE=$(yaclog show -n)" >> $GITHUB_ENV echo "$(yaclog show -mb)" >> RELEASE.md - name: Publish to Spacedock run: | curl -F username= "drewcassidy" -F password= "${{ secrets.SPACEDOCK_PASS }}" \ -c ./cookies "https://spacedock.info/api/login" curl -c ./cookies \ -F "version=$(yaclog show -n)" \ -F "changelog=$(yaclog show -mb)" \ -F "game-version=1.12.3" \ -F "notify-followers=yes" \ -F "zipball=@ConformalDecals-${{ env.VERSION_TITLE }}.zip" \ "https://spacedock.info/api/mod/2994/update" - name: Publish to Github uses: softprops/action-gh-release@v1 with: files: ConformalDecals-${{ env.VERSION_TITLE }}.zip ConformalDecals*/GameData/ConformalDecals/Versioning/ConformalDecals.version name: ${{ env.VERSION_TITLE }} body_path: RELEASE.md env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}