mirror of https://gitlab.com/pamhyr/pamhyr2
ci: Refactoring CI pipeline.
parent
c59edf4661
commit
5d6ae31ee9
316
.gitlab-ci.yml
316
.gitlab-ci.yml
|
|
@ -15,96 +15,55 @@
|
|||
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
stages:
|
||||
- downloads
|
||||
- build
|
||||
- test
|
||||
- package
|
||||
- release
|
||||
|
||||
#############
|
||||
# DOWNLOADS #
|
||||
#############
|
||||
|
||||
dl-mage-linux:
|
||||
stage: downloads
|
||||
tags:
|
||||
- linux
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
script:
|
||||
- curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/Test6/downloads/packages/mage_linux.tgz
|
||||
- mkdir -p mage-linux
|
||||
- cd mage-linux
|
||||
- tar xvf ../mage.tgz
|
||||
artifacts:
|
||||
paths:
|
||||
- mage-linux/mage
|
||||
- mage-linux/mage_extraire
|
||||
- mage-linux/mailleurPF
|
||||
|
||||
dl-mage-windows:
|
||||
stage: downloads
|
||||
tags:
|
||||
- linux
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
script:
|
||||
- curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/Test6/downloads/packages/mage_windows.tgz
|
||||
- mkdir -p mage-windows
|
||||
- cd mage-windows
|
||||
- tar xvf ../mage.tgz
|
||||
artifacts:
|
||||
paths:
|
||||
- mage-windows/mage.exe
|
||||
- mage-windows/mage_extraire.exe
|
||||
- mage-windows/mailleurPF.exe
|
||||
|
||||
#########
|
||||
# BUILD #
|
||||
#########
|
||||
|
||||
build-mage-linux:
|
||||
stage: build
|
||||
tags:
|
||||
- linux
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
script:
|
||||
- curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/Test6/downloads/packages/mage_linux.tgz
|
||||
- mkdir -p mage
|
||||
- cd mage
|
||||
- tar xvf ../mage.tgz
|
||||
artifacts:
|
||||
paths:
|
||||
- mage/mage
|
||||
- mage/mage_extraire
|
||||
- mage/mailleurPF
|
||||
|
||||
# build-mage-linux:
|
||||
# stage: build
|
||||
# tags:
|
||||
# - linux
|
||||
# rules:
|
||||
# - if: $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
# variables:
|
||||
# GIT_SUBMODULE_STRATEGY: recursive
|
||||
# GIT_SUBMODULE_DEPTH: 20
|
||||
# script:
|
||||
# - cd mage/src/
|
||||
# - mkdir -p build
|
||||
# - cd build
|
||||
# - cmake ..
|
||||
# - make
|
||||
# artifacts:
|
||||
# paths:
|
||||
# - mage/src/build/mage
|
||||
# - mage/src/build/mage_extraire
|
||||
# - mage/src/build/mailleurPF
|
||||
|
||||
build-mage-windows:
|
||||
stage: build
|
||||
tags:
|
||||
- linux
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
script:
|
||||
- curl -L -o mage.tgz https://gitlab.irstea.fr/jean-baptiste.faure/mage/-/releases/Test6/downloads/packages/mage_windows.tgz
|
||||
- mkdir -p mage
|
||||
- cd mage
|
||||
- tar xvf ../mage.tgz
|
||||
artifacts:
|
||||
paths:
|
||||
- mage/mage.exe
|
||||
- mage/mage_extraire.exe
|
||||
- mage/mailleurPF.exe
|
||||
|
||||
# build-mage-windows:
|
||||
# stage: build
|
||||
# tags:
|
||||
# - wine
|
||||
# rules:
|
||||
# - if: $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
# variables:
|
||||
# GIT_SUBMODULE_STRATEGY: recursive
|
||||
# GIT_SUBMODULE_DEPTH: 20
|
||||
# script:
|
||||
# - cd mage/src/
|
||||
# - sed s/add_compile_definitions(win)/add_compile_definitions(windows)/ CMakeLists.txt > __tmp__
|
||||
# - echo set(CMAKE_Fortran_COMPILER "C:/Program\ Files/gcc/bin/gfortran.exe") > CMakeLists.txt
|
||||
# - echo set(CMAKE_MAKE_PROGRAM "C:/Program Files\ \(x86\)/GnuWin32/bin/make.exe") >> CMakeLists.txt
|
||||
# - type __tmp__ >> CMakeLists.txt
|
||||
# - mkdir build
|
||||
# - cd build
|
||||
# - cmake -G "MinGW Makefiles" ..
|
||||
# - make
|
||||
# artifacts:
|
||||
# paths:
|
||||
# - mage/src/build/mage.exe
|
||||
# - mage/src/build/mage_extraire.exe
|
||||
# - mage/src/build/mailleurPF.exe
|
||||
|
||||
build:
|
||||
set-version:
|
||||
stage: build
|
||||
tags:
|
||||
- linux
|
||||
|
|
@ -126,6 +85,38 @@ build-lang:
|
|||
paths:
|
||||
- src/lang/*.qm
|
||||
|
||||
build-linux:
|
||||
stage: build
|
||||
tags:
|
||||
- linux
|
||||
script:
|
||||
- mkdir -p linux
|
||||
- cd linux
|
||||
# Setup virtual env
|
||||
- python3 -m venv linux-venv
|
||||
- . linux-venv/bin/activate
|
||||
- pip3 install -r ../requirements.txt
|
||||
# Run Pyinstaller
|
||||
- pyinstaller -y --paths linux-venv/lib/python3.8/site-packages ../src/pamhyr.py
|
||||
artifacts:
|
||||
paths:
|
||||
- linux/dist/pamhyr
|
||||
|
||||
build-windows:
|
||||
stage: build
|
||||
tags:
|
||||
- wine
|
||||
script:
|
||||
- mkdir windows
|
||||
- cd windows
|
||||
# Setup env
|
||||
- python -m pip install -r ..\requirements.txt
|
||||
# Run Pyinstaller
|
||||
- pyinstaller -y ../src/pamhyr.py
|
||||
artifacts:
|
||||
paths:
|
||||
- windows/dist/pamhyr
|
||||
|
||||
#########
|
||||
# TESTS #
|
||||
#########
|
||||
|
|
@ -139,47 +130,151 @@ test:
|
|||
# PACKAGES #
|
||||
############
|
||||
|
||||
linux-package:
|
||||
linux-package-dir:
|
||||
stage: package
|
||||
tags:
|
||||
- release
|
||||
- linux
|
||||
needs:
|
||||
- job: dl-mage-linux
|
||||
artifacts: true
|
||||
- job: set-version
|
||||
artifacts: true
|
||||
- job: build-lang
|
||||
artifacts: true
|
||||
- job: build
|
||||
artifacts: true
|
||||
- job: build-mage-linux
|
||||
- job: build-linux
|
||||
artifacts: true
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
artifacts:
|
||||
paths:
|
||||
- packages/pamhyr-gnulinux-amd64.tar.xz
|
||||
- linux/pamhyr
|
||||
script:
|
||||
- cd packages
|
||||
- ./linux.sh
|
||||
- cd linux
|
||||
- mkdir -p pamhyr
|
||||
# Copy Pamhyr info
|
||||
- cp -v ../VERSION pamhyr/
|
||||
- cp -v ../AUTHORS pamhyr/
|
||||
- cp -v ../LICENSE pamhyr/
|
||||
# Copy mage
|
||||
- mkdir -p pamhyr/mage
|
||||
- cp -v ../mage-linux/* pamhyr/mage/
|
||||
# Copy Pamhyr
|
||||
- cp -r ../dist/pamhyr pamhyr/
|
||||
# Copy Pamhyr resources
|
||||
- mkdir -p pamhyr/pamhyr/View
|
||||
- mkdir -p pamhyr/pamhyr/View/ui
|
||||
- mkdir -p pamhyr/pamhyr/View/ui/Widgets
|
||||
- cp -r ../src/View/ui/*.ui pamhyr/pamhyr/View/ui/
|
||||
- cp -r ../src/View/ui/ressources/ pamhyr/pamhyr/View/ui
|
||||
- cp -r ../src/View/ui/Widgets/*.ui pamhyr/pamhyr/View/ui/Widgets
|
||||
# Copy lang
|
||||
- mkdir -p pamhyr/pamhyr/lang
|
||||
- cp -r ../src/lang/*.qm pamhyr/pamhyr/lang
|
||||
# Copy tests cases
|
||||
- mkdir -p pamhyr/tests_cases/
|
||||
- mkdir -p pamhyr/tests_cases/Saar
|
||||
- cp ../tests_cases/Saar/Saar.pamhyr pamhyr/tests_cases/Saar/
|
||||
|
||||
windows-package:
|
||||
linux-package-tar:
|
||||
stage: package
|
||||
tags:
|
||||
- release
|
||||
- linux
|
||||
needs:
|
||||
- job: linux-package-dir
|
||||
artifacts: true
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
artifacts:
|
||||
paths:
|
||||
- linux/pamhyr-gnulinux.tar.xz
|
||||
script:
|
||||
- cd linux
|
||||
- tar --xz -cf pamhyr-gnulinux.tar.xz ./pamhyr --checkpoint=.100
|
||||
|
||||
windows-package-dir:
|
||||
stage: package
|
||||
tags:
|
||||
- release
|
||||
- wine
|
||||
needs:
|
||||
- job: dl-mage-windows
|
||||
artifacts: true
|
||||
- job: set-version
|
||||
artifacts: true
|
||||
- job: build-lang
|
||||
artifacts: true
|
||||
- job: build
|
||||
artifacts: true
|
||||
- job: build-mage-windows
|
||||
- job: build-windows
|
||||
artifacts: true
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
artifacts:
|
||||
paths:
|
||||
- packages/pamhyr-win-amd64.exe
|
||||
- windows/pamhyr
|
||||
script:
|
||||
- cd packages
|
||||
- ./windows.bat
|
||||
- cd windows
|
||||
- mkdir pamhyr
|
||||
# Copy Pamhyr info
|
||||
- copy /y ..\VERSION pamhyr\
|
||||
- copy /y ..\AUTHORS pamhyr\
|
||||
- copy /y ..\LICENSE pamhyr\
|
||||
# Copy mage
|
||||
- mkdir pamhyr\mage
|
||||
- copy /y ..\mage-linux\* pamhyr\mage\
|
||||
# Copy Pamhyr
|
||||
- mkdir pamhyr\pamhyr
|
||||
- copy /y ..\dist\pamhyr pamhyr\
|
||||
# Copy Pamhyr resources
|
||||
- mkdir pamhyr\pamhyr\View
|
||||
- mkdir pamhyr\pamhyr\View\ui
|
||||
- mkdir pamhyr\pamhyr\View\ui\Widgets
|
||||
- copy /y ..\src\View\ui\*.ui pamhyr\pamhyr\View\ui\
|
||||
- copy /y ..\src\View\ui\ressources\ pamhyr\pamhyr\View\ui
|
||||
- copy /y ..\src\View\ui\Widgets\*.ui pamhyr\pamhyr\View\ui\Widgets
|
||||
# Copy lang
|
||||
- mkdir pamhyr\pamhyr\lang
|
||||
- copy /y ..\src\lang\*.qm pamhyr\pamhyr\lang
|
||||
# Copy tests cases
|
||||
- mkdir pamhyr\tests_cases\
|
||||
- mkdir pamhyr\tests_cases\Saar
|
||||
- copy ..\tests_cases\Saar\Saar.pamhyr pamhyr\tests_cases\Saar\
|
||||
|
||||
windows-package-zip:
|
||||
stage: package
|
||||
tags:
|
||||
- release
|
||||
- linux
|
||||
needs:
|
||||
- job: windows-package-dir
|
||||
artifacts: true
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
artifacts:
|
||||
paths:
|
||||
- windows/pamhyr-windows.zip
|
||||
script:
|
||||
- cd windows
|
||||
- zip -r pamhyr-windows.zip pamhyr
|
||||
|
||||
windows-package-exe:
|
||||
stage: package
|
||||
tags:
|
||||
- release
|
||||
- wine
|
||||
needs:
|
||||
- job: windows-package-dir
|
||||
artifacts: true
|
||||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
artifacts:
|
||||
paths:
|
||||
- windows/pamhyr-windows.exe
|
||||
script:
|
||||
- cd windows
|
||||
- copy /y ..\packages\make-windows-exe.bat make-windows-exe.bat
|
||||
- copy /y ..\packages\pamhyr.nsi pamhyr.nsi
|
||||
- .\make-windows-exe.bat
|
||||
|
||||
###########
|
||||
# RELEASE #
|
||||
|
|
@ -191,16 +286,19 @@ tag-release:
|
|||
- release
|
||||
- linux
|
||||
needs:
|
||||
- job: linux-package
|
||||
- job: linux-package-tar
|
||||
artifacts: true
|
||||
- job: windows-package
|
||||
- job: windows-package-zip
|
||||
artifacts: true
|
||||
- job: windows-package-exe
|
||||
artifacts: true
|
||||
rules:
|
||||
- if: $CI_COMMIT_TAG
|
||||
artifacts:
|
||||
paths:
|
||||
- packages/pamhyr-gnulinux-amd64.tar.xz
|
||||
- packages/pamhyr-win-amd64.exe
|
||||
- linux/pamhyr-gnulinux.tar.xz
|
||||
- packages/pamhyr-windows.zip
|
||||
- packages/pamhyr-windows.exe
|
||||
script:
|
||||
- cd packages
|
||||
release:
|
||||
|
|
@ -210,11 +308,15 @@ tag-release:
|
|||
ref: '$CI_COMMIT_SHA'
|
||||
assets:
|
||||
links:
|
||||
- name: 'GNU/Linux amd64 (tar.xz)'
|
||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/packages/pamhyr-gnulinux-amd64.tar.xz'
|
||||
filepath: '/packages/pamhyr-gnulinux-amd64.tar.xz'
|
||||
- name: 'GNU/Linux (tar.xz)'
|
||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/packages/pamhyr-gnulinux.tar.xz'
|
||||
filepath: '/linux/pamhyr-gnulinux.tar.xz'
|
||||
link_type: 'package'
|
||||
- name: 'Windows amd64 (exe)'
|
||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/packages/pamhyr-win-amd64.exe'
|
||||
filepath: '/packages/pamhyr-win-amd64.exe'
|
||||
- name: 'Windows (exe)'
|
||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/packages/pamhyr-windows.exe'
|
||||
filepath: '/windows/pamhyr-windows.exe'
|
||||
link_type: 'package'
|
||||
- name: 'Windows (zip)'
|
||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/packages/pamhyr-windows.zip'
|
||||
filepath: '/windows/pamhyr-windows.zip'
|
||||
link_type: 'package'
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
Name "PAMHYR"
|
||||
OutFile "pamhyr-win-amd64.exe"
|
||||
LicenseData "..\LICENSE"
|
||||
LicenseData "pamhyr\LICENSE"
|
||||
LicenseText "I Agree"
|
||||
|
||||
RequestExecutionLevel admin
|
||||
|
|
@ -28,7 +28,7 @@ Section "PAMHYR"
|
|||
|
||||
SetOutPath $INSTDIR
|
||||
|
||||
File /r "dist\pamhyr\*"
|
||||
File /r "pamhyr\*"
|
||||
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\PAMHYR" "DisplayName" "NSIS PAMHYR"
|
||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\PAMHYR" "UninstallString" "$INSTDIR\uninstall.exe"
|
||||
|
|
@ -42,7 +42,7 @@ Section "Start Menu Shortcuts"
|
|||
|
||||
CreateDirectory "$SMPROGRAMS\PAMHYR"
|
||||
CreateShortcut "$SMPROGRAMS\PAMHYR\Uninstall.lnk" "$INSTDIR\uninstall.exe"
|
||||
CreateShortcut "$SMPROGRAMS\PAMHYR\PAMHYR.lnk" "$INSTDIR\pamhyr.exe"
|
||||
CreateShortcut "$SMPROGRAMS\PAMHYR\PAMHYR.lnk" "$INSTDIR\pamhyr\pamhyr.exe"
|
||||
|
||||
SectionEnd
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue