diff --git a/.gitea/workflows/build.yml b/.gitea/workflows/build.yml index 08069f1a8..164a3d472 100644 --- a/.gitea/workflows/build.yml +++ b/.gitea/workflows/build.yml @@ -1,11 +1,65 @@ -name: Build +name: Setup Docker Action on: push: - branches: + branches: - main + # - develop + # pull_request: + # branches: + # - main jobs: - echo: - runs-on: ubuntu-latest + setup_docker: + runs-on: self-hosted + strategy: + matrix: + python: + - 3.12.7 steps: - - name: list file in code - uses: apt update \ No newline at end of file + - 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 + + - 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 + + - 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