44 - build
55 - release
66
7+ variables :
8+ APP_NAME : " App"
9+
710check_version :
811 stage : validate
912 image : reg.mikumikumi.xyz/mirror/bash:latest
@@ -27,13 +30,12 @@ check_version:
2730 REPORT_FILE : report-unit.xml
2831 rules :
2932 - changes :
30- - app/**
31- - tool/**
33+ - app/**
3234 script :
33- - pip install uv
34- - uv sync
35- - uv run pyside-cli build --stage rc
36- - uv run pyside-cli test -- -v --junitxml=${REPORT_FILE}
35+ - pip install uv
36+ - uv sync
37+ - uv run pyside-cli build --stage rc
38+ - uv run pyside-cli test -- -v --junitxml=${REPORT_FILE}
3739 artifacts :
3840 reports :
3941 junit : report-*.xml
@@ -44,13 +46,12 @@ check_version:
4446 - pip install uv
4547 - uv sync
4648 - uv run pyside-cli build --onedir
47- - mv ./build/App ./Package
4849 rules :
4950 - if : $CI_COMMIT_TAG
5051 artifacts :
5152 name : " build-${CI_COMMIT_SHA}"
5253 paths :
53- - ./release/App- *
54+ - ./release/*
5455 expire_in : 3 days
5556
5657test_windows_x64 :
@@ -74,23 +75,26 @@ build_whl:
7475 - uv sync
7576 - uv run pyside-cli build --stage rc
7677 - uv build --no-sources
77- - mkdir release
78+ - mkdir -p release
7879 - mv dist/*.whl release
7980 rules :
8081 - if : $CI_COMMIT_TAG
8182 artifacts :
8283 name : " build-${CI_COMMIT_SHA}"
8384 paths :
84- - ./release/*.whl
85+ - ./release/*
8586 expire_in : 3 days
8687
8788build_windows_x64 :
8889 extends : .build
8990 tags :
9091 - windows
9192 after_script :
93+ - Move-Item -Path ./build/${APP_NAME} -Destination ./build/${APP_NAME}-windows-x64
9294 - New-Item -Path release -Type Directory
93- - Compress-Archive -Path .\Package\ -DestinationPath .\release\App-windows-x64.zip -CompressionLevel Optimal
95+ - Compress-Archive -Path ./build/${APP_NAME}-windows-x64/ `
96+ -DestinationPath ./release/${APP_NAME}-windows-x64-${CI_COMMIT_TAG}.zip `
97+ -CompressionLevel Optimal
9498
9599build_linux_x64 :
96100 extends : .build
@@ -99,8 +103,31 @@ build_linux_x64:
99103 - apt-get update
100104 - apt-get install -y patchelf
101105 after_script :
102- - mkdir release
103- - tar -czf ./release/App-linux-x64.tar.gz Package/
106+ - mv ./build/${APP_NAME} ./build/${APP_NAME}-linux-x64
107+ - mkdir -p release
108+ - cd build
109+ - tar -czf ../release/${APP_NAME}-linux-x64-${CI_COMMIT_TAG}.tar.gz \
110+ ${APP_NAME}-linux-x64/
111+
112+ # build_macos_arm64:
113+ # stage: build
114+ # tags:
115+ # - macos
116+ # script:
117+ # - pip install uv
118+ # - uv sync
119+ # - uv run pyside-cli build
120+ # - xattr -cr build/${APP_NAME}.app
121+ # - brew install create-dmg
122+ # - ./build-dmg.sh
123+ # - mkdir -p release
124+ # - cd build
125+ # - zip -r "../release/${APP_NAME}-macos-arm64-${CI_COMMIT_TAG}.zip" "./${APP_NAME}.app"
126+ # artifacts:
127+ # name: "build-${CI_COMMIT_SHA}"
128+ # paths:
129+ # - ./release/*
130+ # expire_in: 3 days
104131
105132# bug: glab issues in private repositories
106133# https://gitlab.com/gitlab-org/cli/-/issues/7859
@@ -115,11 +142,12 @@ release:
115142 artifacts : true
116143 - job : build_linux_x64
117144 artifacts : true
145+ # - job: build_macos_arm64
146+ # artifacts: true
118147 rules :
119148 - if : $CI_COMMIT_TAG
120149 script :
121150 - export GITLAB_HOST=$CI_SERVER_HOST
122151 - export GITLAB_TOKEN=$CI_JOB_TOKEN
123152 - glab auth login --job-token $CI_JOB_TOKEN --hostname $CI_SERVER_HOST --api-protocol $CI_SERVER_PROTOCOL
124153 - glab release create $CI_COMMIT_TAG --ref $CI_COMMIT_TAG -n "Release ${CI_COMMIT_TAG}" -F CHANGE.md ./release/*
125-
0 commit comments