name: Test and deploy on: push: branches: [master] workflow_dispatch: concurrency: group: roast-command-center-production cancel-in-progress: false jobs: test-and-deploy: runs-on: unraid steps: - name: Check out the pushed revision uses: https://github.com/actions/checkout@v4 - name: Install dependencies run: npm ci - name: Test run: npm test - name: Deploy to Unraid Docker run: | docker compose \ --project-name roast_command_center \ --env-file /run/roast-production.env \ -f docker-compose.yml \ up -d --build --remove-orphans - name: Verify the running container run: | docker compose \ --project-name roast_command_center \ --env-file /run/roast-production.env \ -f docker-compose.yml \ exec -T app node -e "fetch('http://127.0.0.1:8090/').then((response) => process.exit(response.ok ? 0 : 1))" curl --fail --retry 10 --retry-delay 2 https://roast.srmr.xyz/