From 01b3e8e8bb9764d300f7bd33a0e25483a7886224 Mon Sep 17 00:00:00 2001 From: Jesse Duffield 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<> $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