summaryrefslogtreecommitdiff
path: root/meshmc/.github/actions/package/windows/action.yml
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 20:38:37 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 20:38:37 +0300
commit25a9943d68a7dc31eeefeb17913dbe37d87e5302 (patch)
tree540166d548cafc56726a07225f2dbe649c8e2444 /meshmc/.github/actions/package/windows/action.yml
parenta4b5ffbaadb591066e2a97f8d450fb1d93e56a6e (diff)
downloadProject-Tick-25a9943d68a7dc31eeefeb17913dbe37d87e5302.tar.gz
Project-Tick-25a9943d68a7dc31eeefeb17913dbe37d87e5302.zip
NOISSUE Remove not needed CI workflows for GitHub Actions and reworked some workflows
Signed-off-by: Mehmet Samet Duman <yongdohyun@projecttick.org>
Diffstat (limited to 'meshmc/.github/actions/package/windows/action.yml')
-rw-r--r--meshmc/.github/actions/package/windows/action.yml142
1 files changed, 0 insertions, 142 deletions
diff --git a/meshmc/.github/actions/package/windows/action.yml b/meshmc/.github/actions/package/windows/action.yml
deleted file mode 100644
index 33e3d42718..0000000000
--- a/meshmc/.github/actions/package/windows/action.yml
+++ /dev/null
@@ -1,142 +0,0 @@
-name: Package for Windows
-description: Create a Windows package for MeshMC
-
-inputs:
- version:
- description: Launcher version
- required: true
- build-type:
- description: Type for the build
- required: true
- default: Debug
- artifact-name:
- description: Name of the uploaded artifact
- required: true
- msystem:
- description: MSYS2 subsystem to use
- required: false
- windows-codesign-cert:
- description: Certificate for signing Windows builds
- required: false
- windows-codesign-password:
- description: Password for signing Windows builds
- required: false
-
-runs:
- using: composite
-
- steps:
- - name: Package (MinGW)
- if: ${{ inputs.msystem != '' }}
- shell: msys2 {0}
- env:
- BUILD_DIR: build
- INSTALL_DIR: install
- run: |
- cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }}
- touch ${{ env.INSTALL_DIR }}/manifest.txt
- for l in $(find ${{ env.INSTALL_DIR }} -type f); do l=$(cygpath -u $l); l=${l#$(pwd)/}; l=${l#${{ env.INSTALL_DIR }}/}; l=${l#./}; echo $l; done >> ${{ env.INSTALL_DIR }}/manifest.txt
-
- - name: Package (MSVC)
- if: ${{ inputs.msystem == '' }}
- shell: pwsh
- env:
- BUILD_DIR: build
- INSTALL_DIR: install
- run: |
- cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }}
-
- cd ${{ github.workspace }}
-
- Get-ChildItem ${{ env.INSTALL_DIR }} -Recurse | ForEach FullName | Resolve-Path -Relative | %{ $_.TrimStart('.\') } | %{ $_.TrimStart('${{ env.INSTALL_DIR }}') } | %{ $_.TrimStart('\') } | Out-File -FilePath ${{ env.INSTALL_DIR }}/manifest.txt
-
- - name: Fetch codesign certificate
- shell: bash # yes, we are not using MSYS2 or PowerShell here
- run: |
- echo '${{ inputs.windows-codesign-cert }}' | base64 --decode > codesign.pfx
-
- - name: Sign executable
- shell: pwsh
- env:
- INSTALL_DIR: install
- run: |
- if (Get-Content ./codesign.pfx){
- cd ${{ env.INSTALL_DIR }}
- # We ship the exact same executable for portable and non-portable editions, so signing just once is fine
- SignTool sign /fd sha256 /td sha256 /f ../codesign.pfx /p '${{ inputs.windows-codesign-password }}' /tr http://timestamp.digicert.com meshmc.exe
- } else {
- ":warning: Skipped code signing for Windows, as certificate was not present." >> $env:GITHUB_STEP_SUMMARY
- }
-
- - name: Package (MinGW, portable)
- if: ${{ inputs.msystem != '' }}
- shell: msys2 {0}
- env:
- BUILD_DIR: build
- INSTALL_DIR: install
- INSTALL_PORTABLE_DIR: install-portable
- run: |
- cp -r ${{ env.INSTALL_DIR }} ${{ env.INSTALL_PORTABLE_DIR }} # cmake install on Windows is slow, let's just copy instead
- cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} --prefix ${{ env.INSTALL_PORTABLE_DIR }} --component portable
- for l in $(find ${{ env.INSTALL_PORTABLE_DIR }} -type f); do l=$(cygpath -u $l); l=${l#$(pwd)/}; l=${l#${{ env.INSTALL_PORTABLE_DIR }}/}; l=${l#./}; echo $l; done >> ${{ env.INSTALL_PORTABLE_DIR }}/manifest.txt
-
- - name: Package (MSVC, portable)
- if: ${{ inputs.msystem == '' }}
- shell: pwsh
- env:
- BUILD_DIR: build
- INSTALL_DIR: install
- INSTALL_PORTABLE_DIR: install-portable
- run: |
- cp -r ${{ env.INSTALL_DIR }} ${{ env.INSTALL_PORTABLE_DIR }} # cmake install on Windows is slow, let's just copy instead
- cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} --prefix ${{ env.INSTALL_PORTABLE_DIR }} --component portable
-
- Get-ChildItem ${{ env.INSTALL_PORTABLE_DIR }} -Recurse | ForEach FullName | Resolve-Path -Relative | %{ $_.TrimStart('.\') } | %{ $_.TrimStart('${{ env.INSTALL_PORTABLE_DIR }}') } | %{ $_.TrimStart('\') } | Out-File -FilePath ${{ env.INSTALL_DIR }}/manifest.txt
-
- - name: Package (installer)
- shell: pwsh
- env:
- BUILD_DIR: build
- INSTALL_DIR: install
-
- NSCURL_VERSION: "v24.9.26.122"
- NSCURL_SHA256: "AEE6C4BE3CB6455858E9C1EE4B3AFE0DB9960FA03FE99CCDEDC28390D57CCBB0"
- run: |
- New-Item -Name NSISPlugins -ItemType Directory
- Invoke-Webrequest https://github.com/negrutiu/nsis-nscurl/releases/download/"${{ env.NSCURL_VERSION }}"/NScurl.zip -OutFile NSISPlugins\NScurl.zip
- $nscurl_hash = Get-FileHash NSISPlugins\NScurl.zip -Algorithm Sha256 | Select-Object -ExpandProperty Hash
- if ( $nscurl_hash -ne "${{ env.nscurl_sha256 }}") {
- echo "::error:: NSCurl.zip sha256 mismatch"
- exit 1
- }
- Expand-Archive -Path NSISPlugins\NScurl.zip -DestinationPath NSISPlugins\NScurl
-
- cd ${{ env.INSTALL_DIR }}
- makensis -NOCD "${{ github.workspace }}/${{ env.BUILD_DIR }}/win_install.nsi"
-
- - name: Sign installer
- shell: pwsh
- run: |
- if (Get-Content ./codesign.pfx){
- SignTool sign /fd sha256 /td sha256 /f codesign.pfx /p '${{ inputs.windows-codesign-password }}' /tr http://timestamp.digicert.com MeshMC-Setup.exe
- } else {
- ":warning: Skipped code signing for Windows, as certificate was not present." >> $env:GITHUB_STEP_SUMMARY
- }
-
- - name: Upload binary zip
- uses: actions/upload-artifact@v5
- with:
- name: MeshMC-${{ inputs.artifact-name }}-${{ inputs.version }}-${{ inputs.build-type }}
- path: install/**
-
- - name: Upload portable zip
- uses: actions/upload-artifact@v5
- with:
- name: MeshMC-${{ inputs.artifact-name }}-Portable-${{ inputs.version }}-${{ inputs.build-type }}
- path: install-portable/**
-
- - name: Upload installer
- uses: actions/upload-artifact@v5
- with:
- name: MeshMC-${{ inputs.artifact-name }}-Setup-${{ inputs.version }}-${{ inputs.build-type }}
- path: MeshMC-Setup.exe