name: Deploy IFT (admin) on: push: branches: [master, main] workflow_dispatch: env: REGISTRY: git.sabilin.com/eventhub BUILDKIT_PROGRESS: quiet DOCKER_BUILDKIT: 1 jobs: deploy-ift-admin: runs-on: ubuntu-latest timeout-minutes: 60 steps: - uses: actions/checkout@v4 - name: Compute image tag id: meta run: echo "tag=sha-${GITHUB_SHA::12}" >> "$GITHUB_OUTPUT" - uses: actions/setup-node@v4 with: node-version: '20' cache: 'npm' - run: npm ci - run: npm run build - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 - name: Login to registry uses: docker/login-action@v2 with: registry: git.sabilin.com username: ${{ secrets.REGISTRY_USER }} password: ${{ secrets.REGISTRY_PASSWORD }} - name: Build and push admin-ui uses: docker/build-push-action@v5 with: context: . push: true tags: | ${{ env.REGISTRY }}/eventhub-admin-ui:${{ steps.meta.outputs.tag }} ${{ env.REGISTRY }}/eventhub-admin-ui:ift provenance: false sbom: false - name: Deploy admin on IFT via SSH uses: appleboy/ssh-action@v0.1.5 with: host: ${{ secrets.IFT_SSH_HOST }} username: ${{ secrets.IFT_SSH_USER }} key: ${{ secrets.IFT_SSH_PRIVATE_KEY }} script: | export REGISTRY_USER='${{ secrets.REGISTRY_USER }}' export REGISTRY_PASSWORD='${{ secrets.REGISTRY_PASSWORD }}' /opt/eventhub-ift/devops/scripts/deploy-service.sh ift admin ${{ steps.meta.outputs.tag }}