name: deploy on: push: branches: - main paths-ignore: - '*.md' workflow_dispatch: jobs: deploy: if: github.event_name == 'push' && github.ref == 'refs/heads/main' runs-on: self-hosted steps: - uses: actions/checkout@v4 - uses: actions/setup-go@v5 with: go-version: '1.25' - name: Build binary run: | CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o /tmp/ozon-mock ./cmd/server - name: Copy to ioffe env: IOFFE_HOST: ${{ vars.IOFFE_HOST }} IOFFE_USER: ${{ vars.IOFFE_USER }} run: | ssh $IOFFE_USER@$IOFFE_HOST "mkdir -p /opt/ozon-mock" scp /tmp/ozon-mock $IOFFE_USER@$IOFFE_HOST:/opt/ozon-mock/ozon-mock - name: Restart service env: IOFFE_HOST: ${{ vars.IOFFE_HOST }} IOFFE_USER: ${{ vars.IOFFE_USER }} run: | ssh $IOFFE_USER@$IOFFE_HOST "sudo systemctl restart ozon-mock || true"