diff --git a/.github/workflows/build-for-release.yml b/.github/workflows/build-for-release.yml new file mode 100644 index 0000000..8991898 --- /dev/null +++ b/.github/workflows/build-for-release.yml @@ -0,0 +1,74 @@ +name: Build for Release + +on: + workflow_dispatch: + inputs: + TAG_NAME: + description: 'Version (Tag Name)' + required: true + +jobs: + linux: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + + - name: Install system dependencies + run: | + sudo apt-get update -y + sudo apt-get install -y ninja-build libgtk-3-dev + + - name: Setup Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: '3.24.1' + + - name: Configure Flutter + run: flutter config --enable-linux-desktop + + - name: Get dependencies + run: flutter pub get + + - name: Build + run: flutter build linux --release --dart-define=commit=${{ github.event.inputs.TAG_NAME }} + + - name: Prepare for upload + run: | + mkdir upload + mv ./build/linux/x64/release/bundle/ ./upload/BlueMapGUI_${{ github.event.inputs.TAG_NAME }}_Linux_x64/ + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: "BlueMapGUI_${{ github.event.inputs.TAG_NAME }}_Linux_x64.zip" + path: './upload/' + + windows: + runs-on: windows-latest + steps: + - uses: actions/checkout@v4 + + - name: Setup Flutter + uses: subosito/flutter-action@v2 + with: + flutter-version: '3.24.1' + + - name: Configure Flutter + run: flutter config --enable-windows-desktop + + - name: Get dependencies + run: flutter pub get + + - name: Build + run: flutter build windows --release --dart-define=commit=${{ github.event.inputs.TAG_NAME }} + + - name: Prepare for upload + run: | + New-Item -Path . -Name "upload" -ItemType "directory" + Move-Item -Path "./build/windows/x64/runner/Release/" -Destination "./upload/BlueMapGUI_${{ github.event.inputs.TAG_NAME }}_Windows_x64/" + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + name: "BlueMapGUI_${{ github.event.inputs.TAG_NAME }}_Windows_x64.zip" + path: './upload/'