Files
archtika/.github/workflows/deploy.yml
2024-09-15 22:42:50 +02:00

40 lines
1.5 KiB
YAML

name: Deploy to server
on:
workflow_run:
workflows: [ 'Playwright tests' ]
types: [ completed ]
branches: [ devel, main ]
env:
SERVER_USER: root
QS_SERVER_IP: 128.140.75.240
PROD_SERVER_IP: 116.203.122.75
jobs:
deploy:
runs-on: ubuntu-latest
if: ${{ github.event.workflow_run.conclusion == 'success' && github.event.workflow_run.event != 'pull_request' }}
steps:
- uses: actions/checkout@v4
- name: Install Nix
uses: cachix/install-nix-action@v27
with:
github_access_token: ${{ secrets.GITHUB_TOKEN }}
- name: Install SSH Key
uses: shimataro/ssh-key-action@v2
with:
key: ${{ github.event.workflow_run.head_branch == 'devel' && secrets.QS_SSH_KEY || secrets.PROD_SSH_KEY }}
known_hosts: ${{ github.event.workflow_run.head_branch == 'devel' && secrets.QS_KNOWN_HOSTS || secrets.PROD_KNOWN_HOSTS }}
- name: Deploy to demo server
run: |
nix run nixpkgs#nixos-rebuild -- switch \
--flake github:archtika/archtika/${{ github.event.workflow_run.head_branch }}#${{ github.event.workflow_run.head_branch == 'devel' && 'qs' || 'prod' }} \
--fast \
--refresh \
--build-host ${{ env.SERVER_USER }}@${{ github.event.workflow_run.head_branch == 'devel' && env.QS_SERVER_IP || env.PROD_SERVER_IP }} \
--target-host ${{ env.SERVER_USER }}@${{ github.event.workflow_run.head_branch == 'devel' && env.QS_SERVER_IP || env.PROD_SERVER_IP }} \
--use-remote-sudo