name: build system Image base on json config provided on: # workflow_dispatch: pull_request: types: [opened, reopened] branches: [main] jobs: job-image-build: runs-on: - self-hosted # - ubuntu-latest steps: # - name: Checkout Repository # uses: actions/checkout@v2 # - name: build image # run: | # rm -rf remittance_image_builder # - name: build image # run: | # git clone --recursive https://${{ secrets._GITHUB_TOKEN }}@github.com/malnozili/remittance_image_builder.git # cd remittance_image_builder # ./build_network_company_image.sh --tag="remittance_network_agent/${{ github.event.pull_request.head.ref }}:latest" --token="${{ secrets.TOCKEN }}" --frappe-path="https://github.com/fintechsys/frappe.git" --frappe-branch=version-14 --fintech-branch=develop # docker image ls # docker tag remittance_network_agent/${{ vars.BRANCH_NAME }}:latest harbor.fintechsys.net/frappe-systems/${{ vars.BRANCH_NAME }}:latest # docker push harbor.fintechsys.net/frappe-systems/remittance_network_agent/${{ vars.BRANCH_NAME }}:latest #Creat Bench and sites # sed -i 's/ERPNEXT_VERSION=/ERPNEXT_VERSION=${{ github.event.pull_request.head.ref }}/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env - name: Create directory run: | mkdir ~/gitops - name: Generate Random Ports run: | # Generate random ports between 1024 and 65535 port1=$((RANDOM%64311+1024)) echo "Random Port 1: $port1" - name: Create first bench run: | port1=$((RANDOM%64311+1024)) echo "Random Port 1: $port1" cp example.env ~/gitops/${{ github.event.pull_request.head.ref }}.env sed -i 's/FRAPPE_SITE_NAME_HEADER=/FRAPPE_SITE_NAME_HEADER=${{ github.event.pull_request.head.ref }}/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env echo "PORTS=$port1" >> ~/gitops/${{ github.event.pull_request.head.ref }}.env sed -i 's/DB_PASSWORD=123/DB_PASSWORD=${{ vars.MARIADB_PASSWORD }}/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env # sed -i 's/DBPASSWORD=/DP=DBPASSWORD=${{ vars.MARIADB_PASSWORD }}/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env # sed -i 's/PORTS=/PORTS= $port1 /g' ~/gitops/${{ github.event.pull_request.head.ref }}.env # sed -i 's/DB_PASSWORD=123/DB_PASSWORD=${{ vars.MARIADB_PASSWORD }}/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env # sed -i 's/DB_HOST=/DB_HOST=mariadb-database/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env # sed -i 's/DB_PORT=/DB_PORT=3306/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env # sed -i 's/SITES=`${{ github.event.pull_request.head.ref }}`/SITES=\`${{ github.event.pull_request.head.ref }}\`/g' ~/gitops/${{ github.event.pull_request.head.ref }}.env # echo 'ROUTER=${{ github.event.pull_request.head.ref }}' >> ~/gitops/${{ github.event.pull_request.head.ref }}.env # echo "BENCH_NETWORK=${{ github.event.pull_request.head.ref }}" >> ~/gitops/${{ github.event.pull_request.head.ref }}.env - name: Create a yaml file to deploy container run: | docker-compose --project-name ${{ github.event.pull_request.head.ref }} \ --env-file ~/gitops/${{ github.event.pull_request.head.ref }}.env \ -f pwd.yml config > ~/gitops/${{ github.event.pull_request.head.ref }}.yaml # - name: Deploy the container # run: | # docker-compose --project-name ${{ github.event.pull_request.head.ref }} -f ~/gitops/${{ github.event.pull_request.head.ref }}.yaml up -d # - name: Create the site # run: | # docker-compose --project-name ${{ github.event.pull_request.head.ref }} exec -T backend \ # bench new-site --no-mariadb-socket --db-root-password=${{ vars.MARIADB_PASSWORD }} --db-root-password=${{ vars.MARIADB_PASSWORD }} --install-app erpnext --set-default ${{ github.event.pull_request.head.ref }} # bench new-site --no-mariadb-socket --db-root-password ${{ vars.MARIADB_PASSWORD }} --install-app hrms --set-default \ # --install-app rule_management --install-app remittance_base --install-app remittance --install-app bulk_remittance --install-app remittance_stellar_integration \ # --install-app client_account_management --install-app teller_for_erpnext --install-app teller_for_agent \ # --install-app remittance_agent_service --install-app payment_management --install-app bank_services --install-app remittance_customize \ # --install-app remittance_network_manager --install-app erpnext_theme --install-app remittance_website --admin-password ${{ vars.MARIADB_PASSWORD }} --set-default ${{ github.event.pull_request.head.ref }}