name: Spotube Build & Release on: release: types: - published jobs: publish_chocolatey: runs-on: windows-latest steps: - uses: actions/checkout@v3 - uses: actions/checkout@v3 with: repository: KRTirtho/flutter_distributor ref: deb-implementation path: build/flutter_distributor - name: Get latest tag id: tag uses: dawidd6/action-get-tag@v1 with: # Optionally strip `v` prefix strip_v: true # Replace Version in files - run: | choco install sed make -y sed -i "s/%{{SPOTUBE_VERSION}}%/${{ steps.tag.outputs.tag }}/" windows/runner/Runner.rc sed -i "s/%{{SPOTUBE_VERSION}}%/${{ steps.tag.outputs.tag }}/" choco-struct/tools/VERIFICATION.txt sed -i "s/%{{SPOTUBE_VERSION}}%/${{ steps.tag.outputs.tag }}/" choco-struct/spotube.nuspec # Build Windows Executable - uses: subosito/flutter-action@v2.2.0 with: cache: true - run: | flutter config --enable-windows-desktop flutter pub get dart bin/create-secrets.dart '${{ secrets.LYRICS_SECRET }}' '${{ secrets.SPOTIFY_SECRET }}' make innoinstall dart pub global activate --source path build/flutter_distributor/packages/flutter_distributor flutter_distributor package --platform=windows --targets=exe --skip-clean # Create Chocolatey Package # setting the sha256 hash for new bundle - run: | Set-Variable -Name HASH -Value (Get-FileHash dist\${{ steps.tag.outputs.tag }}\spotube-${{ steps.tag.outputs.tag }}+${{ steps.tag.outputs.tag }}-windows.exe).Hash sed -i "s/%{{WIN_SHA256}}%/$HASH/" choco-struct/tools/VERIFICATION.txt make VERSION=${{ steps.tag.outputs.tag }} choco # Rename the artifacts - run: | Rename-Item -Path dist/${{ steps.tag.outputs.tag }}/spotube.${{ steps.tag.outputs.tag }}.nupkg -NewName Spotube-windows-x86_64.nupkg Rename-Item -Path dist/${{ steps.tag.outputs.tag }}/spotube-${{ steps.tag.outputs.tag }}+${{ steps.tag.outputs.tag }}-windows.exe Spotube-windows-x86_64-setup.exe # Upload release binary - uses: meeDamian/github-release@2.0 with: token: ${{ secrets.GITHUB_TOKEN }} tag: v${{ steps.tag.outputs.tag }} files: dist/${{ steps.tag.outputs.tag }} # Publish to Chocolatey Repository - run: | choco apikey -k ${{ secrets.CHOCO_API_KEY }} -s https://push.chocolatey.org/ echo 'published to community.chocolatey.org' # choco push dist/${{ steps.tag.outputs.tag }}/Spotube-windows-x86_64.nupkg # Upload artifacts - uses: actions/upload-artifact@v3 with: name: Spotube-Windows-Bundle path: dist/${{ steps.tag.outputs.tag }}