diff --git a/.gitea/workflows/api.yaml b/.gitea/workflows/api.yaml new file mode 100644 index 0000000..e2bbe97 --- /dev/null +++ b/.gitea/workflows/api.yaml @@ -0,0 +1,26 @@ +name: Build and Deploy API +on: + push: + paths: + - 'finnow-api/**' + - '.gitea/workflows/api.yaml' +jobs: + build-and-deploy: + runs-ons: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: dlang-community/setup-dlang@v2 + with: + compiler: ldc-latest + - name: Build + run: dub build --build=release + working-directory: ./finnow-api + - name: Install SSH Key + uses: shimataro/ssh-key-action@v2 + with: + key: ${{ secrets.DEPLOY_KEY }} + known_hosts: ${{ secrets.SSH_HOST }} + - name: Setup rsync + uses: GuillameFalourd/setup-rsync@v1.2 + - run: rsync -avz -e ssh --delete finnow-api root@andrewlalis.com:/opt/finnow/finnow-api + working-directory: ./finnow-api diff --git a/finnow-api/finnow-api.service b/finnow-api/finnow-api.service new file mode 100644 index 0000000..a939b40 --- /dev/null +++ b/finnow-api/finnow-api.service @@ -0,0 +1,13 @@ +[Unit] +Description=finnow-api +After=network.target + +[Service] +Type=simple +User=root +WorkingDirectory=/opt/finnow +ExecStart=/opt/finnow/finnow-api +Restart=always + +[Install] +WantedBy=multi-user.target