diff options
| author | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-02 20:38:37 +0300 |
|---|---|---|
| committer | Mehmet Samet Duman <yongdohyun@projecttick.org> | 2026-04-02 20:38:37 +0300 |
| commit | 25a9943d68a7dc31eeefeb17913dbe37d87e5302 (patch) | |
| tree | 540166d548cafc56726a07225f2dbe649c8e2444 /meshmc | |
| parent | a4b5ffbaadb591066e2a97f8d450fb1d93e56a6e (diff) | |
| download | Project-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')
24 files changed, 0 insertions, 2032 deletions
diff --git a/meshmc/.github/ISSUE_TEMPLATE/bug_report.yml b/meshmc/.github/ISSUE_TEMPLATE/bug_report.yml deleted file mode 100644 index 3c147eb94b..0000000000 --- a/meshmc/.github/ISSUE_TEMPLATE/bug_report.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: Bug Report -description: File a bug report -labels: [bug, needs-triage] -body: -- type: markdown - attributes: - value: | - If you need help with running Minecraft, please visit us [on our Discord](https://discord.gg/meshmc) before making a bug report. - - Before submitting a bug report, please make sure you have read this *entire* form, and that: - * You have read the [FAQ](https://github.com/Project-Tick/MeshMC/wiki/FAQ) and it has not answered your question - * Your bug is not caused by Minecraft or any mods you have installed. - * Your issue has not been reported before, [make sure to use the search function!](https://github.com/Project-Tick/MeshMC/issues) - - **Do not forget to give your issue a descriptive title.** "Bug in the instance screen" makes it hard to distinguish issues at a glance. -- type: dropdown - attributes: - label: Operating System - description: If you know this bug occurs on multiple operating systems, select all you have tested. - multiple: true - options: - - Windows - - macOS - - Linux - - Other -- type: textarea - attributes: - label: Version of MeshMC - description: The version of MeshMC used in the bug report. - placeholder: MeshMC 7.0.0 - validations: - required: true -- type: textarea - attributes: - label: Version of Qt - description: The version of Qt used in the bug report. You can find it in Help -> About MeshMC -> About Qt. - placeholder: Qt 6.3.0 - validations: - required: true -- type: textarea - attributes: - label: Description of bug - description: What did you expect to happen, what happened, and why is it incorrect? - placeholder: The cat button should show a cat, but it showed a dog instead! - validations: - required: true -- type: textarea - attributes: - label: Steps to reproduce - description: A bulleted list, or an exported instance if relevant. - placeholder: "* Press the cat button" - validations: - required: true -- type: textarea - attributes: - label: Suspected cause - description: If you know what could be causing this bug, describe it here. - validations: - required: false -- type: checkboxes - attributes: - label: This issue is unique - options: - - label: I have searched the issue tracker and did not find an issue describing my bug. - required: true diff --git a/meshmc/.github/ISSUE_TEMPLATE/config.yml b/meshmc/.github/ISSUE_TEMPLATE/config.yml deleted file mode 100644 index 37c7e6ebdc..0000000000 --- a/meshmc/.github/ISSUE_TEMPLATE/config.yml +++ /dev/null @@ -1,5 +0,0 @@ -blank_issues_enabled: true -contact_links: - - name: MeshMC Discord - url: https://discord.gg/meshmc - about: Please ask for support here before opening an issue. diff --git a/meshmc/.github/ISSUE_TEMPLATE/rfc.yml b/meshmc/.github/ISSUE_TEMPLATE/rfc.yml deleted file mode 100644 index d9f5b0a981..0000000000 --- a/meshmc/.github/ISSUE_TEMPLATE/rfc.yml +++ /dev/null @@ -1,68 +0,0 @@ -# Template based on https://gitlab.archlinux.org/archlinux/rfcs/-/blob/0ba3b61e987e197f8d1901709409b8564958f78a/rfcs/0000-template.rst -name: Request for Comment (RFC) -description: Propose a larger change and start a discussion. -labels: ["type: enhancement", "status: needs discussion", "status: needs triage"] -body: -- type: markdown - attributes: - value: | - ### Use this form to suggest a larger change for MeshMC. -- type: textarea - attributes: - label: Goal - description: Short description, 1-2 sentences. - placeholder: Remove the cat from the launcher. - validations: - required: true -- type: textarea - attributes: - label: Motivation - description: | - Introduce the topic. If this is a not-well-known section of MeshMC, a detailed explanation of the background is recommended. - Some example points of discussion: - - What specific problems are you facing right now that you're trying to address? - - Are there any previous discussions? Link to them and summarize them (don't force your readers to read them though!). - - Is there any precedent set by other software? If so, link to resources. - placeholder: I don't like cats. I think many users also don't like cats. - validations: - required: true -- type: textarea - attributes: - label: Specification - description: A concrete, thorough explanation of what is being planned. - placeholder: Remove the cat button and all references to the cat from the codebase. Including resource files. - validations: - required: true -- type: textarea - attributes: - label: Drawbacks - description: Carefully consider every possible objection and issue with your proposal. This section should be updated as feedback comes in from discussion. - placeholder: Some users might like cats. - validations: - required: true -- type: textarea - attributes: - label: Unresolved Questions - description: | - Are there any portions of your proposal which need to be discussed with the community before the RFC can proceed? - Be careful here -- an RFC with a lot of remaining questions is likely to be stalled. - If your RFC is mostly unresolved questions and not too much substance, it may not be ready. - placeholder: Do a lot of users care about the cat? - validations: - required: true -- type: textarea - attributes: - label: Alternatives Considered - description: A list of alternatives, that have been considered and offer equal or similar features to the proposed change. - placeholder: Maybe the cat could be replaced with an axolotl? - validations: - required: true -- type: checkboxes - attributes: - label: This suggestion is unique - options: - - label: I have searched the issue tracker and did not find an issue describing my suggestion, especially not one that has been rejected. - required: true -- type: textarea - attributes: - label: You may use the editor below to elaborate further. diff --git a/meshmc/.github/ISSUE_TEMPLATE/suggestion.yml b/meshmc/.github/ISSUE_TEMPLATE/suggestion.yml deleted file mode 100644 index 53bd186531..0000000000 --- a/meshmc/.github/ISSUE_TEMPLATE/suggestion.yml +++ /dev/null @@ -1,38 +0,0 @@ -name: Suggestion -description: Make a suggestion -labels: [idea, needs-triage] -body: -- type: markdown - attributes: - value: | - ### Use this form to suggest a feature for MeshMC. -- type: input - attributes: - label: Role - description: In what way do you use MeshMC that needs this feature? - placeholder: I play modded Minecraft. - validations: - required: true -- type: input - attributes: - label: Suggestion - description: What do you want MeshMC to do? - placeholder: I want the cat button to meow. - validations: - required: true -- type: input - attributes: - label: Benefit - description: Why do you need MeshMC to do this? - placeholder: so that I can always hear a cat when I need to. - validations: - required: true -- type: checkboxes - attributes: - label: This suggestion is unique - options: - - label: I have searched the issue tracker and did not find an issue describing my suggestion, especially not one that has been rejected. - required: true -- type: textarea - attributes: - label: You may use the editor below to elaborate further. diff --git a/meshmc/.github/actions/package/linux/action.yml b/meshmc/.github/actions/package/linux/action.yml deleted file mode 100644 index 457ccb27ed..0000000000 --- a/meshmc/.github/actions/package/linux/action.yml +++ /dev/null @@ -1,153 +0,0 @@ -name: Package for Linux -description: Create Linux packages 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 - default: Linux - qt-version: - description: Version of Qt to use - required: true - gpg-private-key: - description: Private key for AppImage signing - required: false - gpg-private-key-id: - description: ID for the gpg-private-key, to select the signing key - required: false - -runs: - using: composite - - steps: - - name: Cleanup Qt installation on Linux - shell: bash - run: | - rm -rf "$QT_PLUGIN_PATH"/printsupport - rm -rf "$QT_PLUGIN_PATH"/sqldrivers - rm -rf "$QT_PLUGIN_PATH"/help - rm -rf "$QT_PLUGIN_PATH"/designer - rm -rf "$QT_PLUGIN_PATH"/qmltooling - rm -rf "$QT_PLUGIN_PATH"/qmlls - rm -rf "$QT_PLUGIN_PATH"/qmllint - rm -rf "$QT_PLUGIN_PATH"/platformthemes/libqgtk3.so - - - name: Setup build variables - shell: bash - run: | - # Fixup architecture naming for AppImages - dpkg_arch="$(dpkg-architecture -q DEB_HOST_ARCH_CPU)" - case "$dpkg_arch" in - "amd64") - APPIMAGE_ARCH="x86_64" - ;; - "arm64") - APPIMAGE_ARCH="aarch64" - ;; - *) - echo "# 🚨 The Debian architecture \"$deb_arch\" is not recognized!" >> "$GITHUB_STEP_SUMMARY" - exit 1 - ;; - esac - echo "APPIMAGE_ARCH=$APPIMAGE_ARCH" >> "$GITHUB_ENV" - - # Used for the file paths of libraries - echo "DEB_HOST_MULTIARCH=$(dpkg-architecture -q DEB_HOST_MULTIARCH)" >> "$GITHUB_ENV" - - - name: Package AppImage - shell: bash - env: - VERSION: ${{ github.ref_type == 'tag' && github.ref_name || inputs.version }} - BUILD_DIR: build - INSTALL_APPIMAGE_DIR: install-appdir - - GPG_PRIVATE_KEY: ${{ inputs.gpg-private-key }} - run: | - cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} --prefix ${{ env.INSTALL_APPIMAGE_DIR }} - - if [ '${{ inputs.gpg-private-key-id }}' != '' ]; then - echo "$GPG_PRIVATE_KEY" > privkey.asc - gpg --import privkey.asc - gpg --export --armor ${{ inputs.gpg-private-key-id }} > pubkey.asc - else - echo ":warning: Skipped code signing for Linux AppImage, as gpg key was not present." >> $GITHUB_STEP_SUMMARY - fi - - sharun lib4bin \ - --hard-links \ - --with-hooks \ - --dst-dir "$INSTALL_APPIMAGE_DIR" \ - "$INSTALL_APPIMAGE_DIR"/bin/* "$QT_PLUGIN_PATH"/*/*.so - - cp ~/bin/AppImageUpdate.AppImage "$INSTALL_APPIMAGE_DIR"/bin/ - # FIXME(@YongDo-Hyun): gamemode doesn't seem to be very portable with DBus. Find a way to make it work! - find "$INSTALL_APPIMAGE_DIR" -name '*gamemode*' -exec rm {} + - - #disable OpenGL and Vulkan launcher features until https://github.com/VHSgunzo/sharun/issues/35 - echo "LAUNCHER_DISABLE_GLVULKAN=1" > "$INSTALL_APPIMAGE_DIR"/.env - #makes the launcher use portals for file picking - echo "QT_QPA_PLATFORMTHEME=xdgdesktopportal" > "$INSTALL_APPIMAGE_DIR"/.env - ln -s org.projecttick.MeshMC.metainfo.xml "$INSTALL_APPIMAGE_DIR"/share/metainfo/org.projecttick.MeshMC.appdata.xml - ln -s share/applications/org.projecttick.MeshMC.desktop "$INSTALL_APPIMAGE_DIR" - ln -s share/icons/hicolor/256x256/apps/org.projecttick.MeshMC.png "$INSTALL_APPIMAGE_DIR" - mv "$INSTALL_APPIMAGE_DIR"/{sharun,AppRun} - ls -la "$INSTALL_APPIMAGE_DIR" - - if [[ "${{ github.ref_type }}" == "tag" ]]; then - APPIMAGE_DEST="MeshMC-Linux-$APPIMAGE_ARCH.AppImage" - else - APPIMAGE_DEST="MeshMC-Linux-$VERSION-${{ inputs.build-type }}-$APPIMAGE_ARCH.AppImage" - fi - - mkappimage \ - --updateinformation "gh-releases-zsync|${{ github.repository_owner }}|${{ github.event.repository.name }}|latest|MeshMC-Linux-$APPIMAGE_ARCH.AppImage.zsync" \ - "$INSTALL_APPIMAGE_DIR" \ - "$APPIMAGE_DEST" - - - name: Package portable tarball - shell: bash - env: - BUILD_DIR: build - - INSTALL_PORTABLE_DIR: install-portable - run: | - cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} --prefix ${{ env.INSTALL_PORTABLE_DIR }} - cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} --prefix ${{ env.INSTALL_PORTABLE_DIR }} --component portable - - sharun lib4bin \ - --with-hooks \ - --hard-links \ - --dst-dir "$INSTALL_PORTABLE_DIR" \ - "$INSTALL_PORTABLE_DIR"/bin/* "$QT_PLUGIN_PATH"/*/*.so - - # FIXME(@YongDo-Hyun): gamemode doesn't seem to be very portable with DBus. Find a way to make it work! - find "$INSTALL_PORTABLE_DIR" -name '*gamemode*' -exec rm {} + - - for l in $(find ${{ env.INSTALL_PORTABLE_DIR }} -type f -o -type l); do l=${l#$(pwd)/}; l=${l#${{ env.INSTALL_PORTABLE_DIR }}/}; l=${l#./}; echo $l; done > ${{ env.INSTALL_PORTABLE_DIR }}/manifest.txt - cd ${{ env.INSTALL_PORTABLE_DIR }} - tar -czf ../MeshMC-portable.tar.gz * - - - name: Upload binary tarball - uses: actions/upload-artifact@v7 - with: - name: MeshMC-${{ inputs.artifact-name }}-Qt6-Portable-${{ inputs.version }}-${{ inputs.build-type }} - path: MeshMC-portable.tar.gz - - - name: Upload AppImage - uses: actions/upload-artifact@v7 - with: - name: MeshMC-${{ runner.os }}-${{ inputs.version }}-${{ inputs.build-type }}-${{ env.APPIMAGE_ARCH }}.AppImage - path: MeshMC-${{ runner.os }}-*${{ env.APPIMAGE_ARCH }}.AppImage - - - name: Upload AppImage Zsync - uses: actions/upload-artifact@v7 - with: - name: MeshMC-${{ runner.os }}-${{ inputs.version }}-${{ inputs.build-type }}-${{ env.APPIMAGE_ARCH }}.AppImage.zsync - path: MeshMC-${{ runner.os }}-*${{ env.APPIMAGE_ARCH }}.AppImage.zsync diff --git a/meshmc/.github/actions/package/macos/action.yml b/meshmc/.github/actions/package/macos/action.yml deleted file mode 100644 index 2a1c432a6d..0000000000 --- a/meshmc/.github/actions/package/macos/action.yml +++ /dev/null @@ -1,146 +0,0 @@ -name: Package for macOS -description: Create a macOS 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 - default: macOS - apple-codesign-cert: - description: Certificate for signing macOS builds - required: false - apple-codesign-password: - description: Password for signing macOS builds - required: false - apple-codesign-id: - description: Certificate ID for signing macOS builds - required: false - apple-notarize-apple-id: - description: Apple ID used for notarizing macOS builds - required: false - apple-notarize-team-id: - description: Team ID used for notarizing macOS builds - required: false - apple-notarize-password: - description: Password used for notarizing macOS builds - required: false - sparkle-ed25519-key: - description: Private key for signing Sparkle updates - required: false - -runs: - using: composite - - steps: - - name: Fetch codesign certificate - shell: bash - run: | - echo '${{ inputs.apple-codesign-cert }}' | base64 --decode > codesign.p12 - if [ -n '${{ inputs.apple-codesign-id }}' ]; then - security create-keychain -p '${{ inputs.apple-codesign-password }}' build.keychain - security default-keychain -s build.keychain - security unlock-keychain -p '${{ inputs.apple-codesign-password }}' build.keychain - security import codesign.p12 -k build.keychain -P '${{ inputs.apple-codesign-password }}' -T /usr/bin/codesign - security set-key-partition-list -S apple-tool:,apple:,codesign: -s -k '${{ inputs.apple-codesign-password }}' build.keychain - else - echo ":warning: Using ad-hoc code signing for macOS, as certificate was not present." >> $GITHUB_STEP_SUMMARY - fi - - - name: Package - shell: bash - env: - BUILD_DIR: build - INSTALL_DIR: install - run: | - cmake --install ${{ env.BUILD_DIR }} --config ${{ inputs.build-type }} - - cd ${{ env.INSTALL_DIR }} - chmod +x "MeshMC.app/Contents/MacOS/meshmc" - - if [ -n '${{ inputs.apple-codesign-id }}' ]; then - APPLE_CODESIGN_ID='${{ inputs.apple-codesign-id }}' - ENTITLEMENTS_FILE='../branding/App.entitlements' - else - APPLE_CODESIGN_ID='-' - ENTITLEMENTS_FILE='../branding/AdhocSignedApp.entitlements' - fi - - sudo codesign --sign "$APPLE_CODESIGN_ID" --deep --force --entitlements "$ENTITLEMENTS_FILE" --options runtime "MeshMC.app/Contents/MacOS/meshmc" - - - name: Notarize - shell: bash - env: - INSTALL_DIR: install - run: | - cd ${{ env.INSTALL_DIR }} - - if [ -n '${{ inputs.apple-notarize-password }}' ]; then - ditto -c -k --sequesterRsrc --keepParent "MeshMC.app" ../MeshMC.zip - xcrun notarytool submit ../MeshMC.zip \ - --wait --progress \ - --apple-id '${{ inputs.apple-notarize-apple-id }}' \ - --team-id '${{ inputs.apple-notarize-team-id }}' \ - --password '${{ inputs.apple-notarize-password }}' - - xcrun stapler staple "MeshMC.app" - else - echo ":warning: Skipping notarization as credentials are not present." >> $GITHUB_STEP_SUMMARY - fi - ditto -c -k --sequesterRsrc --keepParent "MeshMC.app" ../MeshMC.zip - - - name: Create DMG - shell: bash - env: - INSTALL_DIR: install - run: | - cd ${{ env.INSTALL_DIR }} - - mkdir -p src - cp -R "MeshMC.app" src/ - - ln -s /Applications src/ - - hdiutil create \ - -volname "MeshMC ${{ inputs.version }}" \ - -srcfolder src \ - -ov -format ULMO \ - "../MeshMC.dmg" - - - name: Make Sparkle signature - shell: bash - run: | - if [ '${{ inputs.sparkle-ed25519-key }}' != '' ]; then - echo '${{ inputs.sparkle-ed25519-key }}' > ed25519-priv.pem - signature_zip=$(/opt/homebrew/opt/openssl@3/bin/openssl pkeyutl -sign -rawin -in ${{ github.workspace }}/MeshMC.zip -inkey ed25519-priv.pem | openssl base64 | tr -d \\n) - signature_dmg=$(/opt/homebrew/opt/openssl@3/bin/openssl pkeyutl -sign -rawin -in ${{ github.workspace }}/MeshMC.dmg -inkey ed25519-priv.pem | openssl base64 | tr -d \\n) - rm ed25519-priv.pem - cat >> $GITHUB_STEP_SUMMARY << EOF - ### Artifact Information :information_source: - - :memo: Sparkle Signature (ed25519): \`$signature_zip\` (ZIP) - - :memo: Sparkle Signature (ed25519): \`$signature_dmg\` (DMG) - EOF - else - cat >> $GITHUB_STEP_SUMMARY << EOF - ### Artifact Information :information_source: - - :warning: Sparkle Signature (ed25519): No private key available (likely a pull request or fork) - EOF - fi - - - name: Upload binary tarball - uses: actions/upload-artifact@v7 - with: - name: MeshMC-${{ inputs.artifact-name }}-${{ inputs.version }}-${{ inputs.build-type }} - path: MeshMC.zip - - - name: Upload disk image - uses: actions/upload-artifact@v7 - with: - name: MeshMC-${{ inputs.artifact-name }}-${{ inputs.version }}-${{ inputs.build-type }}.dmg - path: MeshMC.dmg 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 diff --git a/meshmc/.github/actions/setup-dependencies/action.yml b/meshmc/.github/actions/setup-dependencies/action.yml deleted file mode 100644 index 3245826768..0000000000 --- a/meshmc/.github/actions/setup-dependencies/action.yml +++ /dev/null @@ -1,89 +0,0 @@ -name: Setup Dependencies -description: Install and setup dependencies for building MeshMC - -inputs: - 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 - vcvars-arch: - description: Visual Studio architecture to use - required: false - qt-architecture: - description: Qt architecture - required: false - qt-version: - description: Version of Qt to use - required: true - github-token: - description: GitHub token for package feed authentication - required: false - default: ${{ github.token }} - -outputs: - build-type: - description: Type of build used - value: ${{ inputs.build-type }} - qt-version: - description: Version of Qt used - value: ${{ inputs.qt-version }} - -runs: - using: composite - - steps: - - name: Setup Linux dependencies - if: ${{ runner.os == 'Linux' }} - uses: ./.github/actions/setup-dependencies/linux - with: - github-token: ${{ inputs.github-token }} - - - name: Setup macOS dependencies - if: ${{ runner.os == 'macOS' }} - uses: ./.github/actions/setup-dependencies/macos - with: - build-type: ${{ inputs.build-type }} - github-token: ${{ inputs.github-token }} - - - name: Setup Windows dependencies - if: ${{ runner.os == 'Windows' }} - uses: ./.github/actions/setup-dependencies/windows - with: - build-type: ${{ inputs.build-type }} - msystem: ${{ inputs.msystem }} - vcvars-arch: ${{ inputs.vcvars-arch }} - github-token: ${{ inputs.github-token }} - - # TODO(@YongDo-Hyun): Get this working on MSYS2! - - name: Setup ccache - if: ${{ (runner.os != 'Windows' || inputs.msystem == '') && inputs.build-type == 'Debug' }} - uses: hendrikmuhs/ccache-action@v1.2.22 - with: - variant: sccache - create-symlink: ${{ runner.os != 'Windows' }} - key: ${{ runner.os }}-${{ runner.arch }}-${{ inputs.artifact-name }}-sccache - - - name: Use ccache on debug builds - if: ${{ inputs.build-type == 'Debug' }} - shell: bash - env: - # Only use ccache on MSYS2 - CCACHE_VARIANT: ${{ (runner.os == 'Windows' && inputs.msystem != '') && 'ccache' || 'sccache' }} - run: | - echo "CMAKE_C_COMPILER_LAUNCHER=$CCACHE_VARIANT" >> "$GITHUB_ENV" - echo "CMAKE_CXX_COMPILER_LAUNCHER=$CCACHE_VARIANT" >> "$GITHUB_ENV" - - - name: Install Qt - if: ${{ inputs.msystem == '' }} - uses: jurplel/install-qt-action@v4 - with: - aqtversion: "==3.1.*" - version: ${{ inputs.qt-version }} - modules: qtimageformats qtnetworkauth qt5compat - cache: ${{ inputs.build-type == 'Debug' }} diff --git a/meshmc/.github/actions/setup-dependencies/linux/action.yml b/meshmc/.github/actions/setup-dependencies/linux/action.yml deleted file mode 100644 index 46cb40e8a5..0000000000 --- a/meshmc/.github/actions/setup-dependencies/linux/action.yml +++ /dev/null @@ -1,59 +0,0 @@ -name: Setup Linux dependencies -description: Install and setup dependencies for building MeshMC - -inputs: - github-token: - description: GitHub token for authentication - required: true - -runs: - using: composite - - steps: - - name: Install host dependencies - shell: bash - run: | - sudo apt-get -y update - sudo apt-get -y install \ - dpkg-dev \ - ninja-build extra-cmake-modules pkg-config scdoc \ - cmark gamemode-dev libarchive-dev libcmark-dev libqrencode-dev zlib1g-dev \ - libxcb-cursor-dev libtomlplusplus-dev libvulkan-dev - - - name: Setup AppImage tooling - shell: bash - env: - GH_TOKEN: ${{ inputs.github-token }} - run: | - # Determinate AppImage architecture to use - dpkg_arch="$(dpkg-architecture -q DEB_HOST_ARCH_CPU)" - case "$dpkg_arch" in - "amd64") - APPIMAGE_ARCH="x86_64" - ;; - "arm64") - APPIMAGE_ARCH="aarch64" - ;; - *) - echo "# 🚨 The Debian architecture \"$deb_arch\" is not recognized!" >> "$GITHUB_STEP_SUMMARY" - exit 1 - ;; - esac - - gh release download \ - --repo VHSgunzo/sharun \ - --pattern "sharun-$APPIMAGE_ARCH-aio" \ - --output ~/bin/sharun - - # FIXME!: revert this to probonopd/go-appimage once https://github.com/probonopd/go-appimage/pull/377 is merged! - gh release download continuous \ - --repo DioEgizio/go-appimage \ - --pattern "mkappimage-*-$APPIMAGE_ARCH.AppImage" \ - --output ~/bin/mkappimage - - gh release download \ - --repo AppImageCommunity/AppImageUpdate \ - --pattern "AppImageUpdate-$APPIMAGE_ARCH.AppImage" \ - --output ~/bin/AppImageUpdate.AppImage - chmod +x ~/bin/* - echo "$HOME/bin" >> "$GITHUB_PATH" diff --git a/meshmc/.github/actions/setup-dependencies/macos/action.yml b/meshmc/.github/actions/setup-dependencies/macos/action.yml deleted file mode 100644 index 3eb5b37fa6..0000000000 --- a/meshmc/.github/actions/setup-dependencies/macos/action.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: Setup macOS dependencies - -inputs: - build-type: - description: Type for the build - required: true - default: Debug - github-token: - description: GitHub token for package feed authentication - required: true - -runs: - using: composite - - steps: - - name: Install dependencies - shell: bash - run: | - brew update - brew install ninja extra-cmake-modules temurin@17 mono autoconf libarchive - - - name: Set JAVA_HOME - shell: bash - run: | - echo "JAVA_HOME=$(/usr/libexec/java_home -v 17)" >> "$GITHUB_ENV" - - - name: Setup vcpkg cache - if: ${{ inputs.build-type == 'Debug' }} - shell: bash - env: - USERNAME: ${{ github.repository_owner }} - GITHUB_TOKEN: ${{ inputs.github-token }} - FEED_URL: https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json - NUGET_RW: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }} - run: | - mono `vcpkg fetch nuget | tail -n 1` \ - sources add \ - -Source "$FEED_URL" \ - -StorePasswordInClearText \ - -Name GitHubPackages \ - -UserName "$USERNAME" \ - -Password "$GITHUB_TOKEN" - mono `vcpkg fetch nuget | tail -n 1` \ - setapikey "$GITHUB_TOKEN" \ - -Source "$FEED_URL" - MODE=$( [ "$NUGET_RW" = "true" ] && echo "readwrite" || echo "read" ) - echo "VCPKG_BINARY_SOURCES=clear;nuget,$FEED_URL,$MODE" >> "$GITHUB_ENV" - - - name: Setup vcpkg environment - shell: bash - run: | - echo "VCPKG_ROOT=$VCPKG_INSTALLATION_ROOT" >> "$GITHUB_ENV" diff --git a/meshmc/.github/actions/setup-dependencies/windows/action.yml b/meshmc/.github/actions/setup-dependencies/windows/action.yml deleted file mode 100644 index a06b38d389..0000000000 --- a/meshmc/.github/actions/setup-dependencies/windows/action.yml +++ /dev/null @@ -1,114 +0,0 @@ -name: Setup Windows Dependencies -description: Install and setup dependencies for building MeshMC - -inputs: - build-type: - description: Type for the build - required: true - default: Debug - msystem: - description: MSYS2 subsystem to use - required: false - vcvars-arch: - description: Visual Studio architecture to use - required: true - default: amd64 - github-token: - description: GitHub token for package feed authentication - required: true - -runs: - using: composite - - steps: - # NOTE: Installed on MinGW as well for SignTool - - name: Enter VS Developer shell - if: ${{ runner.os == 'Windows' }} - uses: ilammy/msvc-dev-cmd@v1 - with: - arch: ${{ inputs.vcvars-arch }} - vsversion: 2022 - - - name: Setup Java (MSVC) - uses: actions/setup-java@v5 - with: - # NOTE(@YongDo-Hyun): We should probably stay on Zulu. - # Temurin doesn't have Java 17 builds for WoA - distribution: zulu - java-version: 17 - - - name: Setup vcpkg cache (MSVC) - if: ${{ inputs.msystem == '' && inputs.build-type == 'Debug' }} - shell: pwsh - env: - USERNAME: ${{ github.repository_owner }} - GITHUB_TOKEN: ${{ inputs.github-token }} - FEED_URL: https://nuget.pkg.github.com/${{ github.repository_owner }}/index.json - NUGET_RW: ${{ github.event_name != 'pull_request' || github.event.pull_request.head.repo.full_name == github.repository }} - run: | - .$(vcpkg fetch nuget) ` - sources add ` - -Source "$env:FEED_URL" ` - -StorePasswordInClearText ` - -Name GitHubPackages ` - -UserName "$env:USERNAME" ` - -Password "$env:GITHUB_TOKEN" - .$(vcpkg fetch nuget) ` - setapikey "$env:GITHUB_TOKEN" ` - -Source "$env:FEED_URL" - $mode = if ($env:NUGET_RW -eq 'true') { 'readwrite' } else { 'read' } - "VCPKG_BINARY_SOURCES=clear;nuget,$env:FEED_URL,$mode" | Out-File -Append $env:GITHUB_ENV - - - name: Setup vcpkg environment (MSVC) - if: ${{ inputs.msystem == '' }} - shell: bash - run: | - echo "VCPKG_ROOT=$VCPKG_INSTALLATION_ROOT" >> "$GITHUB_ENV" - - - name: Setup MSYS2 (MinGW) - if: ${{ inputs.msystem != '' }} - uses: msys2/setup-msys2@v2 - with: - msystem: ${{ inputs.msystem }} - update: true - install: >- - git - pacboy: >- - toolchain:p - ccache:p - cmake:p - extra-cmake-modules:p - ninja:p - qt6-base:p - qt6-svg:p - qt6-imageformats:p - qt6-networkauth:p - qt6-5compat:p - cmark:p - qrencode:p - tomlplusplus:p - libarchive:p - - - name: List pacman packages (MinGW) - if: ${{ inputs.msystem != '' }} - shell: msys2 {0} - run: | - pacman -Qe - - - name: Retrieve ccache cache (MinGW) - if: ${{ inputs.msystem != '' && inputs.build-type == 'Debug' }} - uses: actions/cache@v5.0.4 - with: - path: '${{ github.workspace }}\.ccache' - key: ${{ runner.os }}-mingw-w64-ccache-${{ github.run_id }} - restore-keys: | - ${{ runner.os }}-mingw-w64-ccache - - - name: Setup ccache (MinGW) - if: ${{ inputs.msystem != '' && inputs.build-type == 'Debug' }} - shell: msys2 {0} - run: | - ccache --set-config=cache_dir='${{ github.workspace }}\.ccache' - ccache --set-config=max_size='500M' - ccache --set-config=compression=true - ccache -p # Show config diff --git a/meshmc/.github/codeql/codeql-config.yml b/meshmc/.github/codeql/codeql-config.yml deleted file mode 100644 index 70acfdfd7e..0000000000 --- a/meshmc/.github/codeql/codeql-config.yml +++ /dev/null @@ -1,3 +0,0 @@ -query-filters: - - exclude: - id: cpp/fixme-comment diff --git a/meshmc/.github/dco.yml b/meshmc/.github/dco.yml deleted file mode 100644 index 60c37b9425..0000000000 --- a/meshmc/.github/dco.yml +++ /dev/null @@ -1,2 +0,0 @@ -allowRemediationCommits: - individual: false diff --git a/meshmc/.github/pull_request_template.md b/meshmc/.github/pull_request_template.md deleted file mode 100644 index bd2abdad87..0000000000 --- a/meshmc/.github/pull_request_template.md +++ /dev/null @@ -1,9 +0,0 @@ -<!-- -Hey there! Thanks for your contribution for MeshMC. - -Please make sure that your commits are signed off and please sign CLA first. -If you don't know how that works, check out our contribution guidelines: https://github.com/Project-Tick/MeshMC/blob/master/CONTRIBUTING.md#signing-your-work -If you already created your commits, you can run `git rebase --signoff develop` to retroactively sign-off all your commits and `git push --force` to override what you have pushed already. - -Note that signing and signing-off are two different things! ---> diff --git a/meshmc/.github/workflows/backport.yml b/meshmc/.github/workflows/backport.yml deleted file mode 100644 index 0ca52b37cc..0000000000 --- a/meshmc/.github/workflows/backport.yml +++ /dev/null @@ -1,30 +0,0 @@ -name: Backport -on: - pull_request_target: - types: [closed, labeled] - -permissions: {} - -jobs: - backport: - permissions: - contents: write - pull-requests: write - actions: write - - name: Backport Pull Request - if: github.repository_owner == 'Project-Tick' && github.event.pull_request.merged == true && (github.event_name != 'labeled' || startsWith('backport', github.event.label.name)) - runs-on: ubuntu-slim - steps: - - - uses: actions/checkout@v6 - with: - ref: ${{ github.event.pull_request.head.sha }} - - - name: Create backport PRs - uses: korthout/backport-action@v4.3.0 - with: - # Config README: https://github.com/korthout/backport-action#backport-action - pull_description: |- - Bot-based backport to `${target_branch}`, triggered by a label in #${pull_number}. - diff --git a/meshmc/.github/workflows/blocked-prs.yml b/meshmc/.github/workflows/blocked-prs.yml deleted file mode 100644 index 0010801540..0000000000 --- a/meshmc/.github/workflows/blocked-prs.yml +++ /dev/null @@ -1,257 +0,0 @@ -name: Blocked/Stacked Pull Requests Automation - -on: - pull_request_target: - types: - - opened - - reopened - - edited - - synchronize - workflow_dispatch: - inputs: - pr_id: - description: Local Pull Request number to work on - required: true - type: number - -permissions: {} - -jobs: - blocked_status: - name: Check Blocked Status - runs-on: ubuntu-slim - - steps: - - name: Generate token - id: generate-token - uses: actions/create-github-app-token@v3 - with: - app-id: ${{ vars.PULL_REQUEST_APP_ID }} - private-key: ${{ secrets.PULL_REQUEST_APP_PRIVATE_KEY }} - - - name: Setup From Dispatch Event - if: github.event_name == 'workflow_dispatch' - id: dispatch_event_setup - env: - GH_TOKEN: ${{ steps.generate-token.outputs.token }} - PR_NUMBER: ${{ inputs.pr_id }} - run: | - # setup env for the rest of the workflow - OWNER=$(dirname "${{ github.repository }}") - REPO=$(basename "${{ github.repository }}") - PR_JSON=$( - gh api \ - -H "Accept: application/vnd.github.raw+json" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - "/repos/$OWNER/$REPO/pulls/$PR_NUMBER" - ) - echo "PR_JSON=$PR_JSON" >> "$GITHUB_ENV" - - - name: Setup Environment - id: env_setup - env: - EVENT_PR_JSON: ${{ toJSON(github.event.pull_request) }} - run: | - # setup env for the rest of the workflow - PR_JSON=${PR_JSON:-"$EVENT_PR_JSON"} - { - echo "REPO=$(jq -r '.base.repo.name' <<< "$PR_JSON")" - echo "OWNER=$(jq -r '.base.repo.owner.login' <<< "$PR_JSON")" - echo "PR_NUMBER=$(jq -r '.number' <<< "$PR_JSON")" - echo "JOB_DATA=$(jq -c ' - { - "repo": .base.repo.name, - "owner": .base.repo.owner.login, - "repoUrl": .base.repo.html_url, - "prNumber": .number, - "prHeadSha": .head.sha, - "prHeadLabel": .head.label, - "prBody": (.body // ""), - "prLabels": (reduce .labels[].name as $l ([]; . + [$l])) - } - ' <<< "$PR_JSON")" - } >> "$GITHUB_ENV" - - - - name: Find Blocked/Stacked PRs in body - id: pr_ids - run: | - prs=$( - jq -c ' - .prBody as $body - | ( - $body | - reduce ( - . | scan("[Bb]locked (?:[Bb]y|[Oo]n):? #([0-9]+)") - | map({ - "type": "Blocked on", - "number": ( . | tonumber ) - }) - ) as $i ([]; . + [$i[]]) - ) as $bprs - | ( - $body | - reduce ( - . | scan("[Ss]tacked [Oo]n:? #([0-9]+)") - | map({ - "type": "Stacked on", - "number": ( . | tonumber ) - }) - ) as $i ([]; . + [$i[]]) - ) as $sprs - | ($bprs + $sprs) as $prs - | { - "blocking": $prs, - "numBlocking": ( $prs | length), - } - ' <<< "$JOB_DATA" - ) - echo "prs=$prs" >> "$GITHUB_OUTPUT" - - - name: Collect Blocked PR Data - id: blocking_data - if: fromJSON(steps.pr_ids.outputs.prs).numBlocking > 0 - env: - GH_TOKEN: ${{ steps.generate-token.outputs.token }} - BLOCKING_PRS: ${{ steps.pr_ids.outputs.prs }} - run: | - blocked_pr_data=$( - while read -r pr_data ; do - gh api \ - -H "Accept: application/vnd.github+json" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - "/repos/$OWNER/$REPO/pulls/$(jq -r '.number' <<< "$pr_data")" \ - | jq -c --arg type "$(jq -r '.type' <<< "$pr_data")" \ - ' - . | { - "type": $type, - "number": .number, - "merged": .merged, - "state": (if .state == "open" then "Open" elif .merged then "Merged" else "Closed" end), - "labels": (reduce .labels[].name as $l ([]; . + [$l])), - "basePrUrl": .html_url, - "baseRepoName": .head.repo.name, - "baseRepoOwner": .head.repo.owner.login, - "baseRepoUrl": .head.repo.html_url, - "baseSha": .head.sha, - "baseRefName": .head.ref, - } - ' - done < <(jq -c '.blocking[]' <<< "$BLOCKING_PRS") | jq -c -s - ) - { - echo "data=$blocked_pr_data"; - echo "all_merged=$(jq -r 'all(.[] | (.type == "Stacked on" and .merged) or (.type == "Blocked on" and (.state != "Open")); .)' <<< "$blocked_pr_data")"; - echo "current_blocking=$(jq -c 'map( - select( - (.type == "Stacked on" and (.merged | not)) or - (.type == "Blocked on" and (.state == "Open")) - ) | .number - )' <<< "$blocked_pr_data" )"; - } >> "$GITHUB_OUTPUT" - - - name: Add 'blocked' Label if Missing - id: label_blocked - if: "(fromJSON(steps.pr_ids.outputs.prs).numBlocking > 0) && !contains(fromJSON(env.JOB_DATA).prLabels, 'status: blocked') && !fromJSON(steps.blocking_data.outputs.all_merged)" - continue-on-error: true - env: - GH_TOKEN: ${{ steps.generate-token.outputs.token }} - run: | - gh -R ${{ github.repository }} issue edit --add-label 'status: blocked' "$PR_NUMBER" - - - name: Remove 'blocked' Label if All Dependencies Are Merged - id: unlabel_blocked - if: fromJSON(steps.pr_ids.outputs.prs).numBlocking > 0 && fromJSON(steps.blocking_data.outputs.all_merged) - continue-on-error: true - env: - GH_TOKEN: ${{ steps.generate-token.outputs.token }} - run: | - gh -R ${{ github.repository }} issue edit --remove-label 'status: blocked' "$PR_NUMBER" - - - name: Apply 'blocking' Label to Unmerged Dependencies - id: label_blocking - if: fromJSON(steps.pr_ids.outputs.prs).numBlocking > 0 - continue-on-error: true - env: - GH_TOKEN: ${{ steps.generate-token.outputs.token }} - BLOCKING_ISSUES: ${{ steps.blocking_data.outputs.current_blocking }} - run: | - while read -r pr ; do - gh -R ${{ github.repository }} issue edit --add-label 'status: blocking' "$pr" || true - done < <(jq -c '.[]' <<< "$BLOCKING_ISSUES") - - - name: Apply Blocking PR Status Check - id: blocked_check - if: fromJSON(steps.pr_ids.outputs.prs).numBlocking > 0 - continue-on-error: true - env: - GH_TOKEN: ${{ steps.generate-token.outputs.token }} - BLOCKING_DATA: ${{ steps.blocking_data.outputs.data }} - run: | - pr_head_sha=$(jq -r '.prHeadSha' <<< "$JOB_DATA") - # create commit Status, overwrites previous identical context - while read -r pr_data ; do - DESC=$( - jq -r 'if .type == "Stacked on" then - "Stacked PR #" + (.number | tostring) + " is " + (if .merged then "" else "not yet " end) + "merged" - else - "Blocking PR #" + (.number | tostring) + " is " + (if .state == "Open" then "" else "not yet " end) + "merged or closed" - end ' <<< "$pr_data" - ) - gh api \ - --method POST \ - -H "Accept: application/vnd.github+json" \ - -H "X-GitHub-Api-Version: 2022-11-28" \ - "/repos/${OWNER}/${REPO}/statuses/${pr_head_sha}" \ - -f "state=$(jq -r 'if (.type == "Stacked on" and .merged) or (.type == "Blocked on" and (.state != "Open")) then "success" else "failure" end' <<< "$pr_data")" \ - -f "target_url=$(jq -r '.basePrUrl' <<< "$pr_data" )" \ - -f "description=$DESC" \ - -f "context=ci/blocking-pr-check:$(jq '.number' <<< "$pr_data")" - done < <(jq -c '.[]' <<< "$BLOCKING_DATA") - - - name: Context Comment - id: generate-comment - if: fromJSON(steps.pr_ids.outputs.prs).numBlocking > 0 - continue-on-error: true - env: - BLOCKING_DATA: ${{ steps.blocking_data.outputs.data }} - run: | - COMMENT_PATH="$(pwd)/temp_comment_file.txt" - echo '<h3>PR Dependencies :pushpin:</h3>' > "$COMMENT_PATH" - echo >> "$COMMENT_PATH" - pr_head_label=$(jq -r '.prHeadLabel' <<< "$JOB_DATA") - while read -r pr_data ; do - base_pr=$(jq -r '.number' <<< "$pr_data") - base_ref_name=$(jq -r '.baseRefName' <<< "$pr_data") - base_repo_owner=$(jq -r '.baseRepoOwner' <<< "$pr_data") - base_repo_name=$(jq -r '.baseRepoName' <<< "$pr_data") - compare_url="https://github.com/$base_repo_owner/$base_repo_name/compare/$base_ref_name...$pr_head_label" - status=$(jq -r ' - if .type == "Stacked on" then - if .merged then ":heavy_check_mark: Merged" else ":x: Not Merged (" + .state + ")" end - else - if .state != "Open" then ":white_check_mark: " + .state else ":x: Open" end - end - ' <<< "$pr_data") - type=$(jq -r '.type' <<< "$pr_data") - echo " - $type #$base_pr $status [(compare)]($compare_url)" >> "$COMMENT_PATH" - done < <(jq -c '.[]' <<< "$BLOCKING_DATA") - - { - echo 'body<<EOF'; - cat "${COMMENT_PATH}"; - echo 'EOF'; - } >> "$GITHUB_OUTPUT" - - - name: 💬 PR Comment - if: fromJSON(steps.pr_ids.outputs.prs).numBlocking > 0 - continue-on-error: true - env: - GH_TOKEN: ${{ steps.generate-token.outputs.token }} - COMMENT_BODY: ${{ steps.generate-comment.outputs.body }} - run: | - gh -R ${{ github.repository }} issue comment "$PR_NUMBER" \ - --body "$COMMENT_BODY" \ - --create-if-none \ - --edit-last - diff --git a/meshmc/.github/workflows/build.yml b/meshmc/.github/workflows/build.yml deleted file mode 100644 index 0ed6240b41..0000000000 --- a/meshmc/.github/workflows/build.yml +++ /dev/null @@ -1,185 +0,0 @@ -name: Build - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -on: - push: - branches: - - 'master' - merge_group: - types: [checks_requested] - pull_request: - workflow_call: - inputs: - build-type: - description: Type of build (Debug or Release) - type: string - default: Debug - environment: - description: Deployment environment to run under - type: string - workflow_dispatch: - inputs: - build-type: - description: Type of build (Debug or Release) - type: string - default: Debug - -permissions: {} - -jobs: - build: - name: Build (${{ matrix.artifact-name }}) - - environment: ${{ inputs.environment || '' }} - - permissions: - contents: read - id-token: write - packages: write - - strategy: - fail-fast: false - matrix: - include: - - os: ubuntu-24.04 - artifact-name: Linux - cmake-preset: linux - qt-version: 6.10.2 - - - os: ubuntu-24.04-arm - artifact-name: Linux-aarch64 - cmake-preset: linux - qt-version: 6.10.2 - - - os: windows-2022 - artifact-name: Windows-MinGW-w64 - cmake-preset: windows_mingw - msystem: CLANG64 - vcvars-arch: amd64_x86 - - - os: windows-11-arm - artifact-name: Windows-MinGW-arm64 - cmake-preset: windows_mingw - msystem: CLANGARM64 - vcvars-arch: arm64 - - - os: windows-2022 - artifact-name: Windows-MSVC - cmake-preset: windows_msvc - # TODO(@YongDo-Hyun): This is the default in setup-dependencies/windows. Why isn't it working?!?! - vcvars-arch: amd64 - qt-version: 6.10.2 - - - os: windows-11-arm - artifact-name: Windows-MSVC-arm64 - cmake-preset: windows_msvc - vcvars-arch: arm64 - qt-version: 6.10.2 - - - os: macos-26 - artifact-name: macOS - cmake-preset: macos_universal - macosx-deployment-target: 12.0 - qt-version: 6.9.3 - - runs-on: ${{ matrix.os }} - - defaults: - run: - shell: ${{ matrix.msystem != '' && 'msys2 {0}' || 'bash' }} - - env: - ARTIFACT_NAME: ${{ matrix.artifact-name }}-Qt6 - BUILD_PLATFORM: official - BUILD_TYPE: ${{ inputs.build-type || 'Debug' }} - CMAKE_PRESET: ${{ matrix.cmake-preset }} - - MACOSX_DEPLOYMENT_TARGET: ${{ matrix.macosx-deployment-target }} - - steps: - ## - # SETUP - ## - - - name: Checkout - uses: actions/checkout@v6 - with: - submodules: true - - - name: Setup dependencies - id: setup-dependencies - uses: ./.github/actions/setup-dependencies - with: - build-type: ${{ env.BUILD_TYPE }} - artifact-name: ${{ matrix.artifact-name }} - msystem: ${{ matrix.msystem }} - vcvars-arch: ${{ matrix.vcvars-arch }} - qt-version: ${{ matrix.qt-version }} - - ## - # BUILD - ## - - - name: Configure project - run: | - cmake --preset "$CMAKE_PRESET" - - - name: Run build - run: | - cmake --build --preset "$CMAKE_PRESET" --config "$BUILD_TYPE" - - - name: Run tests - run: | - ctest --preset "$CMAKE_PRESET" --build-config "$BUILD_TYPE" - - ## - # PACKAGE - ## - - - name: Get short version - id: short-version - shell: bash - run: | - echo "version=$(git rev-parse --short HEAD)" >> "$GITHUB_OUTPUT" - - - name: Package (Linux) - if: ${{ runner.os == 'Linux' }} - uses: ./.github/actions/package/linux - with: - version: ${{ steps.short-version.outputs.version }} - build-type: ${{ steps.setup-dependencies.outputs.build-type }} - artifact-name: ${{ matrix.artifact-name }} - qt-version: ${{ steps.setup-dependencies.outputs.qt-version }} - - gpg-private-key: ${{ secrets.GPG_PRIVATE_KEY }} - gpg-private-key-id: ${{ secrets.GPG_PRIVATE_KEY_ID }} - - - name: Package (macOS) - if: ${{ runner.os == 'macOS' }} - uses: ./.github/actions/package/macos - with: - version: ${{ steps.short-version.outputs.version }} - build-type: ${{ steps.setup-dependencies.outputs.build-type }} - artifact-name: ${{ matrix.artifact-name }} - - apple-codesign-cert: ${{ secrets.APPLE_CODESIGN_CERT }} - apple-codesign-password: ${{ secrets.APPLE_CODESIGN_PASSWORD }} - apple-codesign-id: ${{ secrets.APPLE_CODESIGN_ID }} - apple-notarize-apple-id: ${{ secrets.APPLE_NOTARIZE_APPLE_ID }} - apple-notarize-team-id: ${{ secrets.APPLE_NOTARIZE_TEAM_ID }} - apple-notarize-password: ${{ secrets.APPLE_NOTARIZE_PASSWORD }} - sparkle-ed25519-key: ${{ secrets.SPARKLE_ED25519_KEY }} - - - name: Package (Windows) - if: ${{ runner.os == 'Windows' }} - uses: ./.github/actions/package/windows - with: - version: ${{ steps.short-version.outputs.version }} - build-type: ${{ env.BUILD_TYPE }} - artifact-name: ${{ matrix.artifact-name }} - windows-codesign-cert: ${{ secrets.WINDOWS_CODESIGN_CERT }} - windows-codesign-password: ${{ secrets.WINDOWS_CODESIGN_PASSWORD }} - msystem: ${{ matrix.msystem }} diff --git a/meshmc/.github/workflows/codeql.yml b/meshmc/.github/workflows/codeql.yml deleted file mode 100644 index 436ae07eef..0000000000 --- a/meshmc/.github/workflows/codeql.yml +++ /dev/null @@ -1,52 +0,0 @@ -name: "CodeQL Code Scanning" - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -on: - merge_group: - types: [checks_requested] - pull_request: - workflow_dispatch: - -permissions: {} - -jobs: - CodeQL: - runs-on: ubuntu-latest - - permissions: - contents: read - security-events: write - - steps: - - name: Checkout repository - uses: actions/checkout@v6 - with: - submodules: "true" - - - name: Initialize CodeQL - uses: github/codeql-action/init@v4 - with: - config-file: ./.github/codeql/codeql-config.yml - queries: security-and-quality - languages: cpp, java - - - name: Setup dependencies - uses: ./.github/actions/setup-dependencies - with: - build-type: Debug - qt-version: 6.9.3 - - - name: Configure and Build - run: | - cmake --preset linux -DLauncher_USE_PCH=OFF - cmake --build --preset linux --config Debug - - - name: Run tests - run: | - ctest --preset linux --build-config Debug --extra-verbose --output-on-failure - - - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@v4 diff --git a/meshmc/.github/workflows/container.yml b/meshmc/.github/workflows/container.yml deleted file mode 100644 index 762eff6c82..0000000000 --- a/meshmc/.github/workflows/container.yml +++ /dev/null @@ -1,177 +0,0 @@ -name: Development Container - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -on: - push: - branches: - - 'master' - merge_group: - types: [checks_requested] - pull_request: - workflow_dispatch: - -permissions: {} - -env: - REGISTRY: ghcr.io - -jobs: - build: - name: Build (${{ matrix.arch }}) - - permissions: - contents: read - packages: write - - outputs: - image-name: ${{ steps.image-name.outputs.image-name }} - - strategy: - fail-fast: false - matrix: - include: - - arch: arm64 - os: ubuntu-24.04-arm - - arch: amd64 - os: ubuntu-24.04-arm - - runs-on: ${{ matrix.os }} - - steps: - - name: Set image name - id: image-name - run: | - echo "image-name=${REGISTRY}/${GITHUB_REPOSITORY_OWNER,,}/devcontainer" >> "$GITHUB_OUTPUT" - - - name: Install Podman - uses: redhat-actions/podman-install@main - # TODO(@YongDo-Hyun): Always use this when the action properly supports ARM - if: ${{ runner.arch == 'X64' || runner.arch == 'X86' }} - with: - github-token: ${{ github.token }} - - - name: Checkout repository - uses: actions/checkout@v6 - - - name: Determine metadata for image - id: image-metadata - uses: docker/metadata-action@v6 - with: - images: | - ${{ steps.image-name.outputs.image-name }} - flavor: | - latest=false - tags: | - type=raw,value=latest,enable=${{ github.event.merge_group.base_ref == 'refs/heads/develop' }} - - type=sha - type=sha,format=long - type=ref,event=branch - type=ref,event=tag - - - name: Build image - id: build-image - uses: redhat-actions/buildah-build@v2 - with: - containerfiles: | - ./Containerfile - tags: ${{ steps.image-metadata.outputs.tags }} - labels: ${{ steps.image-metadata.outputs.labels }} - - - name: Push image - id: push-image - if: ${{ github.event_name != 'pull_request' }} - uses: redhat-actions/push-to-registry@v2 - with: - tags: ${{ steps.build-image.outputs.tags }} - username: ${{ github.repository_owner }} - password: ${{ github.token }} - tls-verify: true - - - name: Export image digest - if: ${{ github.event_name != 'pull_request' }} - env: - DIGEST: ${{ steps.push-image.outputs.digest }} - run: | - mkdir -p "$RUNNER_TEMP"/digests - touch "$RUNNER_TEMP"/digests/"${DIGEST#sha256:}" - - - name: Upload digest artifact - if: ${{ github.event_name != 'pull_request' }} - uses: actions/upload-artifact@v7 - with: - name: digests-${{ matrix.arch }} - path: ${{ runner.temp }}/digests/* - if-no-files-found: error - retention-days: 1 - - manifest: - name: Create manifest - - needs: [ build ] - if: ${{ github.event_name != 'pull_request' }} - - permissions: - contents: read - packages: write - - runs-on: ubuntu-24.04 - - steps: - - name: Download digests - uses: actions/download-artifact@v8 - with: - path: ${{ runner.temp }}/digests - pattern: digests-* - merge-multiple: true - - - name: Install Podman - # TODO(@YongDo-Hyun): Always use this when the action properly supports ARM - if: ${{ runner.arch == 'X64' || runner.arch == 'X86' }} - uses: redhat-actions/podman-install@main - with: - github-token: ${{ github.token }} - - - name: Login to registry - uses: redhat-actions/podman-login@v1 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.repository_owner }} - password: ${{ github.token }} - - - name: Determine metadata for manifest - id: manifest-metadata - uses: docker/metadata-action@v6 - with: - images: | - ${{ needs.build.outputs.image-name }} - flavor: | - latest=false - tags: | - type=raw,value=latest,enable=${{ github.event.merge_group.base_ref == 'refs/heads/develop' }} - - type=sha - type=sha,format=long - type=ref,event=branch - type=ref,event=tag - - - name: Create manifest list - working-directory: ${{ runner.temp }}/digests - env: - IMAGE_NAME: ${{ needs.build.outputs.image-name }} - run: | - while read -r tag; do - podman manifest create "$tag" \ - $(printf "$IMAGE_NAME@sha256:%s " *) - done <<< "$DOCKER_METADATA_OUTPUT_TAGS" - - - name: Push manifest - uses: redhat-actions/push-to-registry@v2 - with: - tags: ${{ steps.manifest-metadata.outputs.tags }} - username: ${{ github.repository_owner }} - password: ${{ github.token }} - tls-verify: true diff --git a/meshmc/.github/workflows/merge-blocking-pr.yml b/meshmc/.github/workflows/merge-blocking-pr.yml deleted file mode 100644 index 3542a470e0..0000000000 --- a/meshmc/.github/workflows/merge-blocking-pr.yml +++ /dev/null @@ -1,64 +0,0 @@ -name: Merged Blocking Pull Request Automation - -on: - pull_request_target: - types: - - closed - workflow_dispatch: - inputs: - pr_id: - description: Local Pull Request number to work on - required: true - type: number - -permissions: {} - -jobs: - update-blocked-status: - name: Update Blocked Status - runs-on: ubuntu-slim - - # a pr that was a `blocking:<id>` label was merged. - # find the open pr's it was blocked by and trigger a refresh of their state - if: "${{ github.event_name == 'workflow_dispatch' || github.event.pull_request.merged == true && contains(github.event.pull_request.labels.*.name, 'status: blocking') }}" - - steps: - - name: Generate token - id: generate-token - uses: actions/create-github-app-token@v3 - with: - app-id: ${{ vars.PULL_REQUEST_APP_ID }} - private-key: ${{ secrets.PULL_REQUEST_APP_PRIVATE_KEY }} - - - name: Gather Dependent PRs - id: gather_deps - env: - GH_TOKEN: ${{ steps.generate-token.outputs.token }} - PR_NUMBER: ${{ inputs.pr_id || github.event.pull_request.number }} - run: | - blocked_prs=$( - gh -R ${{ github.repository }} pr list --label 'status: blocked' --json 'number,body' \ - | jq -c --argjson pr "$PR_NUMBER" ' - reduce ( .[] | select( - .body | - scan("(?:blocked (?:by|on)|stacked on):? #([0-9]+)") | - map(tonumber) | - any(.[]; . == $pr) - )) as $i ([]; . + [$i]) - ' - ) - { - echo "deps=$blocked_prs" - echo "numdeps=$(jq -r '. | length' <<< "$blocked_prs")" - } >> "$GITHUB_OUTPUT" - - - name: Trigger Blocked PR Workflows for Dependants - if: fromJSON(steps.gather_deps.outputs.numdeps) > 0 - env: - GH_TOKEN: ${{ steps.generate-token.outputs.token }} - DEPS: ${{ steps.gather_deps.outputs.deps }} - run: | - while read -r pr ; do - gh -R ${{ github.repository }} workflow run 'blocked-prs.yml' -r "${{ github.ref_name }}" -f pr_id="$pr" - done < <(jq -c '.[].number' <<< "$DEPS") - diff --git a/meshmc/.github/workflows/nix.yml b/meshmc/.github/workflows/nix.yml deleted file mode 100644 index a62d9c0aff..0000000000 --- a/meshmc/.github/workflows/nix.yml +++ /dev/null @@ -1,138 +0,0 @@ -name: Nix - -concurrency: - group: ${{ github.workflow }}-${{ github.ref }} - cancel-in-progress: true - -on: - push: - branches: - - "master" - - "release-*" - tags: - - "*" - paths: - # File types - - "**.cpp" - - "**.h" - - "**.java" - - "**.ui" - - "**.md" - - # Build files - - "**.nix" - - "nix/**" - - "flake.lock" - - # Directories - - "buildconfig/**" - - "cmake/**" - - "launcher/**" - - "libraries/**" - - "branding/**" - - "tests/**" - - # Files - - "CMakeLists.txt" - - # Workflows - - ".github/workflows/nix.yml" - pull_request: - paths: - # File types - - "**.cpp" - - "**.h" - - "**.java" - - "**.ui" - - "**.md" - - # Build files - - "**.nix" - - "nix/**" - - "flake.lock" - - # Directories - - "buildconfig/**" - - "cmake/**" - - "launcher/**" - - "libraries/**" - - "branding/**" - - "tests/**" - - # Files - - "CMakeLists.txt" - - # Workflows - - ".github/workflows/nix.yml" - workflow_dispatch: - -permissions: {} - -env: - DEBUG: ${{ github.ref_type != 'tag' }} - -jobs: - build: - name: Build (${{ matrix.system }}) - - permissions: - contents: read - - strategy: - fail-fast: false - matrix: - include: - - os: ubuntu-22.04 - system: x86_64-linux - - - os: ubuntu-22.04-arm - system: aarch64-linux - - - os: macos-14 - system: aarch64-darwin - - runs-on: ${{ matrix.os }} - - steps: - - name: Checkout repository - uses: actions/checkout@v6 - - - name: Install Nix - uses: cachix/install-nix-action@v31 - - # For PRs - - name: Setup Nix Magic Cache - if: ${{ github.event_name == 'pull_request' }} - uses: DeterminateSystems/magic-nix-cache-action@v13 - with: - diagnostic-endpoint: "" - use-flakehub: false - - # For in-tree builds - - name: Setup Cachix - if: ${{ github.event_name == 'push' || github.event_name == 'workflow_dispatch' }} - uses: cachix/cachix-action@v17 - with: - name: meshmc - authToken: ${{ secrets.CACHIX_AUTH_TOKEN }} - - - name: Run Flake checks - run: | - nix flake check --print-build-logs --show-trace - - - name: Build debug package - if: ${{ env.DEBUG == 'true' }} - run: | - nix build \ - --no-link --print-build-logs --print-out-paths \ - .#meshmc-debug >> "$GITHUB_STEP_SUMMARY" - - - name: Build release package - if: ${{ env.DEBUG == 'false' }} - env: - TAG: ${{ github.ref_name }} - SYSTEM: ${{ matrix.system }} - run: | - nix build --no-link --print-out-paths .#meshmc \ - | tee -a "$GITHUB_STEP_SUMMARY" \ - | xargs cachix pin meshmc "$TAG"-"$SYSTEM" diff --git a/meshmc/.github/workflows/publish.yml b/meshmc/.github/workflows/publish.yml deleted file mode 100644 index 9d2b3e06b9..0000000000 --- a/meshmc/.github/workflows/publish.yml +++ /dev/null @@ -1,25 +0,0 @@ -name: Publish - -on: - release: - types: [ released ] - -permissions: {} - -jobs: - winget: - name: Winget - - permissions: - contents: read - - runs-on: ubuntu-slim - - steps: - - name: Publish on Winget - uses: vedantmgoyal2009/winget-releaser@v2 - with: - identifier: ProjectTick.MeshMC - version: ${{ github.event.release.tag_name }} - installers-regex: 'MeshMC-Windows-MSVC(:?-arm64|-Legacy)?-Setup-.+\.exe$' - token: ${{ secrets.WINGET_TOKEN }} diff --git a/meshmc/.github/workflows/release.yml b/meshmc/.github/workflows/release.yml deleted file mode 100644 index 8ce7409b2d..0000000000 --- a/meshmc/.github/workflows/release.yml +++ /dev/null @@ -1,124 +0,0 @@ -name: Build Application and Make Release - -on: - push: - tags: - - "*" - -permissions: {} - -jobs: - build_release: - name: Build Release - uses: ./.github/workflows/build.yml - permissions: - contents: read - id-token: write - packages: write - with: - build-type: Release - environment: Release - secrets: inherit - - create_release: - needs: build_release - permissions: - contents: write - runs-on: ubuntu-slim - outputs: - upload_url: ${{ steps.create_release.outputs.upload_url }} - steps: - - name: Checkout - uses: actions/checkout@v6 - with: - submodules: "true" - path: "MeshMC-source" - - name: Download artifacts - uses: actions/download-artifact@v8 - - name: Grab and store version - run: | - tag_name=$(echo ${{ github.ref }} | grep -oE "[^/]+$") - echo "VERSION=$tag_name" >> $GITHUB_ENV - - name: Package artifacts properly - run: | - mv ${{ github.workspace }}/MeshMC-source MeshMC-${{ env.VERSION }} - mv MeshMC-Linux-Qt6-Portable*/MeshMC-portable.tar.gz MeshMC-Linux-Qt6-Portable-${{ env.VERSION }}.tar.gz - mv MeshMC-Linux-aarch64-Qt6-Portable*/MeshMC-portable.tar.gz MeshMC-Linux-aarch64-Qt6-Portable-${{ env.VERSION }}.tar.gz - mv MeshMC-*.AppImage/MeshMC-*-x86_64.AppImage MeshMC-Linux-x86_64.AppImage - mv MeshMC-*.AppImage.zsync/MeshMC-*-x86_64.AppImage.zsync MeshMC-Linux-x86_64.AppImage.zsync - mv MeshMC-*.AppImage/MeshMC-*-aarch64.AppImage MeshMC-Linux-aarch64.AppImage - mv MeshMC-*.AppImage.zsync/MeshMC-*-aarch64.AppImage.zsync MeshMC-Linux-aarch64.AppImage.zsync - mv MeshMC-macOS*/MeshMC.zip MeshMC-macOS-${{ env.VERSION }}.zip - mv MeshMC-macOS*/MeshMC.dmg MeshMC-macOS-${{ env.VERSION }}.dmg - - tar --exclude='.git' -czf MeshMC-${{ env.VERSION }}.tar.gz MeshMC-${{ env.VERSION }} - - for d in MeshMC-Windows-MSVC*; do - cd "${d}" || continue - LEGACY="$(echo -n ${d} | grep -o Legacy || true)" - ARM64="$(echo -n ${d} | grep -o arm64 || true)" - INST="$(echo -n ${d} | grep -o Setup || true)" - PORT="$(echo -n ${d} | grep -o Portable || true)" - NAME="MeshMC-Windows-MSVC" - test -z "${LEGACY}" || NAME="${NAME}-Legacy" - test -z "${ARM64}" || NAME="${NAME}-arm64" - test -z "${PORT}" || NAME="${NAME}-Portable" - test -z "${INST}" || mv MeshMC-*.exe ../${NAME}-Setup-${{ env.VERSION }}.exe - test -n "${INST}" || zip -r -9 "../${NAME}-${{ env.VERSION }}.zip" * - cd .. - done - - for d in MeshMC-Windows-MinGW-w64*; do - cd "${d}" || continue - INST="$(echo -n ${d} | grep -o Setup || true)" - PORT="$(echo -n ${d} | grep -o Portable || true)" - NAME="MeshMC-Windows-MinGW-w64" - test -z "${PORT}" || NAME="${NAME}-Portable" - test -z "${INST}" || mv MeshMC-*.exe ../${NAME}-Setup-${{ env.VERSION }}.exe - test -n "${INST}" || zip -r -9 "../${NAME}-${{ env.VERSION }}.zip" * - cd .. - done - - for d in MeshMC-Windows-MinGW-arm64*; do - cd "${d}" || continue - INST="$(echo -n ${d} | grep -o Setup || true)" - PORT="$(echo -n ${d} | grep -o Portable || true)" - NAME="MeshMC-Windows-MinGW-arm64" - test -z "${PORT}" || NAME="${NAME}-Portable" - test -z "${INST}" || mv MeshMC-*.exe ../${NAME}-Setup-${{ env.VERSION }}.exe - test -n "${INST}" || zip -r -9 "../${NAME}-${{ env.VERSION }}.zip" * - cd .. - done - - - name: Create release - id: create_release - uses: softprops/action-gh-release@v2 - with: - token: ${{ secrets.GITHUB_TOKEN }} - tag_name: ${{ github.ref }} - name: MeshMC ${{ env.VERSION }} - draft: true - prerelease: false - fail_on_unmatched_files: true - files: | - MeshMC-Linux-x86_64.AppImage - MeshMC-Linux-x86_64.AppImage.zsync - MeshMC-Linux-aarch64.AppImage - MeshMC-Linux-aarch64.AppImage.zsync - MeshMC-Linux-Qt6-Portable-${{ env.VERSION }}.tar.gz - MeshMC-Linux-aarch64-Qt6-Portable-${{ env.VERSION }}.tar.gz - MeshMC-Windows-MinGW-w64-${{ env.VERSION }}.zip - MeshMC-Windows-MinGW-w64-Portable-${{ env.VERSION }}.zip - MeshMC-Windows-MinGW-w64-Setup-${{ env.VERSION }}.exe - MeshMC-Windows-MinGW-arm64-${{ env.VERSION }}.zip - MeshMC-Windows-MinGW-arm64-Portable-${{ env.VERSION }}.zip - MeshMC-Windows-MinGW-arm64-Setup-${{ env.VERSION }}.exe - MeshMC-Windows-MSVC-arm64-${{ env.VERSION }}.zip - MeshMC-Windows-MSVC-arm64-Portable-${{ env.VERSION }}.zip - MeshMC-Windows-MSVC-arm64-Setup-${{ env.VERSION }}.exe - MeshMC-Windows-MSVC-${{ env.VERSION }}.zip - MeshMC-Windows-MSVC-Portable-${{ env.VERSION }}.zip - MeshMC-Windows-MSVC-Setup-${{ env.VERSION }}.exe - MeshMC-macOS-${{ env.VERSION }}.zip - MeshMC-macOS-${{ env.VERSION }}.dmg - MeshMC-${{ env.VERSION }}.tar.gz diff --git a/meshmc/.github/workflows/update-flake.yml b/meshmc/.github/workflows/update-flake.yml deleted file mode 100644 index 9aa57ec2e4..0000000000 --- a/meshmc/.github/workflows/update-flake.yml +++ /dev/null @@ -1,35 +0,0 @@ -name: Update Flake Lockfile - -on: - schedule: - # run weekly on sunday - - cron: "0 0 * * 0" - workflow_dispatch: - -permissions: {} - -jobs: - update-flake: - if: github.repository == 'Project-Tick/MeshMC' - - permissions: - contents: write - pull-requests: write - - runs-on: ubuntu-slim - - steps: - - uses: actions/checkout@v6 - - uses: cachix/install-nix-action@1ca7d21a94afc7c957383a2d217460d980de4934 # v31 - - - uses: DeterminateSystems/update-flake-lock@v28 - with: - commit-msg: "chore(nix): update lockfile" - pr-title: "chore(nix): update lockfile" - pr-labels: | - platform: Linux - area: packaging - complexity: low - priority: low - type: robot - changelog:omit |
