Odoo18-Base/.github/workflows/setup_docker.yml
hoangvv 55b3439aa0
All checks were successful
Setup Native Action / native (3.12.7) (pull_request) Has been skipped
Setup Native Action / docker (3.12.7) (pull_request) Has been skipped
exec @native @docker @push_image @run_test
2025-01-16 10:06:20 +07:00

66 lines
1.7 KiB
YAML

name: Setup Docker Action
on:
push:
branches:
- main
- dev
- feature/*
jobs:
setup_docker:
if: contains(github.event.head_commit.message, '@docker')
runs-on: self-hosted
strategy:
matrix:
python:
- 3.12.7
steps:
- name: Fix Permission
run: |
sudo chown -R $(whoami):$(whoami) /home/$(whoami)/actions-runner && \
sudo chmod -R 755 /home/$(whoami)/actions-runner
- name: Checkout Repository
uses: actions/checkout@v4
with:
ref: ${{ github.ref_name }}
- name: Clean up Virtual Environment
run: ./setup/clean_up_virtualenvs.sh 0
- name: Create Virtual Environment
run: pyenv virtualenv "${{ github.ref_name }}-$(git rev-parse --short "$GITHUB_SHA")"
- name: Install dotenv
run: pip install python-dotenv
- name: Update Tag
run: make update_tag CURR_BRANCH=${{ github.ref_name }}
- name: Stop Server Docker
run: make stop_server_docker
- name: Generate Config
run: make gen_config_docker
- name: Build Image
run: make build_image
- name: Start Server
run: make run_server_docker
- name: Sleep for 30 seconds
run: sleep 30s
- name: Restore Database
run: make restore_database_docker
- name: Run Tests
run: make run_test_docker
- name: Login Docker hub
run: echo ${{ secrets.DOCKER_PASSWORD }} | docker login -u ${{ secrets.DOCKER_USER }} --password-stdin ${{ secrets.DOCKER_HUB }}
- name: Push Image
run: make push_image
- name: Clean Up
run: make clean_up