mirror of
https://gitlab.linphone.org/BC/public/flexisip-account-manager.git
synced 2026-01-17 10:08:05 +00:00
Fix FLEXIAPI-356 Cleanup and reorganize the pipeline to mutualize some things and save time
This commit is contained in:
parent
9d98e466eb
commit
da7b401a67
7 changed files with 64 additions and 40 deletions
|
|
@ -24,26 +24,30 @@ debian12-deploy:
|
|||
|
||||
remi-rocky8-deploy:
|
||||
extends: .deploy
|
||||
rules:
|
||||
- changes:
|
||||
- .gitlab-ci.yml
|
||||
script:
|
||||
- ./deploy_packages.sh rockylinux
|
||||
- ./deploy_packages.sh rockylinux 8
|
||||
needs:
|
||||
- remi-rocky8-package
|
||||
- remi-rocky8-test
|
||||
|
||||
remi-rocky9-deploy:
|
||||
extends: .deploy
|
||||
rules:
|
||||
- changes:
|
||||
- .gitlab-ci.yml
|
||||
script:
|
||||
- ./deploy_packages.sh rockylinux
|
||||
- ./deploy_packages.sh rockylinux 9
|
||||
needs:
|
||||
- remi-rocky9-package
|
||||
- remi-rocky9-test
|
||||
|
||||
.deploy:
|
||||
stage: deploy
|
||||
tags: ["docker"]
|
||||
only:
|
||||
- master
|
||||
- /^release/.*$/
|
||||
rules:
|
||||
- if: $CI_COMMIT_REF_NAME == "master"
|
||||
- if: $CI_COMMIT_REF_NAME =~ /^release/
|
||||
|
||||
before_script:
|
||||
- rm -f $CI_PROJECT_DIR/build/*devel*.rpm # Remove devel packages
|
||||
|
|
|
|||
|
|
@ -1,4 +1,6 @@
|
|||
rocky8-package:
|
||||
needs:
|
||||
- prepare-package
|
||||
extends: .package
|
||||
image: gitlab.linphone.org:4567/bc/public/docker/rocky8-php:$ROCKY_8_IMAGE_VERSION
|
||||
script:
|
||||
|
|
@ -8,9 +10,11 @@ rocky8-package:
|
|||
- dnf -y module enable php:remi-8.2
|
||||
- dnf -y update php\*
|
||||
- dnf -y install php-sodium
|
||||
- make rpm-el8
|
||||
- make package-el8
|
||||
|
||||
rocky9-package:
|
||||
needs:
|
||||
- prepare-package
|
||||
extends: .package
|
||||
image: gitlab.linphone.org:4567/bc/public/docker/rocky9-php:$ROCKY_9_IMAGE_VERSION
|
||||
script:
|
||||
|
|
@ -20,16 +24,18 @@ rocky9-package:
|
|||
- dnf -y module enable php:remi-8.2
|
||||
- dnf -y update php\*
|
||||
- dnf -y install php-sodium
|
||||
- make rpm-el9
|
||||
- make package-el9
|
||||
|
||||
debian12-package:
|
||||
needs:
|
||||
- prepare-package
|
||||
extends: .debian_package
|
||||
image: gitlab.linphone.org:4567/bc/public/docker/debian12-php:$DEBIAN_12_IMAGE_VERSION
|
||||
|
||||
.debian_package:
|
||||
extends: .package
|
||||
script:
|
||||
- make deb
|
||||
- make package-deb
|
||||
|
||||
remi-rocky8-package:
|
||||
image: gitlab.linphone.org:4567/bc/public/docker/rocky8-php:$ROCKY_8_IMAGE_VERSION
|
||||
|
|
@ -51,6 +57,9 @@ remi-rocky9-package:
|
|||
|
||||
.remi-rocky-package:
|
||||
extends: .package
|
||||
rules:
|
||||
- changes:
|
||||
- .gitlab-ci.yml
|
||||
script:
|
||||
# Remi
|
||||
- mkdir -p $CI_PROJECT_DIR/build
|
||||
|
|
@ -88,7 +97,13 @@ remi-rocky9-package:
|
|||
- build/*
|
||||
when: always
|
||||
expire_in: 1 day
|
||||
|
||||
variables:
|
||||
COMPOSER_CACHE_DIR: $CI_PROJECT_DIR/.composer/cache
|
||||
COMPOSER_ALLOW_SUPERUSER: 1
|
||||
|
||||
cache:
|
||||
key: ${CI_COMMIT_REF_SLUG}
|
||||
paths:
|
||||
- flexiapi/vendor/
|
||||
- .composer/cache
|
||||
|
|
|
|||
11
.gitlab-ci-files/prepare-package.yml
Normal file
11
.gitlab-ci-files/prepare-package.yml
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
prepare-package:
|
||||
tags: ["docker"]
|
||||
stage: prepare-package
|
||||
image: gitlab.linphone.org:4567/bc/public/docker/debian12-php:$DEBIAN_12_IMAGE_VERSION
|
||||
script:
|
||||
- make prepare-common
|
||||
artifacts:
|
||||
paths:
|
||||
- rpmbuild/*
|
||||
when: always
|
||||
expire_in: 1 day
|
||||
|
|
@ -3,19 +3,16 @@ rocky8-test:
|
|||
image: gitlab.linphone.org:4567/bc/public/docker/rocky8-php:$ROCKY_8_IMAGE_VERSION
|
||||
needs:
|
||||
- rocky8-package
|
||||
- remi-rocky8-package
|
||||
|
||||
rocky9-test:
|
||||
extends: .rocky-test
|
||||
image: gitlab.linphone.org:4567/bc/public/docker/rocky9-php:$ROCKY_9_IMAGE_VERSION
|
||||
needs:
|
||||
- rocky9-package
|
||||
- remi-rocky9-package
|
||||
|
||||
.rocky-test:
|
||||
extends: .test
|
||||
script:
|
||||
- ls build
|
||||
- yum -y localinstall build/*.rpm
|
||||
- cd /opt/belledonne-communications/share/flexisip-account-manager/flexiapi
|
||||
- composer install --ignore-platform-req=ext-sodium # Rocky 8 use the external library
|
||||
|
|
@ -36,31 +33,12 @@ debian12-test:
|
|||
- apt update
|
||||
- apt install -y ./build/*.deb
|
||||
- cd /opt/belledonne-communications/share/flexisip-account-manager/flexiapi
|
||||
- php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
|
||||
- php composer-setup.php
|
||||
- php -r "unlink('composer-setup.php');"
|
||||
- php composer.phar install
|
||||
- composer install
|
||||
- vendor/bin/phpcs
|
||||
- vendor/bin/phpmd . ansi phpmd.xml
|
||||
- php artisan key:generate
|
||||
- vendor/bin/phpunit --log-junit $CI_PROJECT_DIR/flexiapi_phpunit.log
|
||||
|
||||
remi-rocky8-test:
|
||||
extends: .test
|
||||
image: gitlab.linphone.org:4567/bc/public/docker/rocky8-php:$ROCKY_8_IMAGE_VERSION
|
||||
needs:
|
||||
- remi-rocky8-package
|
||||
script:
|
||||
- yum -y localinstall build/*.rpm
|
||||
|
||||
remi-rocky9-test:
|
||||
extends: .test
|
||||
image: gitlab.linphone.org:4567/bc/public/docker/rocky9-php:$ROCKY_9_IMAGE_VERSION
|
||||
needs:
|
||||
- remi-rocky9-package
|
||||
script:
|
||||
- yum -y localinstall build/*.rpm
|
||||
|
||||
mysql-latest-test:
|
||||
extends: .test
|
||||
image: gitlab.linphone.org:4567/bc/public/docker/debian12-php:$DEBIAN_12_IMAGE_VERSION
|
||||
|
|
@ -75,6 +53,9 @@ mysql-latest-test:
|
|||
DB_DATABASE: flexiapi
|
||||
DB_PASSWORD: flexiapi
|
||||
DB_USERNAME: root
|
||||
rules:
|
||||
- changes:
|
||||
- flexiapi/database/migrations/*
|
||||
script:
|
||||
- apt update
|
||||
- apt install -y ./build/*.deb
|
||||
|
|
|
|||
|
|
@ -7,11 +7,13 @@ variables:
|
|||
PHP_MSGPACK_REMI_VERSION: php-pecl-msgpack-2.2.0-3
|
||||
|
||||
include:
|
||||
- '.gitlab-ci-files/prepare-package.yml'
|
||||
- '.gitlab-ci-files/package.yml'
|
||||
- '.gitlab-ci-files/test.yml'
|
||||
- '.gitlab-ci-files/deploy.yml'
|
||||
|
||||
stages:
|
||||
- prepare-package
|
||||
- package
|
||||
- test
|
||||
- deploy
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ v2.0
|
|||
- Fix FLEXIAPI-350 Fix wrongly assigned variables in some views
|
||||
- Fix FLEXIAPI-351 Fix import of CSV generated on Windows
|
||||
- Fix FLEXIAPI-352 Add missing errors box in the password change form
|
||||
- Fix FLEXIAPI-356 Cleanup and reorganize the pipeline to mutualize some things and save time
|
||||
|
||||
v1.6
|
||||
----
|
||||
|
|
|
|||
24
Makefile
24
Makefile
|
|
@ -20,7 +20,7 @@ else
|
|||
endif
|
||||
|
||||
cleanup-package-semvers:
|
||||
rm flexisip-account-manager.spec.run
|
||||
rm -f flexisip-account-manager.spec.run
|
||||
|
||||
prepare:
|
||||
cd flexiapi && php composer.phar install --ignore-platform-req=ext-redis --no-dev
|
||||
|
|
@ -58,11 +58,13 @@ package-end-common:
|
|||
rm -rf $(OUTPUT_DIR)/rpmbuild/SPECS $(OUTPUT_DIR)/rpmbuild/SOURCES $(OUTPUT_DIR)/rpmbuild/SRPMS $(OUTPUT_DIR)/rpmbuild/BUILD $(OUTPUT_DIR)/rpmbuild/BUILDROOT
|
||||
|
||||
rpm-el8-only:
|
||||
mkdir -p build
|
||||
sed -i 's/Requires:.*/Requires: php >= 8.1, php-gd, php-pdo, php-redis, php-mysqlnd, php-mbstring/g' $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec
|
||||
rpmbuild -v -bb --define 'dist .el8' --define '_topdir $(OUTPUT_DIR)/rpmbuild' --define "_rpmdir $(OUTPUT_DIR)/rpmbuild" $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec
|
||||
@echo "📦✅ RPM el8 Package Created"
|
||||
|
||||
rpm-el9-only:
|
||||
mkdir -p build
|
||||
rpmbuild -v -bb --define 'dist .el9' --define '_topdir $(OUTPUT_DIR)/rpmbuild' --define "_rpmdir $(OUTPUT_DIR)/rpmbuild" $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec
|
||||
@echo "📦✅ RPM el9 Package Created"
|
||||
|
||||
|
|
@ -72,6 +74,7 @@ rpm-cleanup:
|
|||
rm -r rpmbuild
|
||||
|
||||
deb-only:
|
||||
mkdir -p build
|
||||
sed -i 's/posttrans/post/g' $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec
|
||||
rpmbuild -v -bb --with deb --define '_topdir $(OUTPUT_DIR)/rpmbuild' --define "_rpmfilename tmp.rpm" --define "_rpmdir $(OUTPUT_DIR)/rpmbuild" $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec
|
||||
fakeroot alien -g -k --scripts $(OUTPUT_DIR)/rpmbuild/tmp.rpm
|
||||
|
|
@ -88,11 +91,18 @@ deb-only:
|
|||
|
||||
mv *.deb build/.
|
||||
|
||||
rpm-el8: prepare package-semvers package-common rpm-el8-only rpm-cleanup cleanup-package-semvers package-end-common
|
||||
rpm-el8-dev: prepare-dev package-semvers package-common rpm-el8-only rpm-cleanup cleanup-package-semvers package-end-common
|
||||
rpm-el9: prepare package-semvers package-common rpm-el9-only rpm-cleanup cleanup-package-semvers package-end-common
|
||||
rpm-el9-dev: prepare-dev package-semvers package-common rpm-el9-only rpm-cleanup cleanup-package-semvers package-end-common
|
||||
deb: prepare package-semvers package-common deb-only cleanup-package-semvers package-end-common
|
||||
deb-dev: prepare-dev package-semvers package-common deb-only cleanup-package-semvers package-end-common
|
||||
prepare-common: prepare package-semvers package-common
|
||||
|
||||
package-el8: rpm-el8-only rpm-cleanup cleanup-package-semvers package-end-common
|
||||
rpm-el8: prepare-common package-el8
|
||||
rpm-el8-dev: prepare-dev package-semvers package-common package-el8
|
||||
|
||||
package-el9: rpm-el9-only rpm-cleanup cleanup-package-semvers package-end-common
|
||||
rpm-el9: prepare-common package-el9
|
||||
rpm-el9-dev: prepare-dev package-semvers package-common package-el9
|
||||
|
||||
package-deb: deb-only cleanup-package-semvers package-end-common
|
||||
deb: prepare-common package-deb
|
||||
deb-dev: prepare-dev package-semvers package-common package-deb
|
||||
|
||||
.PHONY: rpm
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue