流水线脚本。
This commit is contained in:
132
.gitlab-ci.yml
Normal file
132
.gitlab-ci.yml
Normal file
@@ -0,0 +1,132 @@
|
||||
stages:
|
||||
- build
|
||||
- release
|
||||
|
||||
variables:
|
||||
VS_DIR: "C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools"
|
||||
VS_ENV: "C:/Program Files (x86)/Microsoft Visual Studio/2022/BuildTools/Common7/Tools/Microsoft.VisualStudio.DevShell.dll"
|
||||
CMAKE_BUILD_TYPE: Release
|
||||
PROJECT_VERSION: "0.2.4"
|
||||
CMAKE_GENERATOR: "Ninja"
|
||||
PROJECT_NAME: "frelay"
|
||||
ARCH_TYPE: x64
|
||||
QT_PATH: "C:/Dev/qt6"
|
||||
QT_XP: "C:/Qt/Qt5.7.1"
|
||||
RELEASENAME: "$PROJECT_NAME-v$PROJECT_VERSION"
|
||||
DESCRIPTION: |
|
||||
# BUG修正
|
||||
|
||||
- 上传方完成后,接收端未接收完毕不能退出的问题。
|
||||
- 主动中断检查等待后,软件崩溃。
|
||||
|
||||
# 优化
|
||||
|
||||
- 优化访问文件过多时,界面有卡顿情况。
|
||||
- 优化资源占用多的问题。
|
||||
|
||||
# 功能新增
|
||||
|
||||
- 支持弹窗查看文件(夹)属性。
|
||||
- 支持删除、重命名、新建文件(夹)。
|
||||
- 文件管理器新增直接可以下载/上传功能。
|
||||
- Console端,断连或者连接失败自动退出。
|
||||
|
||||
# 关于预构建包
|
||||
|
||||
Windows XP系统请使用`Windows-GNU`版本。
|
||||
|
||||
# Windows运行器配置
|
||||
.win-template: &win
|
||||
tags:
|
||||
- win
|
||||
before_script:
|
||||
- echo "Running on Windows runner"
|
||||
artifacts:
|
||||
expire_in: 1 hour
|
||||
|
||||
# Windows构建 - 在win运行器上执行
|
||||
build-xp:
|
||||
<<: *win
|
||||
stage: build
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
before_script:
|
||||
- $env:QT_DIR = "$env:QT_XP/5.7/mingw53_32"
|
||||
- $env:COMPILE_DIR = "$env:QT_XP/Tools/mingw530_32"
|
||||
- $env:PATH = "$env:COMPILE_DIR/bin;$env:PATH"
|
||||
script:
|
||||
- Write-Host "开始Windows XP构建..."
|
||||
- Write-Host "$env:QT_DIR"
|
||||
- Write-Host "$env:COMPILE_DIR"
|
||||
- cmake -Bbuild-xp -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" -DCMAKE_PREFIX_PATH="$env:QT_DIR" -DQT_DEFAULT_MAJOR_VERSION=5 -DCOMPILE_GUI=ON -DRELEASE_MARK=ON
|
||||
- cmake --build build-xp --config "$CMAKE_BUILD_TYPE"
|
||||
- Write-Host "package windows start..."
|
||||
- cd build-xp
|
||||
- cpack
|
||||
artifacts:
|
||||
paths:
|
||||
- build-xp/frelay-release-v$PROJECT_VERSION-Windows-GNU.exe
|
||||
- build-xp/frelay-release-v$PROJECT_VERSION-Windows-GNU.zip
|
||||
|
||||
build-windows:
|
||||
<<: *win
|
||||
stage: build
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
script:
|
||||
- Import-Module $VS_ENV
|
||||
- Enter-VsDevShell -VsInstallPath $VS_DIR -DevCmdArguments "-arch=$ARCH_TYPE"
|
||||
- cmake -Bbuild -G "$CMAKE_GENERATOR" -DCMAKE_BUILD_TYPE="$CMAKE_BUILD_TYPE" -DCMAKE_PREFIX_PATH="$QT_PATH" -DQT_DEFAULT_MAJOR_VERSION=6 -DCOMPILE_GUI=ON -DRELEASE_MARK=ON
|
||||
- cmake --build build --config "$CMAKE_BUILD_TYPE"
|
||||
- Write-Host "package windows start..."
|
||||
- cd build
|
||||
- cpack
|
||||
artifacts:
|
||||
paths:
|
||||
- build/frelay-release-v$PROJECT_VERSION-Windows-MSVC.exe
|
||||
- build/frelay-release-v$PROJECT_VERSION-Windows-MSVC.zip
|
||||
|
||||
create-release:
|
||||
stage: release
|
||||
needs: ["build-windows", "build-xp"]
|
||||
tags:
|
||||
- pi
|
||||
variables:
|
||||
RELEASE_TAG: "v$PROJECT_VERSION"
|
||||
RELEASE_NAME: "$RELEASENAME"
|
||||
RELEASE_DESCRIPTION: "$DESCRIPTION"
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
script:
|
||||
- echo "start release"
|
||||
- >
|
||||
curl --fail --show-error --header "JOB-TOKEN: $CI_JOB_TOKEN" \
|
||||
--upload-file "build/frelay-release-v$PROJECT_VERSION-Windows-MSVC.exe" \
|
||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-MSVC.exe"
|
||||
- >
|
||||
curl --fail --show-error --header "JOB-TOKEN: $CI_JOB_TOKEN" \
|
||||
--upload-file "build/frelay-release-v$PROJECT_VERSION-Windows-MSVC.zip" \
|
||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-MSVC.zip"
|
||||
- >
|
||||
curl --fail --show-error --header "JOB-TOKEN: $CI_JOB_TOKEN" \
|
||||
--upload-file "build-xp/frelay-release-v$PROJECT_VERSION-Windows-GNU.exe" \
|
||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-GNU.exe"
|
||||
- >
|
||||
curl --fail --show-error --header "JOB-TOKEN: $CI_JOB_TOKEN" \
|
||||
--upload-file "build-xp/frelay-release-v$PROJECT_VERSION-Windows-GNU.zip" \
|
||||
"${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-GNU.zip"
|
||||
|
||||
release:
|
||||
tag_name: $RELEASE_TAG
|
||||
name: $RELEASE_NAME
|
||||
description: $RELEASE_DESCRIPTION
|
||||
assets:
|
||||
links:
|
||||
- name: "frelay-release-v$PROJECT_VERSION-Windows-MSVC.exe"
|
||||
url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-MSVC.exe"
|
||||
- name: "frelay-release-v$PROJECT_VERSION-Windows-MSVC.zip"
|
||||
url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-MSVC.zip"
|
||||
- name: "frelay-release-v$PROJECT_VERSION-Windows-GNU.exe"
|
||||
url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-GNU.exe"
|
||||
- name: "frelay-release-v$PROJECT_VERSION-Windows-GNU.zip"
|
||||
url: "${CI_API_V4_URL}/projects/${CI_PROJECT_ID}/packages/generic/releases/v$PROJECT_VERSION/frelay-release-v$PROJECT_VERSION-Windows-GNU.zip"
|
||||
Reference in New Issue
Block a user