diff --git a/.github/workflows/build-and-upload.yml b/.github/workflows/build-and-upload.yml index 6d30c8d..2196b9e 100644 --- a/.github/workflows/build-and-upload.yml +++ b/.github/workflows/build-and-upload.yml @@ -1,6 +1,5 @@ -name: Build and Upload Optimized Resource Pack +name: CI/CD for Minecraft Resource Pack -# Trigger the workflow on push to the main branch or on pull requests on: push: branches: @@ -13,70 +12,23 @@ jobs: build: runs-on: ubuntu-latest - env: - PACKSQUASH_REPO: ComunidadAylas/PackSquash - steps: - # Step 1: Check out the repository - - name: Checkout Repository + - name: Checkout repository uses: actions/checkout@v3 - # Step 2: Set up dependencies (e.g., jq for JSON parsing) - - name: Install Dependencies - run: sudo apt-get update && sudo apt-get install -y jq unzip - - # Step 3: Fetch the latest PackSquash release information - - name: Get Latest PackSquash Release - id: get_release - uses: actions/github-script@v6 + - name: Set up Node.js + uses: actions/setup-node@v3 with: - script: | - const repo = process.env.PACKSQUASH_REPO; - const response = await github.rest.repos.getLatestRelease({ - owner: repo.split('/')[0], - repo: repo.split('/')[1], - }); - const assets = response.data.assets; - // Determine the OS and architecture - let assetName = ''; - if (process.platform === 'linux') { - assetName = assets.find(asset => asset.name.includes('linux') && asset.name.endsWith('.zip')).browser_download_url; - } else if (process.platform === 'win32') { - assetName = assets.find(asset => asset.name.includes('windows') && asset.name.endsWith('.zip')).browser_download_url; - } else if (process.platform === 'darwin') { - assetName = assets.find(asset => asset.name.includes('macos') && asset.name.endsWith('.zip')).browser_download_url; - } else { - throw new Error('Unsupported OS'); - } - return assetName; + node-version: '16' - # Step 4: Download the latest PackSquash release - - name: Download PackSquash - run: | - echo "Downloading PackSquash from ${{ steps.get_release.outputs.result }}" - curl -L "${{ steps.get_release.outputs.result }}" -o pack_squash.zip + - name: Install dependencies + run: npm install - # Step 5: Extract PackSquash - - name: Extract PackSquash - run: unzip pack_squash.zip -d pack_squash + - name: Zip the resource pack + run: zip -r resource-pack.zip ./* - # Step 6: Ensure PackSquash is executable - - name: Make PackSquash Executable - run: chmod +x ./pack_squash/pack_squash - - # Step 7: Optimize the resource pack using PackSquash - - name: Optimize Resource Pack - run: | - ./pack_squash/pack_squash optimize ./path-to-your-resource-pack ./optimized-resource-pack - - # Step 8: Zip the optimized resource pack - - name: Zip Optimized Pack - run: | - zip -r optimized-resource-pack.zip ./optimized-resource-pack - - # Step 9: Upload the zipped artifact - - name: Upload Optimized Pack Artifact + - name: Upload artifact uses: actions/upload-artifact@v3 with: - name: optimized-resource-pack - path: optimized-resource-pack.zip \ No newline at end of file + name: resource-pack + path: resource-pack.zip \ No newline at end of file