name: Build and deploy on: push: branches: - 'main' jobs: build: runs-on: self-hosted steps: - name: Set up QEMU uses: docker/setup-qemu-action@v3 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v5 with: push: true tags: smallbuster/fe-docs:latest deploy: runs-on: self-hosted needs: build steps: - name: Checkout repository uses: actions/checkout@v4 - name: Login to Docker Hub uses: docker/login-action@v3 with: username: ${{ secrets.DOCKERHUB_USERNAME }} password: ${{ secrets.DOCKERHUB_TOKEN }} - name: Set up Docker Compose run: | docker compose version - name: Stop and remove existing containers run: | docker compose -f docker-compose.yml down || true - name: Pull Docker images run: | docker compose -f docker-compose.yml pull - name: Start containers run: | docker compose -f docker-compose.yml up -d