mirror of
https://github.com/amnezia-vpn/amnezia-client.git
synced 2026-06-22 02:01:08 +07:00
feat: rework CI/CD for Linux
This commit is contained in:
@@ -38,7 +38,18 @@ jobs:
|
|||||||
set-env: 'true'
|
set-env: 'true'
|
||||||
aqtversion: '==3.3.0'
|
aqtversion: '==3.3.0'
|
||||||
py7zrversion: '==0.22.*'
|
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'
|
- name: 'Get sources'
|
||||||
uses: actions/checkout@v4
|
uses: actions/checkout@v4
|
||||||
@@ -46,38 +57,15 @@ jobs:
|
|||||||
submodules: 'true'
|
submodules: 'true'
|
||||||
fetch-depth: 10
|
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'
|
- name: 'Build project'
|
||||||
run: |
|
shell: bash
|
||||||
sudo apt-get install libxkbcommon-x11-0 libsecret-1-dev
|
run: ./deploy/build.sh
|
||||||
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
|
|
||||||
|
|
||||||
- name: 'Upload installer artifact'
|
- name: 'Upload installer artifact'
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v7
|
||||||
with:
|
with:
|
||||||
name: AmneziaVPN_${{ env.VERSION }}_linux_x64.tar.zip
|
path: deploy/build/AmneziaVPN-*-Linux.run
|
||||||
path: deploy/AmneziaVPN_${{ env.VERSION }}_linux_x64.tar.zip
|
archive: false
|
||||||
retention-days: 7
|
|
||||||
|
|
||||||
- name: 'Upload unpacked artifact'
|
|
||||||
uses: actions/upload-artifact@v4
|
|
||||||
with:
|
|
||||||
name: AmneziaVPN_Linux_unpacked
|
|
||||||
path: deploy/AppDir
|
|
||||||
retention-days: 7
|
retention-days: 7
|
||||||
|
|
||||||
- name: 'Upload translations artifact'
|
- name: 'Upload translations artifact'
|
||||||
@@ -411,10 +399,11 @@ jobs:
|
|||||||
py7zrversion: '==0.22.*'
|
py7zrversion: '==0.22.*'
|
||||||
extra: '--base ${{ env.QT_MIRROR }}'
|
extra: '--base ${{ env.QT_MIRROR }}'
|
||||||
|
|
||||||
- uses: actions/setup-python@v6
|
- name: 'Setup python'
|
||||||
|
uses: actions/setup-python@v6
|
||||||
with:
|
with:
|
||||||
python-version: 3.14
|
python-version: 3.14
|
||||||
|
|
||||||
- name: 'Install conan'
|
- name: 'Install conan'
|
||||||
run: pip install "conan==2.26.2"
|
run: pip install "conan==2.26.2"
|
||||||
|
|
||||||
|
|||||||
+9
-4
@@ -4,14 +4,19 @@ set -o errexit
|
|||||||
PROJECT_DIR=$(pwd)
|
PROJECT_DIR=$(pwd)
|
||||||
BUILD_DIR="$PROJECT_DIR/deploy/build"
|
BUILD_DIR="$PROJECT_DIR/deploy/build"
|
||||||
|
|
||||||
folders=()
|
qt_folders=()
|
||||||
|
qif_folders=()
|
||||||
for base in ~/Qt /opt/Qt; do
|
for base in ~/Qt /opt/Qt; do
|
||||||
for dir in "$base"/${QT_VERSION:-6.*}; 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
|
||||||
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
|
case "$(uname -s)" in
|
||||||
Linux)
|
Linux)
|
||||||
@@ -31,4 +36,4 @@ set -o xtrace
|
|||||||
|
|
||||||
cmake -S "$PROJECT_DIR" -B "$BUILD_DIR" -DCMAKE_BUILD_TYPE=Release "${args[@]}"
|
cmake -S "$PROJECT_DIR" -B "$BUILD_DIR" -DCMAKE_BUILD_TYPE=Release "${args[@]}"
|
||||||
cmake --build "$BUILD_DIR" --target all
|
cmake --build "$BUILD_DIR" --target all
|
||||||
(cd "$BUILD_DIR" && cpack)
|
(cd "$BUILD_DIR" && cpack -D QTIFWDIR="$QIF_ROOT_PATH")
|
||||||
|
|||||||
Reference in New Issue
Block a user