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/>.
|
# along with this program. If not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
stages:
|
stages:
|
||||||
|
- downloads
|
||||||
- build
|
- build
|
||||||
- test
|
- test
|
||||||
- package
|
- package
|
||||||
- release
|
- 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 #
|
||||||
#########
|
#########
|
||||||
|
|
||||||
build-mage-linux:
|
set-version:
|
||||||
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:
|
|
||||||
stage: build
|
stage: build
|
||||||
tags:
|
tags:
|
||||||
- linux
|
- linux
|
||||||
|
|
@ -126,6 +85,38 @@ build-lang:
|
||||||
paths:
|
paths:
|
||||||
- src/lang/*.qm
|
- 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 #
|
# TESTS #
|
||||||
#########
|
#########
|
||||||
|
|
@ -139,47 +130,151 @@ test:
|
||||||
# PACKAGES #
|
# PACKAGES #
|
||||||
############
|
############
|
||||||
|
|
||||||
linux-package:
|
linux-package-dir:
|
||||||
stage: package
|
stage: package
|
||||||
tags:
|
tags:
|
||||||
- release
|
- release
|
||||||
- linux
|
- linux
|
||||||
needs:
|
needs:
|
||||||
|
- job: dl-mage-linux
|
||||||
|
artifacts: true
|
||||||
|
- job: set-version
|
||||||
|
artifacts: true
|
||||||
- job: build-lang
|
- job: build-lang
|
||||||
artifacts: true
|
artifacts: true
|
||||||
- job: build
|
- job: build-linux
|
||||||
artifacts: true
|
|
||||||
- job: build-mage-linux
|
|
||||||
artifacts: true
|
artifacts: true
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- packages/pamhyr-gnulinux-amd64.tar.xz
|
- linux/pamhyr
|
||||||
script:
|
script:
|
||||||
- cd packages
|
- cd linux
|
||||||
- ./linux.sh
|
- 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
|
stage: package
|
||||||
tags:
|
tags:
|
||||||
- release
|
- release
|
||||||
- wine
|
- wine
|
||||||
needs:
|
needs:
|
||||||
|
- job: dl-mage-windows
|
||||||
|
artifacts: true
|
||||||
|
- job: set-version
|
||||||
|
artifacts: true
|
||||||
- job: build-lang
|
- job: build-lang
|
||||||
artifacts: true
|
artifacts: true
|
||||||
- job: build
|
- job: build-windows
|
||||||
artifacts: true
|
|
||||||
- job: build-mage-windows
|
|
||||||
artifacts: true
|
artifacts: true
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- packages/pamhyr-win-amd64.exe
|
- windows/pamhyr
|
||||||
script:
|
script:
|
||||||
- cd packages
|
- cd windows
|
||||||
- ./windows.bat
|
- 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 #
|
# RELEASE #
|
||||||
|
|
@ -191,16 +286,19 @@ tag-release:
|
||||||
- release
|
- release
|
||||||
- linux
|
- linux
|
||||||
needs:
|
needs:
|
||||||
- job: linux-package
|
- job: linux-package-tar
|
||||||
artifacts: true
|
artifacts: true
|
||||||
- job: windows-package
|
- job: windows-package-zip
|
||||||
|
artifacts: true
|
||||||
|
- job: windows-package-exe
|
||||||
artifacts: true
|
artifacts: true
|
||||||
rules:
|
rules:
|
||||||
- if: $CI_COMMIT_TAG
|
- if: $CI_COMMIT_TAG
|
||||||
artifacts:
|
artifacts:
|
||||||
paths:
|
paths:
|
||||||
- packages/pamhyr-gnulinux-amd64.tar.xz
|
- linux/pamhyr-gnulinux.tar.xz
|
||||||
- packages/pamhyr-win-amd64.exe
|
- packages/pamhyr-windows.zip
|
||||||
|
- packages/pamhyr-windows.exe
|
||||||
script:
|
script:
|
||||||
- cd packages
|
- cd packages
|
||||||
release:
|
release:
|
||||||
|
|
@ -210,11 +308,15 @@ tag-release:
|
||||||
ref: '$CI_COMMIT_SHA'
|
ref: '$CI_COMMIT_SHA'
|
||||||
assets:
|
assets:
|
||||||
links:
|
links:
|
||||||
- name: 'GNU/Linux amd64 (tar.xz)'
|
- name: 'GNU/Linux (tar.xz)'
|
||||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/packages/pamhyr-gnulinux-amd64.tar.xz'
|
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/packages/pamhyr-gnulinux.tar.xz'
|
||||||
filepath: '/packages/pamhyr-gnulinux-amd64.tar.xz'
|
filepath: '/linux/pamhyr-gnulinux.tar.xz'
|
||||||
link_type: 'package'
|
link_type: 'package'
|
||||||
- name: 'Windows amd64 (exe)'
|
- name: 'Windows (exe)'
|
||||||
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/packages/pamhyr-win-amd64.exe'
|
url: '${CI_PROJECT_URL}/-/jobs/${CI_JOB_ID}/artifacts/raw/packages/pamhyr-windows.exe'
|
||||||
filepath: '/packages/pamhyr-win-amd64.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'
|
link_type: 'package'
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
Name "PAMHYR"
|
Name "PAMHYR"
|
||||||
OutFile "pamhyr-win-amd64.exe"
|
OutFile "pamhyr-win-amd64.exe"
|
||||||
LicenseData "..\LICENSE"
|
LicenseData "pamhyr\LICENSE"
|
||||||
LicenseText "I Agree"
|
LicenseText "I Agree"
|
||||||
|
|
||||||
RequestExecutionLevel admin
|
RequestExecutionLevel admin
|
||||||
|
|
@ -28,7 +28,7 @@ Section "PAMHYR"
|
||||||
|
|
||||||
SetOutPath $INSTDIR
|
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" "DisplayName" "NSIS PAMHYR"
|
||||||
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\PAMHYR" "UninstallString" "$INSTDIR\uninstall.exe"
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\PAMHYR" "UninstallString" "$INSTDIR\uninstall.exe"
|
||||||
|
|
@ -42,7 +42,7 @@ Section "Start Menu Shortcuts"
|
||||||
|
|
||||||
CreateDirectory "$SMPROGRAMS\PAMHYR"
|
CreateDirectory "$SMPROGRAMS\PAMHYR"
|
||||||
CreateShortcut "$SMPROGRAMS\PAMHYR\Uninstall.lnk" "$INSTDIR\uninstall.exe"
|
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
|
SectionEnd
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue