From f3da07a0bba2966470f345af22de11ee3c8b9b52 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Thu, 12 Jan 2023 14:47:24 +0100 Subject: [PATCH] Add Upload removed file to R2 action (#1669) --- .github/workflows/upload-removed.yml | 65 ++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) create mode 100644 .github/workflows/upload-removed.yml diff --git a/.github/workflows/upload-removed.yml b/.github/workflows/upload-removed.yml new file mode 100644 index 0000000..77f30dc --- /dev/null +++ b/.github/workflows/upload-removed.yml @@ -0,0 +1,65 @@ +name: Upload removed file to R2 + +on: + workflow_dispatch: + push: + branches: + - master + paths: + - removed + +concurrency: + cancel-in-progress: true + group: upload-removed + +jobs: + removed: + runs-on: ubuntu-latest + name: Removed + steps: + - name: Checkout the repository + uses: actions/checkout@v3.2.0 + + - name: Set up Python + uses: actions/setup-python@v4.4.0 + id: python + with: + python-version: "3.x" + + - name: Install AWS CLI + run: | + pip3 install \ + --disable-pip-version-check install \ + --ignore-installed \ + awscli + + - name: Handle the removed file + run: | + mkdir -p upload/removed + jq -c . < removed > upload/removed/data.json + jq -c '[.[].repository]' < removed > upload/removed/repositories.json + + - name: Upload artifacts + uses: actions/upload-artifact@v3 + with: + name: removed + path: upload/removed + if-no-files-found: error + + - name: Upload to R2 + run: | + aws s3 sync \ + upload/removed \ + s3://data-v2/removed \ + --endpoint-url ${{ secrets.CF_R2_ENDPOINT_DATA }} + env: + AWS_ACCESS_KEY_ID: ${{ secrets.CF_R2_KEY_ID }} + AWS_SECRET_ACCESS_KEY: ${{ secrets.CF_R2_SECRET_ACCESS_KEY }} + + - name: Discord notification + if: ${{ github.event_name == 'schedule' && failure() }} + run: | + curl \ + -H "Content-Type: application/json" \ + -d '{"username": "GitHub action failure", "content": "[Scheduled action failed!](https://github.com/${{github.repository}}/actions/runs/${{github.run_id}})"}' \ + ${{ secrets.DISCORD_WEBHOOK_ACTION_FAILURE }}