Merge branch 'master' into feature/compliance-scale

feature/compliance-scale
Cedric 2022-06-20 10:09:11 +00:00 committed by GitHub
commit 81d5276604
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 149 additions and 63 deletions

87
.github/workflows/releases.yml vendored Normal file
View File

@ -0,0 +1,87 @@
name: MonarcAppFO releases
on:
push:
branches: [ 'master' ]
tags: [ 'v*.*', 'v*.*.*', 'v*.*.*-*' ]
pull_request:
branches: [ 'master' ]
jobs:
build:
runs-on: ubuntu-20.04
strategy:
matrix:
node-version: [ "16.x" ]
php-version: [ "7.4" ]
steps:
- uses: actions/checkout@v2
- name: install deps
run: sudo apt-get update && sudo apt install -y gettext
# PHP
- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-version }}
tools: composer:v2.3
extensions: bcmath
- name: Validate composer.json and composer.lock
run: composer validate
- name: Install PHP dependencies
run: composer install --prefer-dist --no-progress --no-suggest --no-dev
- name: Symlink Monarc modules
run: |
mkdir -p module/Monarc
ln -s ../../vendor/monarc/core module/Monarc/Core
ln -s ../../vendor/monarc/frontoffice module/Monarc/FrontOffice
# javascript
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v1
with:
node-version: ${{ matrix.node-version }}
- name: Install dependencies
run: |
npm install
head node_modules/ng_client/src/ClientApp.js
- name: Install ng-anr dependencies
run: |
npm install
working-directory: node_modules/ng_anr/
- name: Install ng-client dependencies
run: |
npm install
working-directory: node_modules/ng_client/
# final "cleanup"
- name: post job
run: |
bash -ex ./scripts/link_modules_resources.sh
bash -ex ./scripts/compile_translations.sh
# prepare release
- name: Get repository name
id: repository
run: echo "::set-output name=pathref::$(echo '${{ github.repository }}' | cut -d'/' -f2)-$(echo '${{ github.ref_name }}' | sed 's/[^[:alnum:]\.-]/_/g')"
- name: create artifact archive
run: |
tar --exclude .git --exclude .github -zcf '../${{ steps.repository.outputs.pathref }}.tar.gz' .
- name: release
uses: softprops/action-gh-release@v1
with:
files: |
../${{ steps.repository.outputs.pathref }}.tar.gz
fail_on_unmatched_files: true
if: startsWith(github.ref, 'refs/tags/')

View File

@ -9,53 +9,53 @@ forceClearCache=0
isDevEnv=0
while getopts "hbcd" option
do
case $option in
h)
echo -e "Update or install all Monarc modules, frontend views and migrate database."
echo -e "\t-b\tbypass migrate database"
echo -e "\t-c\tforce clear cache"
echo -e "\t-h\tdisplay this message"
exit 1
;;
b)
bypass=1
echo "Migrate database don't execute !!!"
;;
c)
forceClearCache=1
;;
d)
isDevEnv=1
esac
case $option in
h)
echo -e "Update or install all Monarc modules, frontend views and migrate database."
echo -e "\t-b\tbypass migrate database"
echo -e "\t-c\tforce clear cache"
echo -e "\t-h\tdisplay this message"
exit 1
;;
b)
bypass=1
echo "Migrate database don't execute !!!"
;;
c)
forceClearCache=1
;;
d)
isDevEnv=1
esac
done
checkout_to_latest_tag() {
if [ -d $1 ]; then
pushd $1
git fetch --tags
tag=$(git describe --tags `git rev-list --tags --max-count=1`)
git checkout $tag -b $tag
git pull origin $tag
popd
fi
if [ -d $1 ]; then
pushd $1
git fetch --tags
tag=$(git describe --tags `git rev-list --tags --max-count=1`)
git checkout $tag -b $tag
git pull origin $tag
popd
fi
}
migrate_module() {
if [[ -d $1 ]]; then
php ./vendor/robmorgan/phinx/bin/phinx migrate -c ./$1/migrations/phinx.php
fi
if [[ -d $1 ]]; then
php ./vendor/robmorgan/phinx/bin/phinx migrate -c ./$1/migrations/phinx.php
fi
}
if [[ ! -f "config/autoload/local.php" && $bypass -eq 0 ]]; then
echo "Configure Monarc (config/autoload/local.php)"
exit 1
echo "Configure Monarc (config/autoload/local.php)"
exit 1
fi
git pull
if [ $? != 0 ]; then
echo "A problem occurred while retrieving remote files from repository."
exit 1
echo "A problem occurred while retrieving remote files from repository."
exit 1
fi
./scripts/check_composer.sh
@ -64,38 +64,38 @@ if [[ $? -eq 1 ]]; then
fi
if [[ $isDevEnv -eq 0 ]]; then
composer ins -o --no-dev
composer ins -o --no-dev
else
composer ins
composer ins
fi
pathCore="module/Monarc/Core"
pathFO="module/Monarc/FrontOffice"
if [[ $bypass -eq 0 ]]; then
if [ -e data/backup/credentialsmysql.cnf ]; then
backupdir=data/backup/$(date +"%Y%m%d_%H%M%S")
mkdir $backupdir
echo -e "${GREEN}Dumping database to $backupdir...${NC}"
mysqldump --defaults-file=data/backup/credentialsmysql.cnf --databases monarc_common > $backupdir/dump-common.sql
mysqldump --defaults-file=data/backup/credentialsmysql.cnf --databases monarc_cli > $backupdir/dump-cli.sql
else
echo -e "${GREEN}Database backup not configured. Skipping.${NC}"
fi
migrate_module $pathCore
migrate_module $pathFO
if [ -e data/backup/credentialsmysql.cnf ]; then
backupdir=data/backup/$(date +"%Y%m%d_%H%M%S")
mkdir $backupdir
echo -e "${GREEN}Dumping database to $backupdir...${NC}"
mysqldump --defaults-file=data/backup/credentialsmysql.cnf --databases monarc_common > $backupdir/dump-common.sql
mysqldump --defaults-file=data/backup/credentialsmysql.cnf --databases monarc_cli > $backupdir/dump-cli.sql
else
echo -e "${GREEN}Database backup not configured. Skipping.${NC}"
fi
migrate_module $pathCore
migrate_module $pathFO
fi
if [[ -d node_modules && -d node_modules/ng_anr ]]; then
if [[ -d node_modules/ng_anr/.git ]]; then
checkout_to_latest_tag node_modules/ng_client
checkout_to_latest_tag node_modules/ng_anr
else
npm update
fi
if [[ -d node_modules/ng_anr/.git ]]; then
checkout_to_latest_tag node_modules/ng_client
checkout_to_latest_tag node_modules/ng_anr
else
npm update
fi
else
npm ci
npm ci
fi
cd node_modules/ng_client
@ -106,19 +106,18 @@ cd ../..
./scripts/compile_translations.sh
if [[ $forceClearCache -eq 1 ]]; then
# Clear doctrine cache
# Move to Monarc/Core Module.php
php ./public/index.php orm:clear-cache:metadata
php ./public/index.php orm:clear-cache:query
php ./public/index.php orm:clear-cache:result
# Clear Laminas cache
php ./public/index.php orm:clear-cache:metadata
php ./public/index.php orm:clear-cache:query
php ./public/index.php orm:clear-cache:result
# Clear ZF2 cache
touch ./data/cache/upgrade && chmod 777 ./data/cache/upgrade
# Clear Laminas cache
touch ./data/cache/upgrade && chmod 777 ./data/cache/upgrade
fi
if [[ $forceClearCache -eq 0 && $bypass -eq 0 ]]; then
# Clear ZF2 cache
touch ./data/cache/upgrade && chmod 777 ./data/cache/upgrade
# Clear Laminas cache
touch ./data/cache/upgrade && chmod 777 ./data/cache/upgrade
fi
./scripts/update_config_variables.sh