Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
72 changes: 42 additions & 30 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -245,20 +245,30 @@ 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
steps:
- 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:
Expand Down Expand Up @@ -288,24 +298,33 @@ 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
steps:
- 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:
Expand Down Expand Up @@ -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 \
Expand All @@ -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'
Expand Down Expand Up @@ -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
Expand All @@ -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
Expand Down
2 changes: 0 additions & 2 deletions SyntaxTutor.pro
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down
Loading