60 lines
2.3 KiB
YAML
60 lines
2.3 KiB
YAML
name: Update odoo 18
|
|
run-name: ${{ gitea.actor }} is testing out Gitea Actions
|
|
on:
|
|
push:
|
|
branches:
|
|
- dev
|
|
# paths:
|
|
# - '**/docker-compose.yml'
|
|
# - '**/.env'
|
|
|
|
jobs:
|
|
update:
|
|
runs-on: ubuntu-22.04
|
|
steps:
|
|
- run: |
|
|
modules_to_update=$(git diff --name-only ${{ gitea.event.before }}..${{ gitea.event.after }} | awk -F/ '{print $1}')
|
|
|
|
- name: Setup correct time in build container
|
|
run: ln -sf /usr/share/zoneinfo/Asia/Tbilisi /etc/localtime
|
|
|
|
- name: Checkout repository
|
|
uses: actions/checkout@v4
|
|
with:
|
|
github-server-url: http://10.0.0.8:3000
|
|
repository: gitea/bross_hms
|
|
token: ${{ secrets.PAT }}
|
|
path: .
|
|
fetch-depth: 0
|
|
|
|
- run: |
|
|
modules_to_update=$(git diff --name-only ${{ gitea.event.before }}..${{ gitea.event.after }} | awk -F/ '{print $1}' | uniq | xargs -I {} sh -c 'find {} -type f -name "__manifest__.py" | grep -q "__manifest__.py" && echo {}' 2>/dev/null | sed -z 's/\n/,/g; s/,$/\n/')
|
|
echo $modules_to_update
|
|
|
|
- name: Deploy to main environment
|
|
if: gitea.ref == 'refs/heads/dev'
|
|
run: |
|
|
### Get current commit
|
|
# commit_hash=$(git rev-parse --short HEAD)
|
|
|
|
### Update local repo
|
|
# cd /opt/odoo/extra-addons
|
|
# git pull
|
|
|
|
### Get modules list to update
|
|
modules_to_update=$(git diff --name-only ${{ gitea.event.before }}..${{ gitea.event.after }} | awk -F/ '{print $1}' | uniq | xargs -I {} sh -c 'find {} -type f -name "__manifest__.py" | grep -q "__manifest__.py" && echo {}' 2>/dev/null | sed -z 's/\n/,/g; s/,$/\n/')
|
|
echo $modules_to_update
|
|
### Generate update string
|
|
# if [ -z "${modules_to_update}" ]; then
|
|
# echo "No module to update"
|
|
# # args="-d fms"
|
|
# else
|
|
# echo "Modules to update set"
|
|
# args="-d fms_prod -u ${modules_to_update}"
|
|
# docker compose -f /opt/odoo/docker-compose.yml down
|
|
# export ADDONS="--addons-path=/opt/odoo/addons/,/mnt/extra-addons/" && export ARGS=${args} && docker compose -f /opt/odoo/docker-compose.yml up -d
|
|
# fi
|
|
|
|
- name: Install sshpass
|
|
run: apt update && apt install -y sshpass
|