name: "S3 Backup Action" description: "Backup to S3 Bucket" inputs: infisical-token: description: Infisical token for backup envars required: true infisical-project: description: Infisical Project required: true s3-backup-path: description: "Workspace to setup Oasis" required: false default: backups/forgejo-repositories/${{ gitea.repository }} runs: using: "composite" steps: # Checkout Repository - name: Checkout Repository uses: actions/checkout@v3 with: path: repo # Load Backup Envars - name: Setup Backup Envars uses: https://forgejo.dunemask.dev/elysium/elysium-actions@infisical-env with: infisical-token: ${{ inputs.infisical-token }} project-id: ${{ inputs.infisical-project }} secret-envs: edge secret-paths: /devops/forgejo-backups # Fix Envar Format - name: Fix Env Format run: | echo BACKUP_S3_ENDPOINT=${{ env.DEVOPS_FORGEJO_ELYSIUM_ORG_S3_ENDPOINT }} >> $GITHUB_ENV echo BACKUP_S3_KEY_ID=${{ env.DEVOPS_FORGEJO_ELYSIUM_ORG_S3_KEY_ID }} >> $GITHUB_ENV echo BACKUP_S3_KEY=${{ env.DEVOPS_FORGEJO_ELYSIUM_ORG_S3_KEY }} >> $GITHUB_ENV # Backup Repository - name: S3 Backup uses: https://github.com/peter-evans/s3-backup@v1 env: STORAGE_SERVICE_URL: ${{ env.BACKUP_S3_ENDPOINT }} ACCESS_KEY_ID: ${{ env.BACKUP_S3_KEY_ID }} SECRET_ACCESS_KEY: ${{ env.BACKUP_S3_KEY }} MIRROR_TARGET: ${{ inputs.s3-backup-path }} MIRROR_SOURCE: repo with: args: --overwrite --remove