From 01b3e8e8bb9764d300f7bd33a0e25483a7886224 Mon Sep 17 00:00:00 2001
From: Jesse Duffield <jessedduffield@gmail.com>
Date: Tue, 30 May 2023 17:54:09 +1000
Subject: [PATCH] Remove Uffizzi

We've given Uffizzi a go but haven't found  utility in it, so we're removing it.
---
 .github/workflows/uffizzi-build.yml   | 81 ------------------------
 .github/workflows/uffizzi-preview.yml | 90 ---------------------------
 uffizzi/DockerfileTtyd                | 17 -----
 uffizzi/docker-compose.uffizzi.yml    | 20 ------
 4 files changed, 208 deletions(-)
 delete mode 100644 .github/workflows/uffizzi-build.yml
 delete mode 100644 .github/workflows/uffizzi-preview.yml
 delete mode 100644 uffizzi/DockerfileTtyd
 delete mode 100644 uffizzi/docker-compose.uffizzi.yml

diff --git a/.github/workflows/uffizzi-build.yml b/.github/workflows/uffizzi-build.yml
deleted file mode 100644
index 4cec3582e..000000000
--- a/.github/workflows/uffizzi-build.yml
+++ /dev/null
@@ -1,81 +0,0 @@
-name: Build PR Image
-on:
-  pull_request:
-    types: [opened, synchronize, reopened, closed]
-
-jobs:
-  build-application:
-    name: Build and Push `lazygit`
-    runs-on: ubuntu-latest
-    if: ${{ github.event_name != 'pull_request' || github.event.action != 'closed' }}
-    outputs:
-      tags: ${{ steps.meta.outputs.tags }}
-    steps:
-      - name: Checkout git repo
-        uses: actions/checkout@v3
-      - name: Set up Docker Buildx
-        uses: docker/setup-buildx-action@v2        
-      - name: Generate UUID image name
-        id: uuid
-        run: echo "UUID_APP_TAG=$(uuidgen)" >> $GITHUB_ENV
-      - name: Docker metadata
-        id: meta
-        uses: docker/metadata-action@v4
-        with:
-          images: registry.uffizzi.com/${{ env.UUID_APP_TAG }}
-          tags: type=raw,value=60d
-      - name: Build and Push Image to registry.uffizzi.com ephemeral registry
-        uses: docker/build-push-action@v3
-        with:
-          push: true
-          context: ./
-          tags: ${{ steps.meta.outputs.tags }}
-          labels: ${{ steps.meta.outputs.labels }}
-          file: ./uffizzi/DockerfileTtyd
-          cache-from: type=gha
-          cache-to: type=gha,mode=max
-
-
-  render-compose-file:
-    name: Render Docker Compose File
-    # Pass output of this workflow to another triggered by `workflow_run` event.
-    runs-on: ubuntu-latest
-    needs:
-      - build-application
-    outputs:
-      compose-file-cache-key: ${{ steps.hash.outputs.hash }}
-    steps:
-      - name: Checkout git repo
-        uses: actions/checkout@v3
-      - name: Render Compose File
-        run: |
-          APP_IMAGE=$(echo ${{ needs.build-application.outputs.tags }})
-          export APP_IMAGE
-          # Render simple template from environment variables.
-          envsubst < ./uffizzi/docker-compose.uffizzi.yml > docker-compose.rendered.yml
-          cat docker-compose.rendered.yml
-      - name: Upload Rendered Compose File as Artifact
-        uses: actions/upload-artifact@v3
-        with:
-          name: preview-spec
-          path: docker-compose.rendered.yml
-          retention-days: 2
-      - name: Upload PR Event as Artifact
-        uses: actions/upload-artifact@v3
-        with:
-          name: preview-spec
-          path: ${{ github.event_path }}
-          retention-days: 2
-
-  delete-preview:
-    name: Call for Preview Deletion
-    runs-on: ubuntu-latest
-    if: ${{ github.event.action == 'closed' }}
-    steps:
-      # If this PR is closing, we will not render a compose file nor pass it to the next workflow.
-      - name: Upload PR Event as Artifact
-        uses: actions/upload-artifact@v3
-        with:
-          name: preview-spec
-          path: ${{ github.event_path }}
-          retention-days: 2
diff --git a/.github/workflows/uffizzi-preview.yml b/.github/workflows/uffizzi-preview.yml
deleted file mode 100644
index 784523877..000000000
--- a/.github/workflows/uffizzi-preview.yml
+++ /dev/null
@@ -1,90 +0,0 @@
-name: Deploy Uffizzi Preview
-
-on:
-  workflow_run:
-    workflows:
-      - "Build PR Image"
-    types:
-      - completed
-
-jobs:
-  cache-compose-file:
-    name: Cache Compose File
-    runs-on: ubuntu-latest
-    if: ${{ github.event.workflow_run.conclusion == 'success' }}
-    outputs:
-      compose-file-cache-key: ${{ env.COMPOSE_FILE_HASH }}
-      pr-number: ${{ env.PR_NUMBER }}
-    steps:
-      - name: 'Download artifacts'
-        # Fetch output (zip archive) from the workflow run that triggered this workflow.
-        uses: actions/github-script@v6
-        with:
-          script: |
-            let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({
-               owner: context.repo.owner,
-               repo: context.repo.repo,
-               run_id: context.payload.workflow_run.id,
-            });
-            let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => {
-              return artifact.name == "preview-spec"
-            })[0];
-            if (matchArtifact === undefined) {
-              throw TypeError('Build Artifact not found!');
-            }
-            let download = await github.rest.actions.downloadArtifact({
-               owner: context.repo.owner,
-               repo: context.repo.repo,
-               artifact_id: matchArtifact.id,
-               archive_format: 'zip',
-            });
-            let fs = require('fs');
-            fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/preview-spec.zip`, Buffer.from(download.data));
-      - name: 'Unzip artifact'
-        run: unzip preview-spec.zip
-
-      - name: Read Event into ENV
-        run: |
-          echo 'EVENT_JSON<<EOF' >> $GITHUB_ENV
-          cat event.json >> $GITHUB_ENV
-          echo -e '\nEOF' >> $GITHUB_ENV
-      - name: Hash Rendered Compose File
-        id: hash
-        # If the previous workflow was triggered by a PR close event, we will not have a compose file artifact.
-        if: ${{ fromJSON(env.EVENT_JSON).action != 'closed' }}
-        run: echo "COMPOSE_FILE_HASH=$(md5sum docker-compose.rendered.yml | awk '{ print $1 }')" >> $GITHUB_ENV
-
-      - name: Cache Rendered Compose File
-        if: ${{ fromJSON(env.EVENT_JSON).action != 'closed' }}
-        uses: actions/cache@v3
-        with:
-          path: docker-compose.rendered.yml
-          key: ${{ env.COMPOSE_FILE_HASH }}
-
-      - name: Read PR Number From Event Object
-        id: pr
-        run: echo "PR_NUMBER=${{ fromJSON(env.EVENT_JSON).number }}" >> $GITHUB_ENV
-
-      - name: DEBUG - Print Job Outputs
-        if: ${{ runner.debug }}
-        run: |
-          echo "PR number: ${{ env.PR_NUMBER }}"
-          echo "Compose file hash: ${{ env.COMPOSE_FILE_HASH }}"
-          cat event.json
-  deploy-uffizzi-preview:
-    name: Use Remote Workflow to Preview on Uffizzi
-    needs:
-      - cache-compose-file
-    if: ${{ github.event.workflow_run.conclusion == 'success' }}
-    uses: UffizziCloud/preview-action/.github/workflows/reusable.yaml@v2
-    with:
-      # If this workflow was triggered by a PR close event, cache-key will be an empty string
-      # and this reusable workflow will delete the preview deployment.
-      compose-file-cache-key: ${{ needs.cache-compose-file.outputs.compose-file-cache-key }}
-      compose-file-cache-path: docker-compose.rendered.yml
-      server: https://app.uffizzi.com
-      pr-number: ${{ needs.cache-compose-file.outputs.pr-number }}
-    permissions:
-      contents: read
-      pull-requests: write
-      id-token: write
diff --git a/uffizzi/DockerfileTtyd b/uffizzi/DockerfileTtyd
deleted file mode 100644
index 274c58037..000000000
--- a/uffizzi/DockerfileTtyd
+++ /dev/null
@@ -1,17 +0,0 @@
-
-FROM uffizzi/ttyd:golang1.18-alpine as build
-
-WORKDIR /go/src/github.com/jesseduffield/lazygit/
-COPY go.mod go.sum ./
-RUN go mod download
-COPY . .
-RUN CGO_ENABLED=0 GOOS=linux go build
-
-RUN     apk update --quiet && \
-        apk add -q --no-cache libgcc tini
-
-
-EXPOSE  7700/tcp
-
-ENTRYPOINT ["tini", "--"]
-CMD     ["ttyd", "/bin/zsh"]
\ No newline at end of file
diff --git a/uffizzi/docker-compose.uffizzi.yml b/uffizzi/docker-compose.uffizzi.yml
deleted file mode 100644
index 859a315ff..000000000
--- a/uffizzi/docker-compose.uffizzi.yml
+++ /dev/null
@@ -1,20 +0,0 @@
-version: "3"
-
-x-uffizzi:
-  ingress:
-    service: application
-    port: 7681
-
-services:
-
-  application:
-    image: "${APP_IMAGE}"
-    entrypoint: ["/bin/bash", "-c"]
-    command: ["ttyd /usr/local/go/bin/go run /go/src/github.com/jesseduffield/lazygit/cmd/integration_test/main.go tui"]    
-    ports:
-    - "7700:7700"
-    - "7681:7681"
-    deploy:
-      resources:
-        limits:
-          memory: 2000M