name: Deploy Portfolio on: push: branches: [main] workflow_dispatch: jobs: deploy: runs-on: self-hosted steps: - name: Checkout code run: | git clone "https://code.chagarlamudi.net/raghu-ch/rc-portfolio" . - name: Build Docker image run: /usr/local/bin/docker build -t rc-portfolio:latest . - name: Stop old container run: /usr/local/bin/docker stop rc-portfolio || true - name: Remove old container run: /usr/local/bin/docker rm rc-portfolio || true - name: Run new container run: | /usr/local/bin/docker run -d \ --name rc-portfolio \ --restart unless-stopped \ -p 8080:80 \ rc-portfolio:latest - name: Clean up old images run: /usr/local/bin/docker image prune -f