Files
amnezia-client/.github/workflows/deploy.yml
T
2022-11-27 01:21:41 +03:00

226 lines
5.9 KiB
YAML

name: Deploy workflow
# Controls when the action will run. Workflow runs when manually triggered using the UI
# or API.
on: [push] #, pull_request]
# A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
# Build-Linux-Ubuntu:
# name: Build-Linux-Ubuntu
# runs-on: ubuntu-latest
# env:
# QT_VERSION: 5.15.2
# QIF_VERSION: 4.4
# steps:
# - name: Install Qt
# uses: jurplel/install-qt-action@v3
# with:
# version: '5.15.2'
# host: 'linux'
# target: 'desktop'
# arch: 'gcc_64'
# dir: '${{ github.workspace }}/Qt/'
# install-deps: 'true'
# modules: 'qtcharts'
# archives: 'qtbase qtsvg'
# cache: 'true'
# cache-key-prefix: 'install-qt-action-linux'
# setup-python: 'true'
# tools: 'tools_ifw tools_qtcreator,qt.tools.qtcreator'
# set-env: 'true'
# tools-only: 'false'
# aqtversion: '==2.1.*'
# py7zrversion: '==0.19.*'
# extra: '--external 7z'
# - uses: actions/checkout@v3
# with:
# fetch-depth: 10
# - uses: awalsh128/cache-apt-pkgs-action@latest
# with:
# packages: p7zip p7zip-full python3 python3-pip libgl-dev mesa-common-dev libpulse-dev libxcb-* libxkbcommon-x11-0
# version: 1.0
# - name: Install Qt
# run: |
# if [ ! -f $QT_BIN_DIR/qmake ]; then \
# python3 -m pip install --user $(whoami) --upgrade pip && \
# export PATH=$HOME/.local/bin:$PATH && \
# python3 -m pip install -U aqtinstall requests py7zr && \
# python3 -m pip show aqtinstall && \
# python3 -m aqt install-qt linux desktop $QT_VERSION gcc_64 -m all -O $HOME/Qt && \
# python3 -m aqt install-tool linux desktop tools_ifw -O $HOME/Qt ; \
# fi
# - name: Cache Qt
# uses: actions/cache@v3
# id: cache-qt
# with:
# key: qt-5.15.2-linux
# path: "$HOME/Qt"
# - name: Build project
# run: bash deploy/build_linux.sh
# ------------------------------------------------------
Build-Windows:
name: Build-Windows
runs-on: windows-latest
continue-on-error: true
strategy:
matrix:
arch: [32, 64]
include:
- qt-arch: 'win32_msvc2019'
arch: 32
- qt-msvc-path: 'msvc2019'
arch: 32
- msvc-arch: 'x86'
arch: 32
- qt-arch: 'win64_msvc2019_64'
arch: 64
- qt-msvc-path: 'msvc2019_64'
arch: 64
- msvc-arch: 'x64'
arch: 64
env:
QT_VERSION: 5.15.2
QIF_VERSION: 4.5
BUILD_ARCH: ${{ matrix.arch }}
steps:
- name: 'Get sources'
uses: actions/checkout@v3
with:
submodules: 'true'
fetch-depth: 10
- name: 'Install Qt'
uses: jurplel/install-qt-action@v3
with:
version: ${{ env.QT_VERSION }}
host: 'windows'
target: 'desktop'
arch: '${{ matrix.qt-arch }}'
dir: ${{ runner.temp }}
setup-python: 'true'
tools: 'tools_ifw'
set-env: 'true'
extra: '--external 7z'
- name: 'Setup mvsc'
uses: ilammy/msvc-dev-cmd@v1
with:
arch: ${{ matrix.msvc-arch }}
- name: 'Build project'
shell: cmd
run: |
set BUILD_ARCH=${{ env.BUILD_ARCH }}
set QT_BIN_DIR="${{ runner.temp }}\\Qt\\${{ env.QT_VERSION }}\\${{ matrix.qt-msvc-path }}\\bin"
set QIF_BIN_DIR="${{ runner.temp }}\\Qt\\Tools\\QtInstallerFramework\\${{ env.QIF_VERSION }}\\bin"
call deploy\\build_windows.bat
# - name: 'Upload artifact'
# uses: actions/upload-artifact@v3
# with:
# name: AmneziaVPN_x${{ env.BUILD_ARCH }}
# path: AmneziaVPN_x${{ env.BUILD_ARCH }}.exe
# ------------------------------------------------------
Build-IOS:
name: Build-IOS
runs-on: macos-latest
env:
QT_VERSION: 5.15.2
QIF_VERSION: 4.4
steps:
- name: Setup xcode
uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '13.4'
- name: Install Qt
uses: jurplel/install-qt-action@v3
with:
version: ${{ env.QT_VERSION }}
host: 'mac'
target: 'ios'
dir: ${{ runner.temp }}
setup-python: 'true'
set-env: 'true'
extra: '--external 7z'
- name: Install go
uses: actions/setup-go@v3
- name: Setup gomobile
run: |
export PATH=$PATH:~/go/bin
go install golang.org/x/mobile/cmd/gomobile@latest
gomobile init
- name: 'Get sources'
uses: actions/checkout@v3
with:
submodules: 'true'
fetch-depth: 10
- name: Build project
run: |
export QT_BIN_DIR="${{ runner.temp }}/Qt/${{ env.QT_VERSION }}/ios/bin"
export QT_IOS_BIN=$QT_BIN_DIR
export PATH=$PATH:~/go/bin
bash deploy/build_ios.sh
# ------------------------------------------------------
# Build-MacOS:
# name: Build-MacOS
# runs-on: ubuntu-latest
# env:
# QT_VERSION: 5.15.2
# QIF_VERSION: 4.4
# steps:
# - name: Install Qt
# uses: jurplel/install-qt-action@v3
# with:
# version: '5.15.2'
# host: 'mac'
# target: 'desktop'
# arch: 'clang_64'
# dir: '${{ github.workspace }}/Qt/'
# install-deps: 'true'
# modules: 'qtcharts'
# archives: 'qtbase qtsvg'
# cache: 'true'
# cache-key-prefix: 'install-qt-action-mac'
# setup-python: 'true'
# tools: 'tools_ifw tools_qtcreator,qt.tools.qtcreator'
# set-env: 'true'
# tools-only: 'false'
# aqtversion: '==2.1.*'
# py7zrversion: '==0.19.*'
# extra: '--external 7z'
# - uses: actions/checkout@v3
# with:
# fetch-depth: 10
# - name: Build project
# run: bash deploy/build_macos.sh