Update DNA Plugin to v0.5.1 #98
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Upload to DigitalOcean | |
| on: | |
| push: | |
| branches: [ "main" ] | |
| workflow_dispatch: | |
| env: | |
| DESTINATION-PATH: 'cl-cdn' | |
| CDN-URL: 'https://cdn.collapselauncher.com' | |
| jobs: | |
| Fetch: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout | |
| run: | | |
| git clone --depth 1 https://github.com/CollapseLauncher/CollapseLauncher-ReleaseRepo.git cl-cdn | |
| - name: Clean unused objects | |
| run: | | |
| rm -rf ./cl-cdn/.git | |
| rm -rf ./cl-cdn/.github | |
| rm -rf ./cl-cdn/actions | |
| rm -rf ./cl-cdn/.gitignore | |
| rm -rf ./cl-cdn/LICENSE | |
| rm -rf ./cl-cdn/pack.bat | |
| - name: Move folders around | |
| run: | | |
| echo Root folder | |
| mkdir -p ./cl-cdn/folderroot | |
| mkdir -p ./cl-cdn/folderroot/inhouse-plugin | |
| mv ./cl-cdn/inhouse-plugin/* ./cl-cdn/folderroot/inhouse-plugin/ | |
| mv ./cl-cdn/ApplyUpdate.exe ./cl-cdn/changelog_preview.md ./cl-cdn/changelog_stable.md ./cl-cdn/CollapseLauncher.Hi3CacheUpdater.cmd ./cl-cdn/folderroot/ | |
| mv ./cl-cdn/notification_notepreview ./cl-cdn/notification_notestable ./cl-cdn/notification_preview.json ./cl-cdn/notification_stable.json ./cl-cdn/Update.exe ./cl-cdn/folderroot/ | |
| mv ./cl-cdn/InstallerSprite.gif ./cl-cdn/folderroot/ | |
| mkdir -p ./cl-cdn/folderroot/preview | |
| mkdir -p ./cl-cdn/folderroot/stable | |
| mv ./cl-cdn/preview/* ./cl-cdn/folderroot/preview/ | |
| mv ./cl-cdn/stable/* ./cl-cdn/folderroot/stable/ | |
| echo Metadata | |
| mkdir -p ./cl-cdn/metadata/metadata-root | |
| mkdir -p ./cl-cdn/metadata/metadata-root/v3 | |
| mv ./cl-cdn/metadata/v3/* ./cl-cdn/metadata/metadata-root/v3/ | |
| mv ./cl-cdn/metadata/metadatav2_previewconfig.json ./cl-cdn/metadata/metadatav2_previewstamp.json ./cl-cdn/metadata/metadata-root/ | |
| mv ./cl-cdn/metadata/metadatav2_stableconfig.json ./cl-cdn/metadata/metadatav2_stablestamp.json ./cl-cdn/metadata/metadata-root/ | |
| echo Images | |
| mkdir -p ./cl-cdn/metadata/metadata-images/game_logos | |
| mkdir -p ./cl-cdn/metadata/metadata-images/game_posters | |
| mkdir -p ./cl-cdn/metadata/metadata-images/steam_assets | |
| mv ./cl-cdn/metadata/game_logos/* ./cl-cdn/metadata/metadata-images/game_logos/ | |
| mv ./cl-cdn/metadata/game_posters/* ./cl-cdn/metadata/metadata-images/game_posters/ | |
| mv ./cl-cdn/metadata/steam_assets/* ./cl-cdn/metadata/metadata-images/steam_assets/ | |
| echo ApplyUpdate | |
| mkdir -p ./cl-cdn/applyupdate/stable | |
| mkdir -p ./cl-cdn/applyupdate/preview | |
| mv ./cl-cdn/preview ./cl-cdn/applyupdate/ | |
| mv ./cl-cdn/stable ./cl-cdn/applyupdate/ | |
| - name: Archive objects | |
| run: | | |
| zip -0 -r root-cdn.zip ./cl-cdn/folderroot | |
| zip -0 -r root-metadata.zip ./cl-cdn/metadata/metadata-root | |
| zip -0 -r gameimages.zip ./cl-cdn/metadata/metadata-images | |
| zip -0 -r indexes_hi3.zip ./cl-cdn/metadata/repair_indexes/Hi3CN ./cl-cdn/metadata/repair_indexes/Hi3Global ./cl-cdn/metadata/repair_indexes/Hi3JP ./cl-cdn/metadata/repair_indexes/Hi3KR ./cl-cdn/metadata/repair_indexes/Hi3SEA ./cl-cdn/metadata/repair_indexes/Hi3TW | |
| zip -0 -r indexes_hsr.zip ./cl-cdn/metadata/repair_indexes/SRCN ./cl-cdn/metadata/repair_indexes/HSRCNBilibili ./cl-cdn/metadata/repair_indexes/SRGlb | |
| zip -0 -r indexes_zzz.zip ./cl-cdn/metadata/repair_indexes/ZZZBilibili ./cl-cdn/metadata/repair_indexes/ZZZCN ./cl-cdn/metadata/repair_indexes/ZZZGlb | |
| zip -0 -r applyupdate.zip ./cl-cdn/applyupdate | |
| zip -0 -r velopack-preview.zip ./cl-cdn/velopack/preview | |
| zip -0 -r velopack-stable.zip ./cl-cdn/velopack/stable | |
| - name: Upload root-cdn | |
| uses: actions/[email protected] | |
| with: | |
| name: root-cdn | |
| path: root-cdn.zip | |
| retention-days: 1 | |
| compression-level: 0 | |
| - name: Upload root-metadata | |
| uses: actions/[email protected] | |
| with: | |
| name: root-metadata | |
| path: root-metadata.zip | |
| retention-days: 1 | |
| compression-level: 0 | |
| - name: Upload root-metadata | |
| uses: actions/[email protected] | |
| with: | |
| name: gameimages | |
| path: gameimages.zip | |
| retention-days: 1 | |
| compression-level: 0 | |
| - name: Upload indexes_hi3 | |
| uses: actions/[email protected] | |
| with: | |
| name: indexes_hi3 | |
| path: indexes_hi3.zip | |
| retention-days: 1 | |
| compression-level: 0 | |
| - name: Upload indexes_hsr | |
| uses: actions/[email protected] | |
| with: | |
| name: indexes_hsr | |
| path: indexes_hsr.zip | |
| retention-days: 1 | |
| compression-level: 0 | |
| - name: Upload indexes_zzz | |
| uses: actions/[email protected] | |
| with: | |
| name: indexes_zzz | |
| path: indexes_zzz.zip | |
| retention-days: 1 | |
| compression-level: 0 | |
| - name: Upload applyupdate | |
| uses: actions/[email protected] | |
| with: | |
| name: applyupdate | |
| path: applyupdate.zip | |
| retention-days: 1 | |
| compression-level: 0 | |
| - name: Upload velopack-preview | |
| uses: actions/[email protected] | |
| with: | |
| name: velopack-preview | |
| path: velopack-preview.zip | |
| retention-days: 1 | |
| compression-level: 0 | |
| - name: Upload velopack-stable | |
| uses: actions/[email protected] | |
| with: | |
| name: velopack-stable | |
| path: velopack-stable.zip | |
| retention-days: 1 | |
| compression-level: 0 | |
| Sync-Root: | |
| runs-on: ubuntu-latest | |
| needs: Fetch | |
| steps: | |
| - name: Download | |
| uses: actions/[email protected] | |
| with: | |
| name: root-cdn | |
| - name: Extract Archive | |
| run: unzip -qq root-cdn.zip -d root-cdn | |
| - name: Upload | |
| uses: BetaHuhn/do-spaces-action@v2 | |
| with: | |
| access_key: ${{ secrets.DO_SPACES_KEY}} | |
| secret_key: ${{ secrets.DO_SPACES_SECRET }} | |
| space_name: ${{ secrets.DO_SPACES_NAME }} | |
| space_region: ${{ secrets.DO_SPACES_REGION }} | |
| source: root-cdn/cl-cdn/folderroot | |
| out_dir: ${{ env.DESTINATION-PATH }} | |
| cdn_domain: ${{ env.CDN-URL }} | |
| versioning: false | |
| Sync-Metadata: | |
| runs-on: ubuntu-latest | |
| needs: Fetch | |
| steps: | |
| - name: Download Archive Artifact | |
| uses: actions/[email protected] | |
| with: | |
| name: root-metadata | |
| - name: Extract Archive | |
| run: | | |
| unzip -qq root-metadata.zip -d root-metadata | |
| - name: Upload | |
| uses: BetaHuhn/do-spaces-action@v2 | |
| with: | |
| access_key: ${{ secrets.DO_SPACES_KEY}} | |
| secret_key: ${{ secrets.DO_SPACES_SECRET }} | |
| space_name: ${{ secrets.DO_SPACES_NAME }} | |
| space_region: ${{ secrets.DO_SPACES_REGION }} | |
| source: root-metadata/cl-cdn/metadata/metadata-root | |
| out_dir: '${{ env.DESTINATION-PATH }}/metadata' | |
| cdn_domain: ${{ env.CDN-URL }} | |
| versioning: false | |
| Sync-Images: | |
| runs-on: ubuntu-latest | |
| needs: Fetch | |
| steps: | |
| - name: Download Archive Artifact (gameimages) | |
| uses: actions/[email protected] | |
| with: | |
| name: gameimages | |
| - name: Extract Archive | |
| run: | | |
| unzip -qq gameimages.zip -d root-metadata | |
| - name: Upload logos | |
| uses: BetaHuhn/do-spaces-action@v2 | |
| with: | |
| access_key: ${{ secrets.DO_SPACES_KEY}} | |
| secret_key: ${{ secrets.DO_SPACES_SECRET }} | |
| space_name: ${{ secrets.DO_SPACES_NAME }} | |
| space_region: ${{ secrets.DO_SPACES_REGION }} | |
| source: root-metadata/cl-cdn/metadata/metadata-images/game_logos | |
| out_dir: '${{ env.DESTINATION-PATH }}/metadata/game_logos' | |
| cdn_domain: ${{ env.CDN-URL }} | |
| versioning: false | |
| - name: Upload posters | |
| uses: BetaHuhn/do-spaces-action@v2 | |
| with: | |
| access_key: ${{ secrets.DO_SPACES_KEY}} | |
| secret_key: ${{ secrets.DO_SPACES_SECRET }} | |
| space_name: ${{ secrets.DO_SPACES_NAME }} | |
| space_region: ${{ secrets.DO_SPACES_REGION }} | |
| source: root-metadata/cl-cdn/metadata/metadata-images/game_posters | |
| out_dir: '${{ env.DESTINATION-PATH }}/metadata/game_posters' | |
| cdn_domain: ${{ env.CDN-URL }} | |
| versioning: false | |
| - name: Upload steam_assets | |
| uses: BetaHuhn/do-spaces-action@v2 | |
| with: | |
| access_key: ${{ secrets.DO_SPACES_KEY}} | |
| secret_key: ${{ secrets.DO_SPACES_SECRET }} | |
| space_name: ${{ secrets.DO_SPACES_NAME }} | |
| space_region: ${{ secrets.DO_SPACES_REGION }} | |
| source: root-metadata/cl-cdn/metadata/metadata-images/steam_assets | |
| out_dir: '${{ env.DESTINATION-PATH }}/metadata/steam_assets' | |
| cdn_domain: ${{ env.CDN-URL }} | |
| versioning: false | |
| Sync-Indexes-Hi3: | |
| runs-on: ubuntu-latest | |
| needs: Fetch | |
| steps: | |
| - name: Download Archive Artifact | |
| uses: actions/[email protected] | |
| with: | |
| name: indexes_hi3 | |
| - name: Extract Archive | |
| run: | | |
| unzip -qq indexes_hi3.zip -d indexes_hi3 | |
| - name: Upload | |
| uses: BetaHuhn/do-spaces-action@v2 | |
| with: | |
| access_key: ${{ secrets.DO_SPACES_KEY}} | |
| secret_key: ${{ secrets.DO_SPACES_SECRET }} | |
| space_name: ${{ secrets.DO_SPACES_NAME }} | |
| space_region: ${{ secrets.DO_SPACES_REGION }} | |
| source: indexes_hi3/cl-cdn/metadata/repair_indexes | |
| out_dir: '${{ env.DESTINATION-PATH }}/metadata/repair_indexes' | |
| cdn_domain: ${{ env.CDN-URL }} | |
| versioning: false | |
| Sync-Indexes-HSR: | |
| runs-on: ubuntu-latest | |
| needs: Fetch | |
| steps: | |
| - name: Download Archive Artifact | |
| uses: actions/[email protected] | |
| with: | |
| name: indexes_hsr | |
| - name: Extract Archive | |
| run: | | |
| unzip -qq indexes_hsr.zip -d indexes_hsr | |
| - name: Upload | |
| uses: BetaHuhn/do-spaces-action@v2 | |
| with: | |
| access_key: ${{ secrets.DO_SPACES_KEY}} | |
| secret_key: ${{ secrets.DO_SPACES_SECRET }} | |
| space_name: ${{ secrets.DO_SPACES_NAME }} | |
| space_region: ${{ secrets.DO_SPACES_REGION }} | |
| source: indexes_hsr/cl-cdn/metadata/repair_indexes | |
| out_dir: '${{ env.DESTINATION-PATH }}/metadata/repair_indexes' | |
| cdn_domain: ${{ env.CDN-URL }} | |
| versioning: false | |
| Sync-Indexes-ZZZ: | |
| runs-on: ubuntu-latest | |
| needs: Fetch | |
| steps: | |
| - name: Download Archive Artifact | |
| uses: actions/[email protected] | |
| with: | |
| name: indexes_zzz | |
| - name: Extract Archive | |
| run: | | |
| unzip -qq indexes_zzz.zip -d indexes_zzz | |
| - name: Upload | |
| uses: BetaHuhn/do-spaces-action@v2 | |
| with: | |
| access_key: ${{ secrets.DO_SPACES_KEY}} | |
| secret_key: ${{ secrets.DO_SPACES_SECRET }} | |
| space_name: ${{ secrets.DO_SPACES_NAME }} | |
| space_region: ${{ secrets.DO_SPACES_REGION }} | |
| source: indexes_zzz/cl-cdn/metadata/repair_indexes | |
| out_dir: '${{ env.DESTINATION-PATH }}/metadata/repair_indexes' | |
| cdn_domain: ${{ env.CDN-URL }} | |
| versioning: false | |
| Sync-ApplyUpdate: | |
| runs-on: ubuntu-latest | |
| needs: Fetch | |
| steps: | |
| - name: Download Archive Artifact | |
| uses: actions/[email protected] | |
| with: | |
| name: applyupdate | |
| - name: Extract Archive | |
| run: unzip -qq applyupdate.zip -d applyupdate | |
| - name: Upload preview | |
| uses: BetaHuhn/do-spaces-action@v2 | |
| with: | |
| access_key: ${{ secrets.DO_SPACES_KEY}} | |
| secret_key: ${{ secrets.DO_SPACES_SECRET }} | |
| space_name: ${{ secrets.DO_SPACES_NAME }} | |
| space_region: ${{ secrets.DO_SPACES_REGION }} | |
| source: applyupdate/cl-cdn/applyupdate/preview | |
| out_dir: '${{ env.DESTINATION-PATH }}/metadata/preview' | |
| cdn_domain: ${{ env.CDN-URL }} | |
| versioning: false | |
| - name: Upload | |
| uses: BetaHuhn/do-spaces-action@v2 | |
| with: | |
| access_key: ${{ secrets.DO_SPACES_KEY}} | |
| secret_key: ${{ secrets.DO_SPACES_SECRET }} | |
| space_name: ${{ secrets.DO_SPACES_NAME }} | |
| space_region: ${{ secrets.DO_SPACES_REGION }} | |
| source: applyupdate/cl-cdn/applyupdate/stable | |
| out_dir: '${{ env.DESTINATION-PATH }}/stable' | |
| cdn_domain: ${{ env.CDN-URL }} | |
| versioning: false | |
| Sync-Velopack-Preview: | |
| runs-on: ubuntu-latest | |
| needs: Fetch | |
| steps: | |
| - name: Download Archive Artifact | |
| uses: actions/[email protected] | |
| with: | |
| name: velopack-preview | |
| - name: Extract Archive | |
| run: unzip -qq velopack-preview.zip -d velopack-preview | |
| - name: Upload | |
| uses: BetaHuhn/do-spaces-action@v2 | |
| with: | |
| access_key: ${{ secrets.DO_SPACES_KEY}} | |
| secret_key: ${{ secrets.DO_SPACES_SECRET }} | |
| space_name: ${{ secrets.DO_SPACES_NAME }} | |
| space_region: ${{ secrets.DO_SPACES_REGION }} | |
| source: velopack-preview/cl-cdn/velopack/preview | |
| out_dir: '${{ env.DESTINATION-PATH }}/velopack/preview' | |
| cdn_domain: ${{ env.CDN-URL }} | |
| versioning: false | |
| Sync-Velopack-Stable: | |
| runs-on: ubuntu-latest | |
| needs: Fetch | |
| steps: | |
| - name: Download Archive Artifact | |
| uses: actions/[email protected] | |
| with: | |
| name: velopack-stable | |
| - name: Extract Archive | |
| run: unzip -qq velopack-stable.zip -d velopack-stable | |
| - name: Upload | |
| uses: BetaHuhn/do-spaces-action@v2 | |
| with: | |
| access_key: ${{ secrets.DO_SPACES_KEY}} | |
| secret_key: ${{ secrets.DO_SPACES_SECRET }} | |
| space_name: ${{ secrets.DO_SPACES_NAME }} | |
| space_region: ${{ secrets.DO_SPACES_REGION }} | |
| source: velopack-stable/cl-cdn/velopack/stable | |
| out_dir: '${{ env.DESTINATION-PATH }}/velopack/stable' | |
| cdn_domain: ${{ env.CDN-URL }} | |
| versioning: false | |
| Purge-Cache: | |
| runs-on: ubuntu-latest | |
| if: always() # always purge cache whenever it fails or succeed | |
| needs: [Sync-Root, Sync-Metadata, Sync-Images, Sync-ApplyUpdate, Sync-Indexes-Hi3, Sync-Indexes-HSR, Sync-Indexes-ZZZ, Sync-Velopack-Preview, Sync-Velopack-Stable] | |
| steps: | |
| - name: Purge Cloudflare cache | |
| run: | | |
| curl -X POST "https://api.cloudflare.com/client/v4/zones/${{ secrets.CF_PURGE_CACHE_ZONEID_CL }}/purge_cache" \ | |
| -H "Authorization: Bearer ${{ secrets.CF_PURGE_CACHE_TOKEN_CL }}" \ | |
| -H "Content-Type: application/json" \ | |
| --data "{ \"purge_everything\": true }" | |
| - name: Install doctl | |
| uses: digitalocean/action-doctl@v2 | |
| with: | |
| token: ${{ secrets.DO_PURGE_TOKEN }} | |
| - name: Purge DigitalOcean cache | |
| run: | | |
| doctl compute cdn flush a94b5dfc-8dfe-4060-99ec-14526d813c22 --verbose --files ${{ env.DESTINATION-PATH }}/* |