From 2639c6c1c1b414d01385013d99287fb622fa5bde Mon Sep 17 00:00:00 2001 From: tohru <65994850+Tohrusky@users.noreply.github.com> Date: Fri, 30 Jun 2023 12:19:35 +0800 Subject: [PATCH] update CI release --- .github/workflows/CI-Build.yml | 8 +- .github/workflows/CI-Test.yml | 12 +- .github/workflows/Release.yml | 279 +++++++++++++++++++++++++++++++++ 3 files changed, 289 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/Release.yml diff --git a/.github/workflows/CI-Build.yml b/.github/workflows/CI-Build.yml index 6243c62..3f6f6f3 100644 --- a/.github/workflows/CI-Build.yml +++ b/.github/workflows/CI-Build.yml @@ -32,7 +32,7 @@ jobs: - name: Download Final2x-core and unzip run: | cd .\resources - Invoke-WebRequest -Uri https://github.com/Tohrusky/Final2x-core/releases/download/2023-06-27/Final2x-core-windows-latest.zip -OutFile Final2x-core.zip + Invoke-WebRequest -Uri https://github.com/Tohrusky/Final2x-core/releases/download/2023-06-30/Final2x-core-windows-latest.zip -OutFile Final2x-core.zip 7z x Final2x-core.zip -oFinal2x-core del .\Final2x-core.zip @@ -95,14 +95,14 @@ jobs: if: matrix.os-version == 'x64' run: | cd ./resources - wget https://github.com/Tohrusky/Final2x-core/releases/download/2023-06-27/Final2x-core-macos-latest.zip -O Final2x-core.zip + wget https://github.com/Tohrusky/Final2x-core/releases/download/2023-06-30/Final2x-core-macos-latest.zip -O Final2x-core.zip - name: Download Final2x-core arm64 if: matrix.os-version == 'arm64' run: | cd ./resources - wget https://github.com/Tohrusky/Final2x-core/releases/download/2023-06-27/Final2x-core-macos-arm64.zip -O Final2x-core.zip + wget https://github.com/Tohrusky/Final2x-core/releases/download/2023-06-30/Final2x-core-macos-arm64.zip -O Final2x-core.zip - name: Unzip Final2x-core run: | @@ -148,7 +148,7 @@ jobs: - name: Download Final2x-core and unzip run: | cd ./resources - wget https://github.com/Tohrusky/Final2x-core/releases/download/2023-06-27/Final2x-core-ubuntu-20.04.zip -O Final2x-core.zip + wget https://github.com/Tohrusky/Final2x-core/releases/download/2023-06-30/Final2x-core-ubuntu-20.04.zip -O Final2x-core.zip unzip -d ./Final2x-core Final2x-core.zip rm Final2x-core.zip diff --git a/.github/workflows/CI-Test.yml b/.github/workflows/CI-Test.yml index 345915c..3324b0f 100644 --- a/.github/workflows/CI-Test.yml +++ b/.github/workflows/CI-Test.yml @@ -29,12 +29,12 @@ jobs: with: node-version: 20 - - name: Download Final2x-core and unzip - run: | - cd ./resources - wget https://github.com/Tohrusky/Final2x-core/releases/download/2023-06-27/Final2x-core-ubuntu-20.04.zip -O Final2x-core.zip - unzip -d ./Final2x-core Final2x-core.zip - rm Final2x-core.zip +# - name: Download Final2x-core and unzip +# run: | +# cd ./resources +# wget https://github.com/Tohrusky/Final2x-core/releases/download/2023-06-27/Final2x-core-ubuntu-20.04.zip -O Final2x-core.zip +# unzip -d ./Final2x-core Final2x-core.zip +# rm Final2x-core.zip - name: Test run: | diff --git a/.github/workflows/Release.yml b/.github/workflows/Release.yml new file mode 100644 index 0000000..14412d5 --- /dev/null +++ b/.github/workflows/Release.yml @@ -0,0 +1,279 @@ +name: Release + +on: + workflow_dispatch: + +jobs: + + setup: + runs-on: ubuntu-latest + outputs: + DATE: ${{ steps.get_date.outputs.DATE }} + steps: + - name: Get current date + id: get_date + run: echo "DATE=$(date +'%Y-%m-%d')" >> $GITHUB_OUTPUT + + + windows: + strategy: + matrix: + os-version: [ "x64", "arm64" ] + + runs-on: windows-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - uses: actions/setup-node@v3 + with: + node-version: 20 + + - name: Download Final2x-core and unzip + run: | + cd .\resources + Invoke-WebRequest -Uri https://github.com/Tohrusky/Final2x-core/releases/download/2023-06-30/Final2x-core-windows-latest.zip -OutFile Final2x-core.zip + 7z x Final2x-core.zip -oFinal2x-core + del .\Final2x-core.zip + + - name: build + run: | + npm install + npm run build:win-${{ matrix.os-version }} + env: + GH_TOKEN: ${{ secrets.GH_TOKEN }} + + - name: zip-unpacked-x64 + if : matrix.os-version == 'x64' + run: | + cd .\dist\win-unpacked + 7z a -r Final2x-windows-${{ matrix.os-version }}-unpacked.zip * + + - name: zip-unpacked-arm64 + if : matrix.os-version == 'arm64' + run: | + cd .\dist\win-arm64-unpacked + 7z a -r Final2x-windows-${{ matrix.os-version }}-unpacked.zip * + + - name: rename + run: | + cd .\dist + ren *.exe Final2x-windows-${{ matrix.os-version }}-setup.exe + shell: cmd + + - name: upload-setup + uses: actions/upload-artifact@v3 + with: + path: dist/*.exe + + - name: upload-unpacked-x64 + if : matrix.os-version == 'x64' + uses: actions/upload-artifact@v3 + with: + path: dist/win-unpacked/Final2x-windows-${{ matrix.os-version }}-unpacked.zip + + - name: upload-unpacked-arm64 + if : matrix.os-version == 'arm64' + uses: actions/upload-artifact@v3 + with: + path: dist/win-arm64-unpacked/Final2x-windows-${{ matrix.os-version }}-unpacked.zip + + + macos: + strategy: + matrix: + os-version: [ "x64", "arm64" ] + + runs-on: macos-latest + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - uses: actions/setup-node@v3 + with: + node-version: 20 + + - name: Download Final2x-core x64 + if: matrix.os-version == 'x64' + run: | + cd ./resources + wget https://github.com/Tohrusky/Final2x-core/releases/download/2023-06-30/Final2x-core-macos-latest.zip -O Final2x-core.zip + + - name: Download Final2x-core arm64 + if: matrix.os-version == 'arm64' + run: | + cd ./resources + wget https://github.com/Tohrusky/Final2x-core/releases/download/2023-06-30/Final2x-core-macos-arm64.zip -O Final2x-core.zip + + - name: Unzip Final2x-core + run: | + cd ./resources + unzip -d ./Final2x-core Final2x-core.zip + rm Final2x-core.zip + + - name: build + run: | + npm install + npm run build:mac-${{ matrix.os-version }} + env: + GH_TOKEN: ${{ secrets.GH_TOKEN }} + + - name: rename + run: | + cd ./dist + mv *.dmg Final2x-macos-${{ matrix.os-version }}-dmg.dmg + mv *.zip Final2x-macos-${{ matrix.os-version }}-unpacked.zip + + - name: upload-dmg + uses: actions/upload-artifact@v3 + with: + path: dist/*.dmg + + - name: upload-unpacked + uses: actions/upload-artifact@v3 + with: + path: dist/*.zip + + + ubuntu: + strategy: + matrix: + os-version: [ "x64" ] + + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - uses: actions/setup-node@v3 + with: + node-version: 20 + + - name: Download Final2x-core and unzip + run: | + cd ./resources + wget https://github.com/Tohrusky/Final2x-core/releases/download/2023-06-30/Final2x-core-ubuntu-20.04.zip -O Final2x-core.zip + unzip -d ./Final2x-core Final2x-core.zip + rm Final2x-core.zip + + - name: build + run: | + npm install + npm run build:linux-${{ matrix.os-version }} + env: + GH_TOKEN: ${{ secrets.GH_TOKEN }} + + - name: zip-unpacked + run: | + cd ./dist/linux-unpacked + zip -9 -r Final2x-ubuntu-${{ matrix.os-version }}-unpacked.zip ./* + + - name: rename + run: | + cd ./dist + mv *.snap Final2x-ubuntu-${{ matrix.os-version }}-snap.snap + mv *.AppImage Final2x-ubuntu-${{ matrix.os-version }}-AppImage.AppImage + mv *.deb Final2x-ubuntu-${{ matrix.os-version }}-deb.deb + + - name: upload-snap + uses: actions/upload-artifact@v3 + with: + path: dist/*.snap + + - name: upload-AppImage + uses: actions/upload-artifact@v3 + with: + path: dist/*.AppImage + + - name: upload-deb + uses: actions/upload-artifact@v3 + with: + path: dist/*.deb + + - name: upload-unpacked + uses: actions/upload-artifact@v3 + with: + path: dist/linux-unpacked/Final2x-ubuntu-${{ matrix.os-version }}-unpacked.zip + + + linux-pip: + strategy: + matrix: + os-version: [ "x64" ] + + runs-on: ubuntu-20.04 + steps: + - uses: actions/checkout@v3 + with: + submodules: recursive + + - uses: actions/setup-node@v3 + with: + node-version: 20 + + - name: build + run: | + npm install + npm run build:linux-${{ matrix.os-version }} + env: + GH_TOKEN: ${{ secrets.GH_TOKEN }} + + - name: zip-unpacked + run: | + cd ./dist/linux-unpacked + zip -9 -r Final2x-linux-pip-${{ matrix.os-version }}-unpacked.zip ./* + + - name: rename + run: | + cd ./dist + mv *.snap Final2x-linux-pip-${{ matrix.os-version }}-snap.snap + mv *.AppImage Final2x-linux-pip-${{ matrix.os-version }}-AppImage.AppImage + mv *.deb Final2x-linux-pip-${{ matrix.os-version }}-deb.deb + + - name: upload-snap + uses: actions/upload-artifact@v3 + with: + path: dist/*.snap + + - name: upload-AppImage + uses: actions/upload-artifact@v3 + with: + path: dist/*.AppImage + + - name: upload-deb + uses: actions/upload-artifact@v3 + with: + path: dist/*.deb + + - name: upload-unpacked + uses: actions/upload-artifact@v3 + with: + path: dist/linux-unpacked/Final2x-linux-pip-${{ matrix.os-version }}-unpacked.zip + + + Release: + needs: [ setup, windows, macos, ubuntu, linux-pip ] + runs-on: ubuntu-latest + steps: + - uses: actions/download-artifact@v3 + with: + path: asset + + - name: dist + run: | + mkdir dist + cp asset/artifact/* dist + cd dist && ls + + - name: Create Release and Upload Release Asset + uses: softprops/action-gh-release@v1 + with: + name: Release ${{ needs.setup.outputs.DATE }} + tag_name: ${{ needs.setup.outputs.DATE }} + body: Auto Release. + draft: false + prerelease: false + files: dist/*