name: "S3 Backup Action" description: "Backup to S3 Bucket" inputs: infisical-token: description: Infisical token for backup envars required: true s3-backup-path: description: "Workspace to setup Oasis" required: false default: backups/gitea-repositories/${{ gitea.repository }} runs: using: "composite" steps: # Checkout Repository - name: Checkout Repository uses: actions/checkout@v3 with: path: ${{ gitea.workspace }}/repo # Load Backup Envars - name: Setup Backup Envars uses: https://gitea.dunemask.dev/elysium/elysium-actions@infisical-env with: infisical-token: ${{ inputs.infisical-token }} secret-envs: edge secret-paths: /devops/gitea-backups # Fix Envar Format - name: Fix Env Format run: | echo BACKUP_S3_ENDPOINT=${{ env.DEVOPS_GITEA_ELYSIUM_ORG_S3_ENDPOINT }} >> $GITHUB_ENV echo BACKUP_S3_KEY_ID=${{ env.DEVOPS_GITEA_ELYSIUM_ORG_S3_KEY_ID }} >> $GITHUB_ENV echo BACKUP_S3_KEY=${{ env.DEVOPS_GITEA_ELYSIUM_ORG_S3_KEY }} >> $GITHUB_ENV # Backup Repository - name: S3 Backup uses: 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: ${{ gitea.workspace }}/repo with: args: --overwrite --remove