diff --git a/.github/workflows/uffizzi-build.yml b/.github/workflows/uffizzi-build.yml deleted file mode 100644 index b6abc0c6..00000000 --- a/.github/workflows/uffizzi-build.yml +++ /dev/null @@ -1,85 +0,0 @@ -name: Build PR Image -on: - pull_request: - types: [opened, synchronize, reopened, closed] - -jobs: - build-memos: - name: Build and push `Memos` - runs-on: ubuntu-latest - outputs: - tags: ${{ steps.meta.outputs.tags }} - if: ${{ github.event.action != 'closed' }} - steps: - - name: Checkout git repo - uses: actions/checkout@v4 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - - - name: Generate UUID image name - id: uuid - run: echo "UUID_WORKER=$(uuidgen)" >> $GITHUB_ENV - - - name: Docker metadata - id: meta - uses: docker/metadata-action@v4 - with: - images: registry.uffizzi.com/${{ env.UUID_WORKER }} - tags: | - type=raw,value=60d - - - name: Build and Push Image to registry.uffizzi.com - Uffizzi's ephemeral Registry - uses: docker/build-push-action@v3 - with: - context: ./ - file: Dockerfile - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - push: true - 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-memos - outputs: - compose-file-cache-key: ${{ steps.hash.outputs.hash }} - steps: - - name: Checkout git repo - uses: actions/checkout@v4 - - name: Render Compose File - run: | - MEMOS_IMAGE=${{ needs.build-memos.outputs.tags }} - export MEMOS_IMAGE - # Render simple template from environment variables. - envsubst < 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 4583bcb8..00000000 --- a/.github/workflows/uffizzi-preview.yml +++ /dev/null @@ -1,88 +0,0 @@ -name: Deploy Uffizzi Preview - -on: - workflow_run: - workflows: - - "Build PR Image" - types: - - completed - - -jobs: - cache-compose-file: - name: Cache Compose File - if: ${{ github.event.workflow_run.conclusion == 'success' }} - runs-on: ubuntu-latest - outputs: - compose-file-cache-key: ${{ env.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]; - 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 "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.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.HASH }}" - cat event.json - - deploy-uffizzi-preview: - name: Use Remote Workflow to Preview on Uffizzi - if: ${{ github.event.workflow_run.conclusion == 'success' }} - needs: - - cache-compose-file - 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/README.md b/README.md index 0dc2dfda..6dc6c3f4 100644 --- a/README.md +++ b/README.md @@ -57,10 +57,6 @@ Contributions are what make the open-source community such an amazing place to l - [Memos Desktop](https://github.com/xudaolong/memos-desktop) - Third party client for MacOS and Windows - [MemosGallery](https://github.com/BarryYangi/MemosGallery) - A static Gallery rendered with the Memos API -## Acknowledgements - -- Thanks [Uffizzi](https://www.uffizzi.com/) for sponsoring preview environments for PRs. - ## Star history [![Star History Chart](https://api.star-history.com/svg?repos=usememos/memos&type=Date)](https://star-history.com/#usememos/memos&Date) diff --git a/docker-compose.uffizzi.yml b/docker-compose.uffizzi.yml deleted file mode 100644 index e232eef4..00000000 --- a/docker-compose.uffizzi.yml +++ /dev/null @@ -1,17 +0,0 @@ -version: "3.0" - -# uffizzi integration -x-uffizzi: - ingress: - service: memos - port: 5230 - -services: - memos: - image: "${MEMOS_IMAGE}" - volumes: - - memos_volume:/var/opt/memos - command: ["--mode", "demo"] - -volumes: - memos_volume: