diff options
author | saturneric <[email protected]> | 2025-05-01 16:35:32 +0000 |
---|---|---|
committer | saturneric <[email protected]> | 2025-05-01 16:35:32 +0000 |
commit | c90f357c35dde98f6ba8dc7a0a382c03a98c25c6 (patch) | |
tree | 38422f46bb75d8287383b2669a795843306a302f | |
parent | fix: cleanup on windows and switch to softprops/action-gh-release@v2 (diff) | |
download | GpgFrontend-c90f357c35dde98f6ba8dc7a0a382c03a98c25c6.tar.gz GpgFrontend-c90f357c35dde98f6ba8dc7a0a382c03a98c25c6.zip |
chore: update release ci configs
-rw-r--r-- | .github/workflows/codeql-analysis.yml | 4 | ||||
-rw-r--r-- | .github/workflows/doxygen-genration.yml | 50 | ||||
-rw-r--r-- | .github/workflows/release-qt5.yml | 15 | ||||
-rw-r--r-- | .github/workflows/release.yml | 66 |
4 files changed, 26 insertions, 109 deletions
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 49accdb6..291045aa 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -112,9 +112,9 @@ jobs: version: "6.7.2" cache: "true" - - name: Configure CMake && Build GpgFrontend + - name: Build GpgFrontend run: | - cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DGPGFRONTEND_BUILD_TYPE_STABLE=ON + cmake -G Ninja -B ${{github.workspace}}/build -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} cmake --build ${{github.workspace}}/build --config {{$env.BUILD_TYPE}} -- -v - name: Perform CodeQL Analysis diff --git a/.github/workflows/doxygen-genration.yml b/.github/workflows/doxygen-genration.yml deleted file mode 100644 index 112cc7a2..00000000 --- a/.github/workflows/doxygen-genration.yml +++ /dev/null @@ -1,50 +0,0 @@ -# Copyright (C) 2021-2024 Saturneric <[email protected]> -# -# This file is part of GpgFrontend. -# -# GpgFrontend is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# GpgFrontend is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with GpgFrontend. If not, see <https://www.gnu.org/licenses/>. -# -# The initial version of the source code is inherited from -# the gpg4usb project, which is under GPL-3.0-or-later. -# -# All the source code of GpgFrontend was modified and released by -# Saturneric <[email protected]> starting on May 12, 2021. -# -# SPDX-License-Identifier: GPL-3.0-or-later - -name: Doxygen Generation - -on: - push: - branches: [main] - paths-ignore: - - "resource/lfs/locale/**" - - "**.md" - -jobs: - build: - name: Dispatch to GpgFrontend-Doxygen - runs-on: ubuntu-latest - steps: - - name: Emit repository_dispatch - uses: mvasigh/dispatch-action@main - with: - token: ${{ secrets.API_TOKEN_GITHUB }} - repo: GpgFrontend-Doxygen - owner: saturneric - event_type: CodePush - message: | - { - "branch": "${{github.ref}}" - } diff --git a/.github/workflows/release-qt5.yml b/.github/workflows/release-qt5.yml index e990f41e..fd1f7ba0 100644 --- a/.github/workflows/release-qt5.yml +++ b/.github/workflows/release-qt5.yml @@ -173,7 +173,7 @@ jobs: sudo ninja install if: runner.os == 'Linux' - - name: Configure CMake & Build Binary (Windows) + - name: Build GpgFrontend (Windows) shell: msys2 {0} run: | cd $(cygpath -u "${{github.workspace}}") @@ -183,7 +183,6 @@ jobs: if: runner.os == 'Windows' - name: Build GpgFrontend (Linux) - # Build your GpgFrontend with the given configuration run: | cmake -B ${{github.workspace}}/build -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DGPGFRONTEND_QT5_BUILD=ON cmake --build ${{github.workspace}}/build --config {{$env.BUILD_TYPE}} -- -v @@ -195,7 +194,7 @@ jobs: cd ${{github.workspace}}/build/upload-artifact wget -c -nv https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage chmod u+x linuxdeployqt-continuous-x86_64.AppImage - ./linuxdeployqt-continuous-x86_64.AppImage ${{github.workspace}}/build/artifacts/AppDir/usr/share/applications/*.desktop -no-translations -extra-plugins=iconengines -appimage + ./linuxdeployqt-continuous-x86_64.AppImage ${{github.workspace}}/build/artifacts/AppDir/usr/share/applications/*.desktop -no-translations -extra-plugins=iconengines,platforms,wayland-graphics-integration-client,wayland-decoration-client,wayland-shell-integration -appimage echo "BUILD_TYPE_LOWER=${BUILD_TYPE,,}" >> ${GITHUB_ENV} echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> ${GITHUB_ENV} if: runner.os == 'Linux' @@ -233,7 +232,7 @@ jobs: ls -l build/artifacts/ if: runner.os == 'Windows' - - name: Copy Modules & Package (Windows) + - name: Package (Windows) shell: msys2 {0} run: | cd $(cygpath -u "${{github.workspace}}") @@ -243,11 +242,13 @@ jobs: cp TRANSLATORS build/artifacts/ cp COPYING build/artifacts/ cp gpgfrontend.ico build/artifacts/bin/ + rm -rf build/artifacts/bin/modules/*.a touch build/artifacts/bin/PORTABLE.txt cd build - windeployqt --no-translations --force ./artifacts/bin/libgpgfrontend_core.dll - windeployqt --no-translations --force ./artifacts/bin/libgpgfrontend_ui.dll - windeployqt --no-translations --force ./artifacts/bin/GpgFrontend.exe + windeployqt-qt6 --no-translations --force ./artifacts/bin/libgf_core.dll + windeployqt-qt6 --no-translations --force ./artifacts/bin/libgf_ui.dll + windeployqt-qt6 --no-translations --force ./artifacts/bin/libgf_test.dll + windeployqt-qt6 --no-translations --force ./artifacts/bin/GpgFrontend.exe mkdir upload-artifact cd artifacts zip -r ../upload-artifact/GpgFrontend-${{env.SHORT_SHA}}-x86_64.zip * diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 068a44fc..ab0b4f79 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -200,44 +200,14 @@ jobs: sudo cmake --install ${{github.workspace}}/build-full-sdk --config {{$env.BUILD_TYPE}} if: runner.os == 'Linux' || runner.os == 'macOS' - - name: Build & Install Full SDK (Windows) - shell: msys2 {0} - run: | - cd $(cygpath -u "${{github.workspace}}") - mkdir build-full-sdk && cd build-full-sdk - cmake -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DGPGFRONTEND_BUILD_TYPE_FULL_SDK=ON -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX .. - cmake --build . --config ${{env.BUILD_TYPE}} -- -j 4 - cmake --install . --config {{$env.BUILD_TYPE}} - if: runner.os == 'Windows' - - - name: Build Integrated Modules - run: | - cmake -S ${{github.workspace}}/modules -B ${{github.workspace}}/modules/build -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DCMAKE_INSTALL_PREFIX=${{github.workspace}}/modules/build/artifacts - cmake --build ${{github.workspace}}/modules/build --config {{$env.BUILD_TYPE}} -- -v - cmake --install ${{github.workspace}}/modules/build --config {{$env.BUILD_TYPE}} - if: runner.os == 'Linux' || runner.os == 'macOS' - - - name: Build Integrated Modules (Windows) - shell: msys2 {0} - run: | - cd $(cygpath -u "${{github.workspace}}") - cd modules - mkdir build && cd build - cmake -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DGPGFRONTEND_BUILD_TYPE_STABLE=ON -DCMAKE_INSTALL_PREFIX=./artifacts .. - cmake --build . --config ${{env.BUILD_TYPE}} -- -j 4 - cmake --install . --config {{$env.BUILD_TYPE}} - if: runner.os == 'Windows' - - - name: Build & Export GpgFrontend (macOS) - # Build your GpgFrontend with the given configuration + - name: Build GpgFrontend (macOS) run: | cmake -B ${{github.workspace}}/build -G Xcode \ - -DGPGFRONTEND_CONFIGURE_FOR_XCODE_BUILD=On \ -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} \ - -DGPGFRONTEND_XCODE_CODE_SIGN_IDENTITY="${{secrets.GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}}" \ + -DGPGFRONTEND_XCODE_CODE_SIGN_IDENTITY="${{secrets.GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}}" \ -DGPGFRONTEND_XCODE_TEAM_ID="${{secrets.GPGFRONTEND_XCODE_TEAM_ID}}" \ - -DGPGFRONTEND_XCODE_APPID="${{secrets.GPGFRONTEND_XCODE_APPID}}" \ - -DGPGFRONTEND_XCODE_PROVISIONING_PROFILE_UUID="${{secrets.GPGFRONTEND_XCODE_PROVISIONING_PROFILE_UUID}}" + -DGPGFRONTEND_XCODE_APPID="${{secrets.GPGFRONTEND_XOCDE_APPID}}" \ + -DGPGFRONTEND_XCODE_PROVISIONING_PROFILE_UUID="${{secrets.GPGFRONTEND_XOCDE_PROVISIONING_PROFILE_UUID}}" xcodebuild -list -project ${{github.workspace}}/build/GpgFrontend.xcodeproj cd ${{github.workspace}}/build/ xcodebuild -scheme GpgFrontend -configuration "${{env.BUILD_TYPE}}"\ @@ -248,12 +218,10 @@ jobs: -exportPath ${{github.workspace}}/build/package/ if: runner.os == 'macOS' - - name: Copy Modules into Bundle & Deploy Qt & Code Sign (macOS) + - name: Deploy Qt & Code Sign (macOS) run: | - codesign -s "${{secrets.GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}}" -f --deep --options=runtime --timestamp ${{github.workspace}}/modules/build/artifacts/modules/* - cmake -E copy_directory ${{github.workspace}}/modules/build/artifacts/modules ${{github.workspace}}/build/package/GpgFrontend.app/Contents/Modules macdeployqt ${{github.workspace}}/build/package/GpgFrontend.app -verbose=2 -appstore-compliant -always-overwrite - codesign -s "${{secrets.GPGFRONTEND_XCODE_CODE_SIGN_IDENTITY}}" -f --deep --options=runtime --timestamp ${{github.workspace}}/build/package/GpgFrontend.app + codesign -s "${{secrets.GPGFRONTEND_XOCDE_CODE_SIGN_IDENTITY}}" -f --deep --options=runtime --timestamp ${{github.workspace}}/build/package/GpgFrontend.app if: runner.os == 'macOS' - name: Package & Sign App Bundle (macOS) @@ -282,31 +250,29 @@ jobs: if: runner.os == 'macOS' - name: Build GpgFrontend (Linux) - # Build your GpgFrontend with the given configuration run: | - cmake -B ${{github.workspace}}/build -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DGPGFRONTEND_BUILD_TYPE_ONLY_APPLICATION=ON + cmake -B ${{github.workspace}}/build -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DGPGFRONTEND_BUILD_APP_IMAGE=ON cmake --build ${{github.workspace}}/build --config {{$env.BUILD_TYPE}} -- -v if: runner.os == 'Linux' - - name: Copy Modules & Package App Image (Linux) + - name: Package App Image (Linux) run: | - cmake -E copy_directory ${{github.workspace}}/modules/build/artifacts/modules ${{github.workspace}}/build/artifacts/AppDir/usr/modules mkdir ${{github.workspace}}/build/upload-artifact cd ${{github.workspace}}/build/upload-artifact wget -c -nv https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage chmod u+x linuxdeployqt-continuous-x86_64.AppImage export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib - ./linuxdeployqt-continuous-x86_64.AppImage ${{github.workspace}}/build/artifacts/AppDir/usr/share/applications/*.desktop -no-translations -extra-plugins=iconengines -appimage -executable-dir=${{github.workspace}}/build/artifacts/AppDir/usr/modules/ + ./linuxdeployqt-continuous-x86_64.AppImage ${{github.workspace}}/build/artifacts/AppDir/usr/share/applications/*.desktop -no-translations -extra-plugins=iconengines,platforms,wayland-graphics-integration-client,wayland-decoration-client,wayland-shell-integration -appimage echo "BUILD_TYPE_LOWER=${BUILD_TYPE,,}" >> ${GITHUB_ENV} echo "SHORT_SHA=`echo ${GITHUB_SHA} | cut -c1-8`" >> ${GITHUB_ENV} if: runner.os == 'Linux' - - name: Configure CMake & Build Application (Windows) + - name: Build GpgFrontend (Windows) shell: msys2 {0} run: | cd $(cygpath -u "${{github.workspace}}") mkdir build && cd build - cmake -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} -DGPGFRONTEND_BUILD_TYPE_ONLY_APPLICATION=ON .. + cmake -G Ninja -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} .. cmake --build . --config ${{env.BUILD_TYPE}} -- -j 4 if: runner.os == 'Windows' @@ -343,7 +309,7 @@ jobs: ls -l build/artifacts/ if: runner.os == 'Windows' - - name: Copy Modules & Package (Windows) + - name: Package (Windows) shell: msys2 {0} run: | cd $(cygpath -u "${{github.workspace}}") @@ -353,12 +319,12 @@ jobs: cp TRANSLATORS build/artifacts/ cp COPYING build/artifacts/ cp gpgfrontend.ico build/artifacts/bin/ + rm -rf build/artifacts/bin/modules/*.a touch build/artifacts/bin/PORTABLE.txt - mkdir -p build/artifacts/modules - cp -r modules/build/artifacts/bin/* build/artifacts/modules cd build - windeployqt-qt6 --no-translations --force ./artifacts/bin/libgpgfrontend_core.dll - windeployqt-qt6 --no-translations --force ./artifacts/bin/libgpgfrontend_ui.dll + windeployqt-qt6 --no-translations --force ./artifacts/bin/libgf_core.dll + windeployqt-qt6 --no-translations --force ./artifacts/bin/libgf_ui.dll + windeployqt-qt6 --no-translations --force ./artifacts/bin/libgf_test.dll windeployqt-qt6 --no-translations --force ./artifacts/bin/GpgFrontend.exe mkdir upload-artifact cd artifacts |