spotube/.github/workflows/release-build.yml
Kingkor Roy Tirtho 5da2184183 fixed package name for exe
changed tag param for github-release update action
2022-04-26 19:55:58 +06:00

73 lines
2.8 KiB
YAML

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 }}