Remove Build.yml
This commit is contained in:
@@ -1,243 +0,0 @@
|
||||
#--------------------------------------------------------------------------------
|
||||
# Workflow configuration
|
||||
#--------------------------------------------------------------------------------
|
||||
|
||||
name: Deploy
|
||||
on:
|
||||
push: # Run on push
|
||||
paths-ignore: # File patterns to ignore
|
||||
- '**.md' # Ignore changes to *.md files
|
||||
|
||||
pull_request: # Run on pull-request
|
||||
paths-ignore: # File-patterns to ignore
|
||||
- '**.md' # Ignore changes to *.md files
|
||||
|
||||
#--------------------------------------------------------------------------------
|
||||
# Define application name & version
|
||||
#--------------------------------------------------------------------------------
|
||||
|
||||
env:
|
||||
VERSION: "1.0.0"
|
||||
EXECUTABLE: "RFID-TaskFlow"
|
||||
APPLICATION: "RFID TaskFlow"
|
||||
UNIXNAME: "rfid-taskflow"
|
||||
QMAKE_PROJECT: "RFID-TaskFlow.pro"
|
||||
QML_DIR_NIX: "qml"
|
||||
QML_DIR_WIN: "qml"
|
||||
PUBLISHER: "Matusica S.A. de C.V."
|
||||
QT_VERSION: 6.4.1
|
||||
QT_MODULES: qtserialport qtconnectivity qtmultimedia
|
||||
QMAKE: qmake6
|
||||
CORES: 12
|
||||
|
||||
#--------------------------------------------------------------------------------
|
||||
# Workflow jobs (GNU/Linux, macOS & Windows)
|
||||
#--------------------------------------------------------------------------------
|
||||
|
||||
jobs:
|
||||
build-linux:
|
||||
runs-on: ubuntu-20.04
|
||||
name: '🐧 Ubuntu 20.04'
|
||||
steps:
|
||||
- name: '🧰 Checkout'
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: '⚙️ Cache Qt'
|
||||
id: cache-qt
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ../Qt
|
||||
key: ${{runner.os}}-qt${{env.QT_VERSION}}
|
||||
|
||||
- name: '⚙️ Install Qt'
|
||||
uses: jurplel/install-qt-action@v2
|
||||
with:
|
||||
version: ${{env.QT_VERSION}}
|
||||
modules: ${{env.QT_MODULES}}
|
||||
aqtversion: '==2.0.0'
|
||||
cached: ${{steps.cache-qt.outputs.cache-hit}}
|
||||
|
||||
# Install additional dependencies, stolen from:
|
||||
# https://github.com/mapeditor/tiled/blob/master/.github/workflows/packages.yml
|
||||
- name: '⚙️ Install dependencies'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install libgl1-mesa-dev libxkbcommon-x11-0 libxcb-icccm4 libxcb-image0 libxcb-keysyms1 libxcb-render-util0 libxcb-xinerama0 libzstd-dev libssl-dev libusb-dev
|
||||
sudo apt-get install libgstreamer1.0-dev libgstreamer-plugins-base1.0-dev libgstreamer-plugins-bad1.0-dev gstreamer1.0-plugins-base gstreamer1.0-plugins-good gstreamer1.0-plugins-bad gstreamer1.0-plugins-ugly gstreamer1.0-libav gstreamer1.0-doc gstreamer1.0-tools gstreamer1.0-x gstreamer1.0-alsa gstreamer1.0-gl gstreamer1.0-gtk3 gstreamer1.0-qt5 gstreamer1.0-pulseaudio
|
||||
|
||||
- name: '🚧 Compile application'
|
||||
run: |
|
||||
${{env.QMAKE}} ${{env.QMAKE_PROJECT}} CONFIG+=release PREFIX=/usr
|
||||
make -j${{env.CORES}}
|
||||
|
||||
- name: '⚙️ Install linuxdeploy'
|
||||
run: |
|
||||
wget https://github.com/linuxdeploy/linuxdeploy/releases/download/continuous/linuxdeploy-x86_64.AppImage
|
||||
wget https://github.com/linuxdeploy/linuxdeploy-plugin-qt/releases/download/continuous/linuxdeploy-plugin-qt-x86_64.AppImage
|
||||
chmod +x linuxdeploy-x86_64.AppImage
|
||||
chmod +x linuxdeploy-plugin-qt-x86_64.AppImage
|
||||
|
||||
- name: '📦 Create AppImage'
|
||||
run: |
|
||||
export QML_SOURCES_PATHS="${{env.QML_DIR_NIX}}"
|
||||
export QMAKE=/home/runner/work/${{env.EXECUTABLE}}/Qt/${{env.QT_VERSION}}/gcc_64/bin/qmake6
|
||||
export PATH=/home/runner/work/${{env.EXECUTABLE}}/Qt/${{env.QT_VERSION}}/gcc_64/libexec:$PATH
|
||||
./linuxdeploy-x86_64.AppImage --appdir AppDir -e ${{env.UNIXNAME}} -i deploy/linux/${{env.UNIXNAME}}.png -d deploy/linux/${{env.UNIXNAME}}.desktop --plugin qt --output appimage
|
||||
rm linuxdeploy-x86_64.AppImage
|
||||
rm linuxdeploy-plugin-qt-x86_64.AppImage
|
||||
mv *.AppImage ${{env.EXECUTABLE}}-${{env.VERSION}}-Linux.AppImage
|
||||
|
||||
- name: '📤 Upload artifact: AppImage'
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ${{env.EXECUTABLE}}-${{env.VERSION}}-Linux.AppImage
|
||||
path: ${{env.EXECUTABLE}}-${{env.VERSION}}-Linux.AppImage
|
||||
|
||||
# macOS build
|
||||
build-mac:
|
||||
runs-on: macos-latest
|
||||
name: '🍎 macOS'
|
||||
steps:
|
||||
- name: '🧰 Checkout'
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: '⚙️ Cache Qt'
|
||||
id: cache-qt
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ../Qt
|
||||
key: ${{runner.os}}-qt${{env.QT_VERSION}}
|
||||
|
||||
- name: '⚙️ Install Qt'
|
||||
uses: jurplel/install-qt-action@v2
|
||||
with:
|
||||
version: ${{env.QT_VERSION}}
|
||||
modules: ${{env.QT_MODULES}}
|
||||
aqtversion: '==2.0.0'
|
||||
cached: ${{steps.cache-qt.outputs.cache-hit}}
|
||||
|
||||
- name: '🚧 Compile application'
|
||||
run: |
|
||||
${{env.QMAKE}} ${{env.QMAKE_PROJECT}} CONFIG+=release PREFIX=/usr
|
||||
make -j${{env.CORES}}
|
||||
|
||||
- name: '📦 Package application (macdeployqt and zipfile)'
|
||||
run: |
|
||||
macdeployqt ${{env.EXECUTABLE}}.app -qmldir="${{env.QML_DIR_NIX}}"
|
||||
mv "${{env.EXECUTABLE}}.app" "${{env.APPLICATION}}.app"
|
||||
|
||||
# ZIP application "%AppName%-%Version%-macOS.zip"
|
||||
# We use ditto instead of zip to use the same commands as Finder
|
||||
ditto -c -k --sequesterRsrc --keepParent "${{env.APPLICATION}}.app" ${{env.EXECUTABLE}}-${{env.VERSION}}-macOS.zip
|
||||
|
||||
- name: '📤 Upload artifact: ZIP'
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ${{env.EXECUTABLE}}-${{env.VERSION}}-macOS.zip
|
||||
path: ${{env.EXECUTABLE}}-${{env.VERSION}}-macOS.zip
|
||||
|
||||
# Windows build
|
||||
build-windows:
|
||||
runs-on: windows-latest
|
||||
name: '🧊 Windows'
|
||||
steps:
|
||||
- name: '🧰 Checkout'
|
||||
uses: actions/checkout@v2
|
||||
|
||||
- name: '⚙️ Configure MSVC'
|
||||
uses: ilammy/msvc-dev-cmd@v1
|
||||
with:
|
||||
arch: x64
|
||||
spectre: true
|
||||
|
||||
- name: '⚙️ Cache Qt'
|
||||
id: cache-qt
|
||||
uses: actions/cache@v1
|
||||
with:
|
||||
path: ../Qt
|
||||
key: ${{runner.os}}-qt${{env.QT_VERSION}}
|
||||
|
||||
- name: '⚙️ Install Qt'
|
||||
uses: jurplel/install-qt-action@v2
|
||||
with:
|
||||
version: ${{env.QT_VERSION}}
|
||||
modules: ${{env.QT_MODULES}}
|
||||
aqtversion: '==2.0.0'
|
||||
cached: ${{steps.cache-qt.outputs.cache-hit}}
|
||||
|
||||
- name: '🚧 Compile application'
|
||||
run: |
|
||||
${{env.QMAKE}} ${{env.QMAKE_PROJECT}} CONFIG+=release
|
||||
nmake
|
||||
|
||||
- name: '📦 Package application (windeployqt)'
|
||||
run: |
|
||||
mkdir bin
|
||||
move release/${{env.EXECUTABLE}}.exe bin
|
||||
windeployqt bin/${{env.EXECUTABLE}}.exe -qmldir="${{env.QML_DIR_WIN}}" --compiler-runtime
|
||||
mkdir "${{env.APPLICATION}}"
|
||||
move bin "${{env.APPLICATION}}"
|
||||
xcopy deploy\windows\resources\icon.ico "${{env.APPLICATION}}"
|
||||
#xcopy deploy\windows\openssl\*.dll "${{env.APPLICATION}}\bin"
|
||||
move "${{env.APPLICATION}}" deploy\windows\nsis\
|
||||
|
||||
- name: '📦 Portable application'
|
||||
run: |
|
||||
mkdir "${{env.EXECUTABLE}}-${{env.VERSION}}-Windows"
|
||||
xcopy "deploy\windows\nsis\${{env.APPLICATION}}\icon.ico" "${{env.EXECUTABLE}}-${{env.VERSION}}-Windows"
|
||||
xcopy "deploy\windows\nsis\${{env.APPLICATION}}\bin" "${{env.EXECUTABLE}}-${{env.VERSION}}-Windows" /E
|
||||
Compress-Archive -Path "${{env.EXECUTABLE}}-${{env.VERSION}}-Windows" -DestinationPath "${{env.EXECUTABLE}}-${{env.VERSION}}-Windows.zip"
|
||||
|
||||
- name: '📦 Make NSIS installer'
|
||||
uses: joncloud/makensis-action@v3.6
|
||||
with:
|
||||
script-file: deploy/windows/nsis/setup.nsi
|
||||
|
||||
- name: '📦 Check NSIS version & hash'
|
||||
run: |
|
||||
makensis /HDRINFO
|
||||
|
||||
- name: '📦 Rename installer'
|
||||
run: |
|
||||
dir
|
||||
cd deploy/windows/nsis/
|
||||
dir
|
||||
ren *.exe ${{env.EXECUTABLE}}-${{env.VERSION}}-Windows.exe
|
||||
|
||||
- name: '📤 Upload artifact: NSIS installer'
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ${{env.EXECUTABLE}}-${{env.VERSION}}-Windows.exe
|
||||
path: deploy/windows/nsis/${{env.EXECUTABLE}}-${{env.VERSION}}-Windows.exe
|
||||
|
||||
- name: '📤 Upload artifact: Portable application'
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
name: ${{env.EXECUTABLE}}-${{env.VERSION}}-Windows.zip
|
||||
path: ${{env.EXECUTABLE}}-${{env.VERSION}}-Windows.zip
|
||||
|
||||
# Upload continuous build
|
||||
upload:
|
||||
name: '🗂 Create release and upload artifacts'
|
||||
needs:
|
||||
- build-mac
|
||||
- build-windows
|
||||
- build-linux
|
||||
runs-on: ubuntu-20.04
|
||||
steps:
|
||||
- name: '📥 Download artifacts'
|
||||
uses: actions/download-artifact@v2
|
||||
- name: '🗂 Inspect directory after downloading artifacts'
|
||||
run: ls -alFR
|
||||
- name: '🚀 Create release and upload artifacts'
|
||||
env:
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
run: |
|
||||
wget -q https://github.com/TheAssassin/pyuploadtool/releases/download/continuous/pyuploadtool-x86_64.AppImage
|
||||
chmod +x pyuploadtool-x86_64.AppImage
|
||||
./pyuploadtool-x86_64.AppImage **/${{env.EXECUTABLE}}-${{env.VERSION}}-Linux.AppImage
|
||||
./pyuploadtool-x86_64.AppImage **/${{env.EXECUTABLE}}-${{env.VERSION}}-macOS.zip
|
||||
./pyuploadtool-x86_64.AppImage **/${{env.EXECUTABLE}}-${{env.VERSION}}-Windows.exe
|
||||
./pyuploadtool-x86_64.AppImage **/${{env.EXECUTABLE}}-${{env.VERSION}}-Windows.zip
|
||||
|
||||
|
||||
Reference in New Issue
Block a user