Skip to content

Bump to v1.2.0 release #8

Bump to v1.2.0 release

Bump to v1.2.0 release #8

Workflow file for this run

name: Release
on:
push:
tags:
- 'v*'
permissions:
contents: write
env:
CARGO_TERM_COLOR: always
jobs:
build-windows:
runs-on: windows-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Build
run: cargo build --release
- name: Package
run: |
mkdir dist
cp target/release/nexview.exe dist/
cd dist && 7z a ../NexView-Windows-x64.zip nexview.exe
- uses: actions/upload-artifact@v4
with:
name: windows-build
path: NexView-Windows-x64.zip
build-macos-intel:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-apple-darwin
- uses: Swatinem/rust-cache@v2
- name: Build
run: cargo build --release --target x86_64-apple-darwin
- name: Create App Bundle
run: |
mkdir -p "NexView.app/Contents/MacOS"
mkdir -p "NexView.app/Contents/Resources"
cp target/x86_64-apple-darwin/release/nexview "NexView.app/Contents/MacOS/"
cat > "NexView.app/Contents/Info.plist" << 'PLIST'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleName</key>
<string>NexView</string>
<key>CFBundleDisplayName</key>
<string>NexView</string>
<key>CFBundleIdentifier</key>
<string>com.fahrenheitresearch.nexview</string>
<key>CFBundleVersion</key>
<string>1.2.0</string>
<key>CFBundleShortVersionString</key>
<string>1.2.0</string>
<key>CFBundleExecutable</key>
<string>nexview</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>NSHighResolutionCapable</key>
<true/>
<key>LSMinimumSystemVersion</key>
<string>10.15</string>
</dict>
</plist>
PLIST
- name: Sign App Bundle
run: codesign --force --deep -s - "NexView.app"
- name: Package DMG
run: |
hdiutil create -volname "NexView" -srcfolder "NexView.app" -ov -format UDZO NexView-macOS-Intel.dmg
- uses: actions/upload-artifact@v4
with:
name: macos-intel-build
path: NexView-macOS-Intel.dmg
build-macos-arm:
runs-on: macos-14
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Build
run: cargo build --release
- name: Create App Bundle
run: |
mkdir -p "NexView.app/Contents/MacOS"
mkdir -p "NexView.app/Contents/Resources"
cp target/release/nexview "NexView.app/Contents/MacOS/"
cat > "NexView.app/Contents/Info.plist" << 'PLIST'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleName</key>
<string>NexView</string>
<key>CFBundleDisplayName</key>
<string>NexView</string>
<key>CFBundleIdentifier</key>
<string>com.fahrenheitresearch.nexview</string>
<key>CFBundleVersion</key>
<string>1.2.0</string>
<key>CFBundleShortVersionString</key>
<string>1.2.0</string>
<key>CFBundleExecutable</key>
<string>nexview</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>NSHighResolutionCapable</key>
<true/>
<key>LSMinimumSystemVersion</key>
<string>11.0</string>
</dict>
</plist>
PLIST
- name: Sign App Bundle
run: codesign --force --deep -s - "NexView.app"
- name: Package DMG
run: |
hdiutil create -volname "NexView" -srcfolder "NexView.app" -ov -format UDZO NexView-macOS-AppleSilicon.dmg
- uses: actions/upload-artifact@v4
with:
name: macos-arm-build
path: NexView-macOS-AppleSilicon.dmg
build-linux:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: dtolnay/rust-toolchain@stable
- uses: Swatinem/rust-cache@v2
- name: Install system deps
run: |
sudo apt-get update
sudo apt-get install -y libxkbcommon-dev libwayland-dev libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev
- name: Build
run: cargo build --release
- name: Package
run: |
mkdir dist
cp target/release/nexview dist/
cd dist && tar czf ../NexView-Linux-x64.tar.gz nexview
- uses: actions/upload-artifact@v4
with:
name: linux-build
path: NexView-Linux-x64.tar.gz
create-release:
needs: [build-windows, build-macos-intel, build-macos-arm, build-linux]
runs-on: ubuntu-latest
steps:
- uses: actions/download-artifact@v4
with:
path: artifacts
- name: Create Release
uses: softprops/action-gh-release@v2
with:
body: |
## NexView v1.2.0
### New Features
- **Multi-radar support** - Shift+Click any radar station to load multiple radars simultaneously on the map. All radars render at their geographic positions. Cyan chips in toolbar show loaded secondaries with remove buttons.
### Fixes
- **GPU rendering on macOS** - Fixed Metal compatibility by using Rgba8Uint storage texture format
- **NWS warning polygon alignment** - Fixed south/east offset caused by Mercator projection nonlinearity in radar image positioning
- **Warning polygons in quad mode** - Polygons now render in all quad panes
- **Dual/quad mutual exclusivity** - Can no longer have both modes active simultaneously
- 19 bug fixes from v1.1.1 (SRV computation, sounding freeze, memory leaks, etc.)
### macOS Users
If you see a Gatekeeper warning, right-click the app and select "Open", or run:
```
xattr -cr /Applications/NexView.app
```
### Downloads
| Platform | File |
|----------|------|
| Windows x64 | `NexView-Windows-x64.zip` |
| macOS Apple Silicon | `NexView-macOS-AppleSilicon.dmg` |
| macOS Intel | `NexView-macOS-Intel.dmg` |
| Linux x64 | `NexView-Linux-x64.tar.gz` |
files: |
artifacts/windows-build/NexView-Windows-x64.zip
artifacts/macos-intel-build/NexView-macOS-Intel.dmg
artifacts/macos-arm-build/NexView-macOS-AppleSilicon.dmg
artifacts/linux-build/NexView-Linux-x64.tar.gz