mirror of
https://github.com/alexhopeoconnor/default.git
synced 2026-10-04 02:58:10 +10:00
Bumps [actions/checkout](https://github.com/actions/checkout) from 3.5.3 to 4.1.1. - [Release notes](https://github.com/actions/checkout/releases) - [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md) - [Commits](https://github.com/actions/checkout/compare/v3.5.3...v4.1.1) --- updated-dependencies: - dependency-name: actions/checkout dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Joakim Sørensen <ludeeus@ludeeus.dev>
74 lines
2.2 KiB
YAML
74 lines
2.2 KiB
YAML
name: Upload critical file to R2
|
|
|
|
on:
|
|
workflow_dispatch:
|
|
push:
|
|
branches:
|
|
- master
|
|
paths:
|
|
- critical
|
|
|
|
concurrency:
|
|
cancel-in-progress: true
|
|
group: upload-critical
|
|
|
|
jobs:
|
|
upload:
|
|
runs-on: ubuntu-latest
|
|
name: Upload
|
|
steps:
|
|
- name: Checkout the repository
|
|
uses: actions/checkout@v4.1.1
|
|
|
|
- name: Set up Python
|
|
uses: actions/setup-python@v5.0.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 critical file
|
|
run: |
|
|
mkdir -p upload/critical
|
|
jq -c . < critical > upload/critical/data.json
|
|
jq -c '[.[].repository]' < critical > upload/critical/repositories.json
|
|
|
|
- name: Upload artifacts
|
|
uses: actions/upload-artifact@v3
|
|
with:
|
|
name: critical
|
|
path: upload/critical
|
|
if-no-files-found: error
|
|
|
|
- name: Upload to R2
|
|
run: |
|
|
aws s3 sync \
|
|
upload/critical \
|
|
s3://data-v2/critical \
|
|
--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: Bust Cloudflare cache
|
|
run: |
|
|
curl --silent --show-error --fail -X POST \
|
|
"https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_ZONE_ID }}/purge_cache" \
|
|
-H "Authorization: Bearer ${{ secrets.CF_BUST_CACHE_TOKEN }}" \
|
|
-H "Content-Type: application/json" \
|
|
--data '{"files": ["https:\/\/data-v2.hacs.xyz\/critical\/data.json", "https:\/\/data-v2.hacs.xyz\/critical\/repositories.json"]}'
|
|
|
|
- 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 }}
|