ci: update config tu use user service unit #94
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Node.js CI | |
on: | |
push: | |
branches: ['main'] | |
pull_request: | |
branches: ['main'] | |
jobs: | |
build: | |
runs-on: [self-hosted, Linux, X64, marquinhos-ci] | |
strategy: | |
matrix: | |
node-version: [20.x] | |
steps: | |
- uses: actions/checkout@v3 | |
- name: Use Node.js ${{ matrix.node-version }} | |
uses: actions/setup-node@v3 | |
with: | |
node-version: ${{ matrix.node-version }} | |
cache: 'npm' | |
- run: npm ci | |
- run: npm run build | |
deploy: | |
needs: build | |
runs-on: [self-hosted, Linux, X64, marquinhos-ci] | |
steps: | |
- name: Stop service | |
continue-on-error: true | |
run: systemctl --user stop marquinhos-bot.service | |
- name: Copy service file | |
run: | | |
sed -i "s|%WORKING_DIRECTORY%|$(pwd)|g" marquinhos-bot.service | |
cp marquinhos-bot.service ~/.config/systemd/user/marquinhos-bot.service | |
- name: Reload systemd | |
run: systemctl --user daemon-reload | |
- name: Start service | |
run: systemctl --user start marquinhos-bot.service | |
- name: Check status | |
id: check-status | |
run: | |
if [ "$(systemctl --user is-active marquinhos-bot.service)" != "active" ]; then | |
echo "Service is not running or has failed" | |
exit 1 | |
fi | |
- name: Fail if service is not running | |
if: steps.check-status.outcome != 'success' | |
run: exit 1 |