diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index adf0fc8..ea9e900 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -1,6 +1,9 @@ name: Flutter CI -on: push +on: + push: + tags: + - "*" jobs: build-and-release-linux: @@ -24,18 +27,22 @@ jobs: run: flutter build linux --release - name: Build Appimage run: bash ./github_appimage_build.sh - - name: Set outputs - id: vars - run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT + - name: Compress action step + uses: a7ul/tar-action@v1.1.0 + id: compress + with: + command: c + files: build/linux/x64/release/bundle/ + outPath: renamer-linux.tar.gz - name: Linux Release uses: actions/upload-artifact@v4 with: - name: Renamer-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-linux - path: build/linux/x64/release/bundle + name: renamer-linux + path: renamer-linux.tar.gz - name: Linux Appimage Release uses: actions/upload-artifact@v4 with: - name: Renamer-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-appimage + name: renamer-appimage path: Renamer-x86_64.AppImage - uses: actions/setup-java@v2 with: @@ -49,17 +56,15 @@ jobs: run: | flutter build apk --release flutter build apk --release --split-per-abi - flutter build appbundle --release - mv build/app/outputs/bundle/release/app-release.aab build/app/outputs/flutter-apk/ env: KEYSTORE: renamer.jks KEYSTORE_PASSWORD: ${{ secrets.KEYSTORE_PASSWORD }} KEY_ALIAS: ${{ secrets.KEY_ALIAS }} KEY_PASSWORD: ${{ secrets.KEY_PASSWORD}} - name: Android Release - uses: actions/upload-artifact@v1 + uses: actions/upload-artifact@v4 with: - name: renamer-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-android + name: renamer-android path: build/app/outputs/flutter-apk @@ -88,13 +93,10 @@ jobs: run: npm install enigmavirtualbox -g - name: build single exe file run: enigmavirtualbox cli ".\evb\renamer.evb" - - name: Set output - id: vars - run: echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" - name: Windows Release uses: actions/upload-artifact@v4 with: - name: renamer-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-windows + name: renamer-win path: renamer.exe build-and-release-macos: @@ -118,22 +120,43 @@ jobs: run: npm install -g appdmg - name: build dmg run: appdmg ./dmg/config.json ./build/macos/Build/Products/Release/renamer.dmg - - name: Set outputs - id: vars - run: echo "sha_short=$(git rev-parse --short HEAD)" >> $GITHUB_OUTPUT - name: macOS Release uses: actions/upload-artifact@v4 with: - name: renamer-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-macos + name: renamer-macos path: build/macos/Build/Products/Release/renamer.dmg - name: Build ios run: | flutter build ios --release --no-codesign ln -sf ./build/ios/iphoneos Payload - zip -r9 renamer-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-release.ipa Payload/runner.app + zip -r9 renamer-release.ipa Payload/runner.app - name: ios Release uses: actions/upload-artifact@v4 with: - name: renamer-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-ios - path: renamer-${{github.ref_name}}-${{ steps.vars.outputs.sha_short }}-release.ipa + name: renamer-ios + path: renamer-release.ipa + + + upload: + runs-on: ubuntu-latest + needs: + - build-and-release-linux + - build-and-release-windows + - build-and-release-macos + steps: + - uses: actions/download-artifact@v4 + with: + path: ./renamer-release + merge-multiple: true + - name: Install dependencies + run: sudo apt-get install tree -y + - name: Upload Release + uses: ncipollo/release-action@v1 + with: + token: ${{ secrets.GIT_TOKEN }} + omitBodyDuringUpdate: true + omitNameDuringUpdate: true + omitPrereleaseDuringUpdate: true + allowUpdates: true + artifacts: renamer-release/*