diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index 66c762f3a..bf45cc499 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -38,7 +38,18 @@ jobs: set-env: 'true' aqtversion: '==3.3.0' py7zrversion: '==0.22.*' - extra: '--base ${{ env.QT_MIRROR }}' + extra: '--base ${{ env.QT_MIRROR }}' + + - name: 'Setup python' + uses: actions/setup-python@v6 + with: + python-version: 3.14 + + - name: 'Install conan' + run: pip install "conan==2.26.2" + + - name: 'Install system packages' + run: sudo apt-get install libxkbcommon-x11-0 libsecret-1-dev - name: 'Get sources' uses: actions/checkout@v4 @@ -46,38 +57,15 @@ jobs: submodules: 'true' fetch-depth: 10 - - name: 'Get version from CMakeLists.txt' - id: get_version - run: | - VERSION=$(grep 'set(AMNEZIAVPN_VERSION' CMakeLists.txt | sed -E 's/.*AMNEZIAVPN_VERSION ([0-9]+.[0-9]+.[0-9]+.[0-9]+)\)/\1/') - echo "VERSION=$VERSION" >> $GITHUB_ENV - echo "Version: $VERSION" - - # - name: 'Setup ccache' - # uses: hendrikmuhs/ccache-action@v1.2 - - name: 'Build project' - run: | - sudo apt-get install libxkbcommon-x11-0 libsecret-1-dev - export QT_BIN_DIR=${{ runner.temp }}/Qt/${{ env.QT_VERSION }}/gcc_64/bin - export QIF_BIN_DIR=${{ runner.temp }}/Qt/Tools/QtInstallerFramework/${{ env.QIF_VERSION }}/bin - bash deploy/build_linux.sh - - - name: 'Pack installer' - run: cd deploy && tar -cf AmneziaVPN_Linux_Installer.tar AmneziaVPN_Linux_Installer.bin && zip AmneziaVPN_${VERSION}_linux_x64.tar.zip AmneziaVPN_Linux_Installer.tar + shell: bash + run: ./deploy/build.sh - name: 'Upload installer artifact' - uses: actions/upload-artifact@v4 + uses: actions/upload-artifact@v7 with: - name: AmneziaVPN_${{ env.VERSION }}_linux_x64.tar.zip - path: deploy/AmneziaVPN_${{ env.VERSION }}_linux_x64.tar.zip - retention-days: 7 - - - name: 'Upload unpacked artifact' - uses: actions/upload-artifact@v4 - with: - name: AmneziaVPN_Linux_unpacked - path: deploy/AppDir + path: deploy/build/AmneziaVPN-*-Linux.run + archive: false retention-days: 7 - name: 'Upload translations artifact' @@ -411,10 +399,11 @@ jobs: py7zrversion: '==0.22.*' extra: '--base ${{ env.QT_MIRROR }}' - - uses: actions/setup-python@v6 + - name: 'Setup python' + uses: actions/setup-python@v6 with: python-version: 3.14 - + - name: 'Install conan' run: pip install "conan==2.26.2" diff --git a/deploy/build.sh b/deploy/build.sh index 057e5f392..511be17ea 100755 --- a/deploy/build.sh +++ b/deploy/build.sh @@ -4,14 +4,19 @@ set -o errexit PROJECT_DIR=$(pwd) BUILD_DIR="$PROJECT_DIR/deploy/build" -folders=() +qt_folders=() +qif_folders=() for base in ~/Qt /opt/Qt; do for dir in "$base"/${QT_VERSION:-6.*}; do - [ -d "$dir" ] && folders+=("$dir") + [ -d "$dir" ] && qt_folders+=("$dir") + done + for dir in "$base"/Tools/QtInstallerFramework/${QIF_VERSION:-*}; do + [ -d "$dir" ] && qif_folders+=("$dir") done done -: ${QT_ROOT_PATH:=$(printf '%s\n' "${folders[@]}" | sort -V | tail -1)} +: ${QT_ROOT_PATH:=$(printf '%s\n' "${qt_folders[@]}" | sort -V | tail -1)} +: ${QIF_ROOT_PATH:=$(printf '%s\n' "${qif_folders[@]}" | sort -V | tail -1)} case "$(uname -s)" in Linux) @@ -31,4 +36,4 @@ set -o xtrace cmake -S "$PROJECT_DIR" -B "$BUILD_DIR" -DCMAKE_BUILD_TYPE=Release "${args[@]}" cmake --build "$BUILD_DIR" --target all -(cd "$BUILD_DIR" && cpack) +(cd "$BUILD_DIR" && cpack -D QTIFWDIR="$QIF_ROOT_PATH")