Skip to content

Commit

Permalink
testing automated build
Browse files Browse the repository at this point in the history
  • Loading branch information
ctlcltd committed Feb 9, 2024
1 parent 1c7cf2a commit 3ce2357
Show file tree
Hide file tree
Showing 9 changed files with 544 additions and 1 deletion.
24 changes: 24 additions & 0 deletions .github/workflows/auto-assign.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
name: auto-assign

on:
issues:
types: [opened]
pull_request:
types: [opened]

jobs:
run:

runs-on: ubuntu-latest

permissions:
issues: write
pull-requests: write

steps:
- name: Auto-assign issue
uses: pozil/auto-assign-issue@v1
with:
repo-token: ${{secrets.GITHUB_TOKEN}}
assignees: ctlcltd
numOfAssignee: 1
83 changes: 83 additions & 0 deletions .github/workflows/build-macos-intel.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
name: build-macos-intel

on:
workflow_dispatch:

jobs:
user-manual:
uses: ./.github/workflows/user-manual.yml
with:
runs-on: ubuntu-latest

build:

runs-on: macos-12
needs: user-manual

env:
BUILD_TYPE: Release

steps:
- uses: actions/checkout@v4
with:
repository: ctlcltd/e2-sat-editor
path: e2-sat-editor

- name: Setup Homebrew
run: brew install cmake ninja qt6 curl

- name: Configure CMake
working-directory: ${{github.workspace}}/e2-sat-editor/src
run: |
export PKG_CONFIG_PATH="/usr/local/opt/curl/lib/pkgconfig"
cmake \
-G Ninja \
-B build \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
- name: Build
working-directory: ${{github.workspace}}/e2-sat-editor/src
run: cmake --build build --config ${{ env.BUILD_TYPE }}

- name: Download user-manual artifact
uses: actions/download-artifact@v4
with:
name: user-manual
path: user-manual
run-id: ${{ needs.user-manual.outputs.run-id }}

- name: Deploy
working-directory: ${{github.workspace}}/e2-sat-editor/src
continue-on-error: true
run: |
DESTDIR=../AppDir ninja -C build install
cp ../dist/macos/PkgInfo.in AppDir/usr/local/e2\ SAT\ Editor.app/Contents/PkgInfo
# pre actions
QMDIR=AppDir/usr/local/e2\ SAT\ Editor.app/Contents/Resources/translations
mkdir -p "$QMDIR"
cp ../dist/translations/*.qm "$QMDIR"
cp /usr/local/opt/qt/share/qt/translations/qt_*.qm "$QMDIR"
cp /usr/local/opt/qt/share/qt/translations/qtbase_*.qm "$QMDIR"
rm -R "$QMDIR"/qt_help_*.qm
# run deploy script
bash ../scripts/deployqtmacx.sh AppDir/usr/local/e2\ SAT\ Editor.app
# package
mkdir -p ../artifact/{cli,user-manual}
cp ../dist/common/Readme.txt.in ../artifact/Readme.txt
cp COPYING ../artifact/License.txt
mv AppDir/usr/local/e2\ SAT\ Editor.app ../artifact/
mv AppDir/usr/local/e2se-cli ../artifact/cli/
mv "${{github.workspace}}/user-manual" ../artifact/
# - name: Test
# working-directory: ${{github.workspace}}/e2-sat-editor/artifact
# continue-on-error: true
# timeout-minutes: 1
# run: |
# sudo mv /usr/local/Cellar /usr/local/Cellar.bak
# DEBUG=1 QT_QPA_PLATFORM=minimal ./e2\ SAT\ Editor.app/Contents/MacOS/e2\ SAT\ Editor

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
path: ${{github.workspace}}/e2-sat-editor/artifact
101 changes: 101 additions & 0 deletions .github/workflows/build-win32.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
name: build-win32

on:
workflow_dispatch:

jobs:
user-manual:
uses: ./.github/workflows/user-manual.yml
with:
runs-on: ubuntu-latest

build:

runs-on: windows-2022
needs: user-manual

env:
BUILD_TYPE: Release

steps:
- run: git config --global core.autocrlf input
- uses: actions/checkout@v4
with:
repository: ctlcltd/e2-sat-editor
path: e2-sat-editor

- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: MINGW32
pacboy: >-
cc:i cmake:i ninja:i qt5-base:i qt5-translations:i curl:i
- name: Configure CMake
working-directory: ${{github.workspace}}/e2-sat-editor/src
shell: msys2 {0}
run: |
cmake \
-G Ninja \
-B build \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-DWITH_QT5=ON
- name: Build
working-directory: ${{github.workspace}}/e2-sat-editor/src
shell: msys2 {0}
run: cmake --build build --config ${{ env.BUILD_TYPE }}

- name: Download user-manual artifact
uses: actions/download-artifact@v4
with:
name: user-manual
path: user-manual
run-id: ${{ needs.user-manual.outputs.run-id }}

- name: Deploy
working-directory: ${{github.workspace}}/e2-sat-editor/src
continue-on-error: true
shell: msys2 {0}
run: |
DESTDIR=../AppDir ninja -C build install
# pre actions
QMDIR="AppDir/Program Files (x86)/e2-sat-editor/bin/translations"
mkdir -p "$QMDIR"
cp ../dist/translations/*.qm "$QMDIR"
cp /mingw32/share/qt5/translations/qt_*.qm "$QMDIR"
cp /mingw32/share/qt5/translations/qtbase_*.qm "$QMDIR"
rm -R "$QMDIR"/qt_help_*.qm
# run deploy script
bash ../scripts/deployqtwin.sh "AppDir/Program Files (x86)/e2-sat-editor/bin/e2-sat-editor.exe" \
--verbose \
-system MINGW32 \
-qt-version 5 \
-modules Core,Gui,Widgets,PrintSupport \
-plugins platforms,styles,printsupport \
-libraries libcurl-4.dll,libcrypto-3.dll,libidn2-0.dll,libnghttp2-14.dll,libpsl-5.dll,libssh2-1.dll,libssl-3.dll,libunistring-5.dll
# post actions
rm "AppDir/Program Files (x86)/e2-sat-editor/bin/platforms/qdirect2d.dll"
# package
mkdir -p ../artifact/{cli,user-manual}
cp ../dist/common/Readme.txt.in ../artifact/Readme.txt
cp COPYING ../artifact/License.txt
mv "AppDir/Program Files (x86)/e2-sat-editor/bin/"*.dll ../artifact/
mv "AppDir/Program Files (x86)/e2-sat-editor/bin/"{platforms,styles,printsupport,translations} ../artifact/
mv "AppDir/Program Files (x86)/e2-sat-editor/bin/e2-sat-editor.exe" ../artifact/
mv "AppDir/Program Files (x86)/e2-sat-editor/bin/e2se-cli.exe" ../artifact/cli/
cp ../artifact/{libgcc_s_dw2-1,libstdc++-6,libwinpthread-1}.dll ../artifact/cli/
mv "${{github.workspace}}/user-manual" ../artifact/
# - name: Test
# working-directory: ${{github.workspace}}/e2-sat-editor/artifact
# continue-on-error: true
# timeout-minutes: 1
# shell: pwsh
# run: |
# $env:DEBUG=1; $env:QT_QPA_PLATFORM=minimal; .\e2-sat-editor.exe

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
path: ${{github.workspace}}/e2-sat-editor/artifact
96 changes: 96 additions & 0 deletions .github/workflows/build-win64.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
name: build-win64

on:
workflow_dispatch:

jobs:
user-manual:
uses: ./.github/workflows/user-manual.yml
with:
runs-on: ubuntu-latest

build:

runs-on: windows-2022
needs: user-manual

env:
BUILD_TYPE: Release

steps:
- run: git config --global core.autocrlf input
- uses: actions/checkout@v4
with:
repository: ctlcltd/e2-sat-editor
path: e2-sat-editor

- name: Setup MSYS2
uses: msys2/setup-msys2@v2
with:
pacboy: >-
cc:x cmake:x ninja:x qt6-base:x qt6-translations:x curl:x
- name: Configure CMake
working-directory: ${{github.workspace}}/e2-sat-editor/src
shell: msys2 {0}
run: |
cmake \
-G Ninja \
-B build \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }}
- name: Build
working-directory: ${{github.workspace}}/e2-sat-editor/src
shell: msys2 {0}
run: cmake --build build --config ${{ env.BUILD_TYPE }}

- name: Download user-manual artifact
uses: actions/download-artifact@v4
with:
name: user-manual
path: user-manual
run-id: ${{ needs.user-manual.outputs.run-id }}

- name: Deploy
working-directory: ${{github.workspace}}/e2-sat-editor/src
continue-on-error: true
shell: msys2 {0}
run: |
DESTDIR=../AppDir ninja -C build install
# pre actions
QMDIR="AppDir/Program Files (x86)/e2-sat-editor/bin/translations"
mkdir -p "$QMDIR"
cp ../dist/translations/*.qm "$QMDIR"
cp /mingw64/share/qt6/translations/qt_*.qm "$QMDIR"
cp /mingw64/share/qt6/translations/qtbase_*.qm "$QMDIR"
rm -R "$QMDIR"/qt_help_*.qm
# run deploy script
bash ../scripts/deployqtwin.sh "AppDir/Program Files (x86)/e2-sat-editor/bin/e2-sat-editor.exe" \
--verbose \
-modules Core,Gui,Widgets,PrintSupport \
-libraries libcurl-4.dll,libcrypto-3-x64.dll,libidn2-0.dll,libnghttp2-14.dll,libpsl-5.dll,libssh2-1.dll,libssl-3-x64.dll,libunistring-5.dll
# post actions
rm "AppDir/Program Files (x86)/e2-sat-editor/bin/platforms/qdirect2d.dll"
# package
mkdir -p ../artifact/{cli,user-manual}
cp ../dist/common/Readme.txt.in ../artifact/Readme.txt
cp COPYING ../artifact/License.txt
mv "AppDir/Program Files (x86)/e2-sat-editor/bin/"*.dll ../artifact/
mv "AppDir/Program Files (x86)/e2-sat-editor/bin/"{platforms,styles,translations} ../artifact/
mv "AppDir/Program Files (x86)/e2-sat-editor/bin/e2-sat-editor.exe" ../artifact/
mv "AppDir/Program Files (x86)/e2-sat-editor/bin/e2se-cli.exe" ../artifact/cli/
cp ../artifact/{libgcc_s_seh-1,libstdc++-6,libwinpthread-1}.dll ../artifact/cli/
mv "${{github.workspace}}/user-manual" ../artifact/
# - name: Test
# working-directory: ${{github.workspace}}/e2-sat-editor/artifact
# continue-on-error: true
# timeout-minutes: 1
# shell: pwsh
# run: |
# $env:DEBUG=1; $env:QT_QPA_PLATFORM=minimal; .\e2-sat-editor.exe

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
path: ${{github.workspace}}/e2-sat-editor/artifact
88 changes: 88 additions & 0 deletions .github/workflows/test-linux-appimage.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
name: test-linux-appimage

on:
workflow_dispatch:

jobs:
build:

runs-on: ubuntu-22.04

env:
BUILD_TYPE: Release

steps:
- uses: actions/checkout@v4
with:
repository: ctlcltd/e2-sat-editor
path: e2-sat-editor

- name: Setup Aptitude
run: |
sudo apt-get install curl libcurl4-openssl-dev
sudo apt-get install qt6-base-dev qt6-translations-l10n
sudo apt-get install libgl1-mesa-dev libglvnd-dev libxcb-xkb-dev libxkbcommon-x11-dev libvulkan-dev
sudo apt-get install cmake ninja-build
- name: Download tools
run: |
sudo apt-get install fuse wget
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
wget https://github.com/AppImage/AppImageKit/releases/download/continuous/appimagetool-x86_64.AppImage
chmod +x linuxdeploy-x86_64.AppImage
chmod +x linuxdeploy-plugin-qt-x86_64.AppImage
chmod +x appimagetool-x86_64.AppImage
mv linuxdeploy-x86_64.AppImage /usr/local/bin/linuxdeploy
mv linuxdeploy-plugin-qt-x86_64.AppImage /usr/local/bin/linuxdeploy-plugin-qt
mv appimagetool-x86_64.AppImage /usr/local/bin/appimagetool
- name: Configure CMake
working-directory: ${{github.workspace}}/e2-sat-editor/src
run: |
cmake \
-G Ninja \
-B build \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} \
-DWITHOUT_CLI=ON
- name: Build
working-directory: ${{github.workspace}}/e2-sat-editor/src
run: cmake --build build --config ${{ env.BUILD_TYPE }}

- name: Deploy
working-directory: ${{github.workspace}}/e2-sat-editor/src
continue-on-error: true
run: |
DESTDIR=../AppDir ninja -C build install
# pre actions
mkdir -p AppDir/usr/share/qt/translations
cp /usr/share/qt6/translations/qt_*.qm AppDir/usr/share/qt/translations
cp /usr/share/qt6/translations/qtbase_*.qm AppDir/usr/share/qt/translations
rm -R AppDir/usr/share/qt/translations/qt_help_*.qm
rm AppDir/usr/share/applications/e2se-cli.desktop
mv AppDir/usr/share/applications/e2-sat-editor.desktop AppDir/usr/share/applications/io.github.ctlcltd.e2se.desktop
mv AppDir/usr/share/metainfo/io.github.ctlcltd.e2se.metainfo.xml AppDir/usr/share/metainfo/io.github.ctlcltd.e2se.appdata.xml
mkdir -p AppDir/usr/share/doc/e2-sat-editor
mv AppDir/usr/share/e2-sat-editor/Readme.txt.in AppDir/usr/share/doc/e2-sat-editor/readme
mv AppDir/usr/share/e2-sat-editor/COPYING AppDir/usr/share/doc/e2-sat-editor/copyright
# run linuxdeploy
export QMAKE=qmake6
linuxdeploy --appdir AppDir --plugin qt --output appimage
# package
mv e2_SAT_Editor-x86_64.AppImage ../artifact
chmod +x ../artifact
# - name: Test
# working-directory: ${{github.workspace}}/e2-sat-editor
# continue-on-error: true
# timeout-minutes: 1
# run: |
# sudo mv /usr/lib/qt6 /usr/lib/qt6.bak
# DEBUG=1 QT_QPA_PLATFORM=minimal ./artifact

- name: Upload Artifact
uses: actions/upload-artifact@v4
with:
path: ${{github.workspace}}/e2-sat-editor/artifact
Loading

0 comments on commit 3ce2357

Please sign in to comment.