diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 76ffe87..ca8d4c3 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -128,13 +128,13 @@ jobs: - name: Create ZIP of .app run: | - ditto -c -k --keepParent SyntaxTutor.app SyntaxTutor-intel.zip + ditto -c -k --keepParent SyntaxTutor.app SyntaxTutor-${{ steps.version.outputs.value }}-macos-x86_64.zip - name: Upload artifact uses: actions/upload-artifact@v4 with: - name: SyntaxTutor-macos-intel - path: SyntaxTutor-intel.zip + name: SyntaxTutor-macos-x86_64 + path: SyntaxTutor-${{ steps.version.outputs.value }}-macos-x86_64.zip build-macos: runs-on: macos-latest @@ -245,13 +245,13 @@ jobs: - name: Create ZIP of .app (arm64) run: | - zip -qry SyntaxTutor-macos-arm64.zip SyntaxTutor.app + zip -qry SyntaxTutor-${{ steps.version.outputs.value }}-macos-arm64.zip SyntaxTutor.app - name: Upload artifacts uses: actions/upload-artifact@v4 with: name: SyntaxTutor-macos-arm64 - path: SyntaxTutor-macos-arm64.zip + path: SyntaxTutor-${{ steps.version.outputs.value }}-macos-arm64.zip build-windows: runs-on: windows-latest @@ -259,6 +259,16 @@ jobs: - name: Checkout source uses: actions/checkout@v3 + - name: Determine version + id: version + shell: bash + run: | + if [[ "$GITHUB_REF" == refs/tags/v* ]]; then + echo "value=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT" + else + echo "value=$(tr -d ' \r\n' < APP_VERSION)" >> "$GITHUB_OUTPUT" + fi + - name: Install Qt 6 (x64) uses: jurplel/install-qt-action@v4 with: @@ -288,17 +298,17 @@ jobs: shell: pwsh run: | mkdir deploy - Copy-Item .\release\SyntaxTutor.exe deploy\ + Copy-Item .\.bin\SyntaxTutor.exe deploy\ windeployqt --release .\deploy\SyntaxTutor.exe --dir deploy - name: Zip Windows bundle - run: powershell Compress-Archive -Path deploy -DestinationPath SyntaxTutor-windows-x64.zip + run: powershell Compress-Archive -Path deploy -DestinationPath SyntaxTutor-${{ steps.version.outputs.value }}-windows-x64.zip - name: Upload zipped Windows bundle uses: actions/upload-artifact@v4 with: name: SyntaxTutor-windows-x64 - path: SyntaxTutor-windows-x64.zip + path: SyntaxTutor-${{ steps.version.outputs.value }}-windows-x64.zip build-linux: runs-on: ubuntu-latest @@ -306,6 +316,15 @@ jobs: - name: Checkout source uses: actions/checkout@v3 + - name: Determine version + id: version + run: | + if [[ "$GITHUB_REF" == refs/tags/v* ]]; then + echo "value=${GITHUB_REF_NAME#v}" >> "$GITHUB_OUTPUT" + else + echo "value=$(tr -d ' \r\n' < APP_VERSION)" >> "$GITHUB_OUTPUT" + fi + - name: Install Qt uses: jurplel/install-qt-action@v4 with: @@ -336,7 +355,7 @@ jobs: mkdir -p $APPDIR/usr/bin \ $APPDIR/usr/share/icons/hicolor/256x256/apps - cp SyntaxTutor $APPDIR/usr/bin/ && \ + cp .bin/SyntaxTutor $APPDIR/usr/bin/ && \ printf '[Desktop Entry]\nType=Application\nIcon=syntaxtutor\nName=SyntaxTutor\nExec=SyntaxTutor\nCategories=Education;\n' > $APPDIR/SyntaxTutor.desktop && \ chmod +x $APPDIR/SyntaxTutor.desktop && \ install -Dm644 resources/syntaxtutor.png \ @@ -348,11 +367,15 @@ jobs: --plugin qt \ --output appimage + - name: Rename AppImage + run: | + mv SyntaxTutor-x86_64.AppImage SyntaxTutor-${{ steps.version.outputs.value }}-linux-x86_64.AppImage + - name: Upload Linux AppImage uses: actions/upload-artifact@v4 with: name: SyntaxTutor-linux-x86_64 - path: '*.AppImage' + path: SyntaxTutor-${{ steps.version.outputs.value }}-linux-x86_64.AppImage publish-prerelease: if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/main' @@ -383,13 +406,13 @@ jobs: echo "value=$VERSION" >> "$GITHUB_OUTPUT" fi - - name: Download macOS (Intel) artifact + - name: Download macOS (x86_64) artifact uses: actions/download-artifact@v4 with: - name: SyntaxTutor-macos-intel - path: dist/macos-intel + name: SyntaxTutor-macos-x86_64 + path: dist/macos-x86_64 - - name: Download macOS (Apple Silicon) artifact + - name: Download macOS (arm64) artifact uses: actions/download-artifact@v4 with: name: SyntaxTutor-macos-arm64 @@ -411,23 +434,12 @@ jobs: run: | set -euo pipefail mkdir -p dist/uploads + VERSION="${{ steps.version.outputs.value }}" - if [ -f dist/macos-intel/SyntaxTutor-intel.zip ]; then - cp dist/macos-intel/SyntaxTutor-intel.zip dist/uploads/ - fi - - if [ -d dist/macos-arm64/SyntaxTutor.app ]; then - (cd dist/macos-arm64 && zip -qry ../uploads/SyntaxTutor-macos-arm64.zip SyntaxTutor.app) - fi - - if [ -d dist/windows-x64/deploy ]; then - (cd dist/windows-x64 && zip -qry ../uploads/SyntaxTutor-windows-x64.zip deploy) - fi - - LINUX_APPIMAGE=$(find dist/linux-x86_64 -maxdepth 1 -type f -name '*.AppImage' | head -n 1) - if [ -n "$LINUX_APPIMAGE" ]; then - cp "$LINUX_APPIMAGE" dist/uploads/ - fi + find dist/macos-x86_64 -name "*.zip" -exec cp {} dist/uploads/ \; + find dist/macos-arm64 -name "*.zip" -exec cp {} dist/uploads/ \; + find dist/windows-x64 -name "*.zip" -exec cp {} dist/uploads/ \; + find dist/linux-x86_64 -name "*.AppImage" -exec cp {} dist/uploads/ \; echo "Prepared artifacts:" >&2 ls -al dist/uploads >&2 diff --git a/SyntaxTutor.pro b/SyntaxTutor.pro index c92a073..a1928b4 100644 --- a/SyntaxTutor.pro +++ b/SyntaxTutor.pro @@ -105,8 +105,6 @@ unix:!mac:CONFIG(release, debug|release) { -s \ -Wl,--as-needed - # Tras link: strippear de nuevo por si quedan símbolos - QMAKE_POST_LINK += $$QMAKE_STRIP ./$${TARGET} } macx {