From cc05412b47e2476869f34ea552ba50ea3b65e255 Mon Sep 17 00:00:00 2001 From: stelzo Date: Wed, 20 Sep 2023 19:03:59 +0200 Subject: [PATCH] download script --- .github/workflows/release.yml | 133 ++++++++++------------------------ download.sh | 90 +++++++++++++++++++++++ 2 files changed, 129 insertions(+), 94 deletions(-) create mode 100644 download.sh diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 57218a3..6bc4426 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,99 +1,44 @@ name: release on: - workflow_dispatch: - inputs: - version: - type: string - description: The version that will be downloaded - required: true + workflow_dispatch: + inputs: + version: + type: string + description: The version that will be downloaded + required: true jobs: - tag: - runs-on: ubuntu-latest - steps: - - - name: Checkout - uses: actions/checkout@v2 - - - name: Tag snapshot - uses: tvdias/github-tagger@v0.0.1 - with: - repo-token: ${{ secrets.GITHUB_TOKEN }} - tag: "${{ github.event.inputs.version }}" - release: - needs: tag - runs-on: ubuntu-latest - steps: - - - name: System dependencies - run: sudo apt-get install curl -y - - - name: Get doduda - run: | - curl -s https://api.github.com/repos/dofusdude/doduda/releases/latest \ - | grep "browser_download_url.*Linux_x86_64.tar.gz" \ - | cut -d : -f 2,3 \ - | tr -d \" \ - | wget -qi - - tar -xzf doduda_Linux_x86_64.tar.gz - chmod +x doduda - - - name: Get data - run: | - docker pull stelzo/swf-renderer:latest - sudo ./doduda --headless --release beta - sudo ./doduda map --headless --indent --release beta - - - name: Images - run: | - tar -czf items_images.tar.gz data/img/item/ - tar -czf mounts_images.tar.gz data/img/mount/ - - tar -czf items_images_vector.tar.gz data/vector/item/ - tar -czf mounts_images_vector.tar.gz data/vector/mount/ - - sudo ./doduda render data/vector/mount data/img/mount 200 --headless --incremental dofusdude/dofus2-beta/mounts_images_200 - tar -czf mounts_images_200.tar.gz $( find data/img/mount -name "*-200.png" ) - - sudo ./doduda render data/vector/mount data/img/mount 400 --headless --incremental dofusdude/dofus2-beta/mounts_images_400 - tar -czf mounts_images_400.tar.gz $( find data/img/mount -name "*-400.png" ) - - sudo ./doduda render data/vector/mount data/img/mount 800 --headless --incremental dofusdude/dofus2-beta/mounts_images_800 - tar -czf mounts_images_800.tar.gz $( find data/img/mount -name "*-800.png" ) - - sudo ./doduda render data/vector/item data/img/item 200 --headless --incremental dofusdude/dofus2-beta/items_images_200 - tar -czf items_images_200.tar.gz $( find data/img/item -name "*-200.png" ) - - sudo ./doduda render data/vector/item data/img/item 400 --headless --incremental dofusdude/dofus2-beta/items_images_400 - tar -czf items_images_400.tar.gz $( find data/img/item -name "*-400.png" ) - - sudo ./doduda render data/vector/item data/img/item 800 --headless --incremental dofusdude/dofus2-beta/items_images_800 - tar -czf items_images_800.tar.gz $( find data/img/item -name "*-800.png" ) - - - name: Upload assets - uses: "marvinpinto/action-automatic-releases@latest" - with: - repo_token: "${{ secrets.GITHUB_TOKEN }}" - prerelease: false - title: "${{ github.event.inputs.version }}" - automatic_release_tag: "${{ github.event.inputs.version }}" - files: | - data/*.json - data/languages/*.json - items_images.tar.gz - items_images_200.tar.gz - items_images_400.tar.gz - items_images_800.tar.gz - mounts_images.tar.gz - mounts_images_200.tar.gz - mounts_images_400.tar.gz - mounts_images_800.tar.gz - items_images_vector.tar.gz - mounts_images_vector.tar.gz - - - name: Notify doduapi to update - run: | - curl -X POST \ - https://api.dofusdu.de/dofus2beta/update/${{ secrets.DODUAPI_TOKEN }} \ - -d '{"version":"${{ github.event.inputs.version }}"}' + tag: + runs-on: ubuntu-latest + steps: + - name: Checkout + uses: actions/checkout@v4 + - name: Tag snapshot + uses: tvdias/github-tagger@v0.0.1 + with: + repo-token: ${{ secrets.GITHUB_TOKEN }} + tag: "${{ github.event.inputs.version }}" + release: + needs: tag + runs-on: ubuntu-latest + steps: + - name: System dependencies + run: sudo apt-get install curl wget -y + - name: Checkout + uses: actions/checkout@v4 + - name: Download assets + run: ./download.sh + - name: Upload assets + uses: "marvinpinto/action-automatic-releases@latest" + with: + repo_token: "${{ secrets.GITHUB_TOKEN }}" + prerelease: false + title: "${{ github.event.inputs.version }}" + automatic_release_tag: "${{ github.event.inputs.version }}" + files: out/* + - name: Notify doduapi to update + run: | + curl -X POST \ + https://api.dofusdu.de/dofus2beta/update/${{ secrets.DODUAPI_TOKEN }} \ + -d '{"version":"${{ github.event.inputs.version }}"}' diff --git a/download.sh b/download.sh new file mode 100644 index 0000000..3a789c2 --- /dev/null +++ b/download.sh @@ -0,0 +1,90 @@ +#!/bin/bash -e + +docker pull stelzo/swf-to-svg:latest +docker pull stelzo/svg-to-png:latest + +if [[ $(uname) == "Linux" ]]; then + os="Linux" +elif [[ $(uname) == "Darwin" ]]; then + os="Darwin" +else + echo "Unsupported operating system" + exit 1 +fi + +rm -rf out + +curl -s https://api.github.com/repos/dofusdude/doduda/releases/latest \ + | grep "browser_download_url.*${os}_x86_64.tar.gz" \ + | cut -d : -f 2,3 \ + | tr -d \" \ + | wget -qi - + +tar -xzf "doduda_${os}_x86_64.tar.gz" +rm "doduda_${os}_x86_64.tar.gz" +chmod +x doduda + +./doduda --headless --release beta +echo "Done with loading" + +./doduda map --headless --indent --release beta +echo "Done with mapping" + +mkdir out + +tar -czf items_images.tar.gz data/img/item/ +tar -czf mounts_images.tar.gz data/img/mount/ + +mv items_images.tar.gz out/ +mv mounts_images.tar.gz out/ +echo "Created bitmaps" + +tar -czf items_images_vector.tar.gz data/vector/item/ +tar -czf mounts_images_vector.tar.gz data/vector/mount/ + +mv items_images_vector.tar.gz out/ +mv mounts_images_vector.tar.gz out/ +echo "Created vectors" + +mkdir -p data/vector/mount +mkdir -p data/img/mount + +echo "Starting rendering" +./doduda render data/vector/mount data/img/mount 200 --headless --incremental dofusdude/dofus2-beta/mounts_images_200 +tar -czf mounts_images_200.tar.gz $( find data/img/mount -name "*-200.png" ) + +./doduda render data/vector/mount data/img/mount 400 --headless --incremental dofusdude/dofus2-beta/mounts_images_400 +tar -czf mounts_images_400.tar.gz $( find data/img/mount -name "*-400.png" ) + +./doduda render data/vector/mount data/img/mount 800 --headless --incremental dofusdude/dofus2-beta/mounts_images_800 +tar -czf mounts_images_800.tar.gz $( find data/img/mount -name "*-800.png" ) + +mv mounts_images_200.tar.gz out/ +mv mounts_images_400.tar.gz out/ +mv mounts_images_800.tar.gz out/ +echo "Done with mounts image rendering" + +mkdir -p data/vector/item +mkdir -p data/img/item +./doduda render data/vector/item data/img/item 200 --headless --incremental dofusdude/dofus2-beta/items_images_200 +tar -czf items_images_200.tar.gz $( find data/img/item -name "*-200.png" ) + +./doduda render data/vector/item data/img/item 400 --headless --incremental dofusdude/dofus2-beta/items_images_400 +tar -czf items_images_400.tar.gz $( find data/img/item -name "*-400.png" ) + +./doduda render data/vector/item data/img/item 800 --headless --incremental dofusdude/dofus2-beta/items_images_800 +tar -czf items_images_800.tar.gz $( find data/img/item -name "*-800.png" ) + +mv items_images_200.tar.gz out/ +mv items_images_400.tar.gz out/ +mv items_images_800.tar.gz out/ +echo "Done with items image rendering" + +mv data/*.json out/ +mv data/languages/*.json out/ + +echo "Cleaning up" +rm -rf data +rm -rf manifest.json + +echo "~~ Finished ~~" \ No newline at end of file