summaryrefslogtreecommitdiffstats
path: root/.github
diff options
context:
space:
mode:
authorJesse Duffield <jessedduffield@gmail.com>2023-05-30 17:54:09 +1000
committerJesse Duffield <jessedduffield@gmail.com>2023-05-30 17:54:09 +1000
commit01b3e8e8bb9764d300f7bd33a0e25483a7886224 (patch)
tree6f974bebb99e3ca46fbb6e947bde42dfce5cc784 /.github
parentcc0edd42bb9a341aaf329357666b06e9b5ad24e1 (diff)
Remove Uffizzi
We've given Uffizzi a go but haven't found utility in it, so we're removing it.
Diffstat (limited to '.github')
-rw-r--r--.github/workflows/uffizzi-build.yml81
-rw-r--r--.github/workflows/uffizzi-preview.yml90
2 files changed, 0 insertions, 171 deletions
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