mirror of
https://github.com/NohamR/Reclass.git
synced 2026-05-10 19:59:21 +00:00
ci: snapshot releases with date tags and platform-specific names
- Tag: snapshot-DD-MM-YYYY instead of latest - Assets: Reclass-win64-qt6.zip, Reclass-linux64-qt6.AppImage, Reclass-win64-qt5.zip - Qt5 job now produces release artifacts - Jobs serialized: windows → linux → windows-qt5
This commit is contained in:
96
.github/workflows/build.yml
vendored
96
.github/workflows/build.yml
vendored
@@ -43,7 +43,7 @@ jobs:
|
|||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
with:
|
||||||
name: Reclass-Windows-x64
|
name: Reclass-win64-qt6
|
||||||
path: |
|
path: |
|
||||||
build/Reclass.exe
|
build/Reclass.exe
|
||||||
build/ReclassMcpBridge.exe
|
build/ReclassMcpBridge.exe
|
||||||
@@ -56,6 +56,12 @@ jobs:
|
|||||||
build/themes/
|
build/themes/
|
||||||
build/screenshot.png
|
build/screenshot.png
|
||||||
|
|
||||||
|
- name: Get date tag
|
||||||
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||||
|
id: date
|
||||||
|
shell: bash
|
||||||
|
run: echo "tag=$(date +'%d-%m-%Y')" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
- name: Package release zip
|
- name: Package release zip
|
||||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||||
shell: bash
|
shell: bash
|
||||||
@@ -72,19 +78,19 @@ jobs:
|
|||||||
cp build/Plugins/*.dll release/Plugins/ 2>/dev/null || true
|
cp build/Plugins/*.dll release/Plugins/ 2>/dev/null || true
|
||||||
cp -r build/themes release/ 2>/dev/null || true
|
cp -r build/themes release/ 2>/dev/null || true
|
||||||
cp build/screenshot.png release/ 2>/dev/null || true
|
cp build/screenshot.png release/ 2>/dev/null || true
|
||||||
cd release && 7z a ../Reclass-win64.zip *
|
cd release && 7z a ../Reclass-win64-qt6.zip *
|
||||||
|
|
||||||
- name: Upload release asset
|
- name: Upload release asset
|
||||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
tag_name: latest
|
tag_name: snapshot-${{ steps.date.outputs.tag }}
|
||||||
name: Latest Build
|
name: Snapshot ${{ steps.date.outputs.tag }}
|
||||||
body: |
|
body: |
|
||||||
Automated build from main branch.
|
Automated snapshot from main branch.
|
||||||
Commit: ${{ github.sha }}
|
Commit: ${{ github.sha }}
|
||||||
prerelease: false
|
prerelease: false
|
||||||
files: Reclass-win64.zip
|
files: Reclass-win64-qt6.zip
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
@@ -149,32 +155,39 @@ jobs:
|
|||||||
--icon-file AppDir/usr/share/icons/hicolor/256x256/apps/reclass.png \
|
--icon-file AppDir/usr/share/icons/hicolor/256x256/apps/reclass.png \
|
||||||
--plugin qt \
|
--plugin qt \
|
||||||
--output appimage
|
--output appimage
|
||||||
# Rename only if needed (appimagetool may already use the right name)
|
# Rename to final name
|
||||||
ls Reclass-*.AppImage
|
ls Reclass-*.AppImage
|
||||||
if [ ! -f Reclass-x86_64.AppImage ]; then mv Reclass-*.AppImage Reclass-x86_64.AppImage; fi
|
mv Reclass-*.AppImage Reclass-linux64-qt6.AppImage
|
||||||
|
|
||||||
- name: Upload artifact
|
- name: Upload artifact
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
if: always()
|
if: always()
|
||||||
with:
|
with:
|
||||||
name: Reclass-Linux-x64
|
name: Reclass-linux64-qt6
|
||||||
path: Reclass-x86_64.AppImage
|
path: Reclass-linux64-qt6.AppImage
|
||||||
|
|
||||||
|
- name: Get date tag
|
||||||
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||||
|
id: date
|
||||||
|
shell: bash
|
||||||
|
run: echo "tag=$(date +'%d-%m-%Y')" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
- name: Upload release asset
|
- name: Upload release asset
|
||||||
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||||
uses: softprops/action-gh-release@v2
|
uses: softprops/action-gh-release@v2
|
||||||
with:
|
with:
|
||||||
tag_name: latest
|
tag_name: snapshot-${{ steps.date.outputs.tag }}
|
||||||
name: Latest Build
|
name: Snapshot ${{ steps.date.outputs.tag }}
|
||||||
body: |
|
body: |
|
||||||
Automated build from main branch.
|
Automated snapshot from main branch.
|
||||||
Commit: ${{ github.sha }}
|
Commit: ${{ github.sha }}
|
||||||
prerelease: false
|
prerelease: false
|
||||||
files: Reclass-x86_64.AppImage
|
files: Reclass-linux64-qt6.AppImage
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|
||||||
windows-qt5:
|
windows-qt5:
|
||||||
|
needs: linux
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -201,3 +214,58 @@ jobs:
|
|||||||
|
|
||||||
- name: Test
|
- name: Test
|
||||||
run: ctest --test-dir build --output-on-failure --exclude-regex "test_editor|test_windbg_provider|test_com_security|test_format|test_command_row|test_type_selector"
|
run: ctest --test-dir build --output-on-failure --exclude-regex "test_editor|test_windbg_provider|test_com_security|test_format|test_command_row|test_type_selector"
|
||||||
|
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
if: always()
|
||||||
|
with:
|
||||||
|
name: Reclass-win64-qt5
|
||||||
|
path: |
|
||||||
|
build/Reclass.exe
|
||||||
|
build/ReclassMcpBridge.exe
|
||||||
|
build/Plugins/*.dll
|
||||||
|
build/*.dll
|
||||||
|
build/platforms/
|
||||||
|
build/styles/
|
||||||
|
build/imageformats/
|
||||||
|
build/iconengines/
|
||||||
|
build/themes/
|
||||||
|
build/screenshot.png
|
||||||
|
|
||||||
|
- name: Get date tag
|
||||||
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||||
|
id: date
|
||||||
|
shell: bash
|
||||||
|
run: echo "tag=$(date +'%d-%m-%Y')" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
|
- name: Package release zip
|
||||||
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mkdir -p release
|
||||||
|
cp build/Reclass.exe release/
|
||||||
|
cp build/ReclassMcpBridge.exe release/
|
||||||
|
cp build/*.dll release/ 2>/dev/null || true
|
||||||
|
cp -r build/platforms release/ 2>/dev/null || true
|
||||||
|
cp -r build/styles release/ 2>/dev/null || true
|
||||||
|
cp -r build/imageformats release/ 2>/dev/null || true
|
||||||
|
cp -r build/iconengines release/ 2>/dev/null || true
|
||||||
|
mkdir -p release/Plugins
|
||||||
|
cp build/Plugins/*.dll release/Plugins/ 2>/dev/null || true
|
||||||
|
cp -r build/themes release/ 2>/dev/null || true
|
||||||
|
cp build/screenshot.png release/ 2>/dev/null || true
|
||||||
|
cd release && 7z a ../Reclass-win64-qt5.zip *
|
||||||
|
|
||||||
|
- name: Upload release asset
|
||||||
|
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
|
||||||
|
uses: softprops/action-gh-release@v2
|
||||||
|
with:
|
||||||
|
tag_name: snapshot-${{ steps.date.outputs.tag }}
|
||||||
|
name: Snapshot ${{ steps.date.outputs.tag }}
|
||||||
|
body: |
|
||||||
|
Automated snapshot from main branch.
|
||||||
|
Commit: ${{ github.sha }}
|
||||||
|
prerelease: false
|
||||||
|
files: Reclass-win64-qt5.zip
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
|
|||||||
Reference in New Issue
Block a user