@@ -18,16 +18,43 @@ jobs:
1818 - uses : actions/checkout@v4
1919 - uses : dtolnay/rust-toolchain@stable
2020 - uses : Swatinem/rust-cache@v2
21- - name : Clone rustmaps geodata
21+ - name : Clone rustmaps (for build)
22+ run : git clone --depth 1 https://github.com/FahrenheitResearch/rustmaps.git ../rustmaps
23+ shell : bash
24+ - name : Download Natural Earth shapefiles
25+ shell : bash
2226 run : |
23- git clone --depth 1 https://github.com/FahrenheitResearch/rustmaps.git $GITHUB_WORKSPACE/../rustmaps
27+ mkdir -p rustmaps_data
28+ cd rustmaps_data
29+ URLS=(
30+ "https://naciscdn.org/naturalearth/110m/physical/ne_110m_coastline.zip"
31+ "https://naciscdn.org/naturalearth/50m/physical/ne_50m_coastline.zip"
32+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_coastline.zip"
33+ "https://naciscdn.org/naturalearth/50m/physical/ne_50m_land.zip"
34+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_land.zip"
35+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_ocean.zip"
36+ "https://naciscdn.org/naturalearth/50m/physical/ne_50m_lakes.zip"
37+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_lakes.zip"
38+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_rivers_lake_centerlines.zip"
39+ "https://naciscdn.org/naturalearth/10m/cultural/ne_10m_admin_0_boundary_lines_land.zip"
40+ "https://naciscdn.org/naturalearth/10m/cultural/ne_10m_admin_1_states_provinces_lines.zip"
41+ "https://naciscdn.org/naturalearth/10m/cultural/ne_10m_populated_places_simple.zip"
42+ "https://naciscdn.org/naturalearth/50m/cultural/ne_50m_urban_areas.zip"
43+ )
44+ for url in "${URLS[@]}"; do
45+ echo "Downloading $url"
46+ curl -sL -O "$url"
47+ done
48+ for f in *.zip; do unzip -o "$f"; done
49+ rm -f *.zip
2450 - name : Build
2551 run : cargo build --release
2652 - name : Package
53+ shell : bash
2754 run : |
2855 mkdir dist
2956 cp target/release/nexview.exe dist/
30- cp -r $GITHUB_WORKSPACE/../rustmaps/data dist/rustmaps_data
57+ cp -r rustmaps_data dist/rustmaps_data
3158 cd dist && 7z a ../NexView-Windows-x64.zip nexview.exe rustmaps_data
3259 - uses : actions/upload-artifact@v4
3360 with :
@@ -42,16 +69,38 @@ jobs:
4269 with :
4370 targets : x86_64-apple-darwin
4471 - uses : Swatinem/rust-cache@v2
45- - name : Clone rustmaps geodata
46- run : git clone --depth 1 https://github.com/FahrenheitResearch/rustmaps.git $GITHUB_WORKSPACE/../rustmaps
72+ - name : Clone rustmaps (for build)
73+ run : git clone --depth 1 https://github.com/FahrenheitResearch/rustmaps.git ../rustmaps
74+ - name : Download Natural Earth shapefiles
75+ run : |
76+ mkdir -p rustmaps_data && cd rustmaps_data
77+ for url in \
78+ "https://naciscdn.org/naturalearth/110m/physical/ne_110m_coastline.zip" \
79+ "https://naciscdn.org/naturalearth/50m/physical/ne_50m_coastline.zip" \
80+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_coastline.zip" \
81+ "https://naciscdn.org/naturalearth/50m/physical/ne_50m_land.zip" \
82+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_land.zip" \
83+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_ocean.zip" \
84+ "https://naciscdn.org/naturalearth/50m/physical/ne_50m_lakes.zip" \
85+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_lakes.zip" \
86+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_rivers_lake_centerlines.zip" \
87+ "https://naciscdn.org/naturalearth/10m/cultural/ne_10m_admin_0_boundary_lines_land.zip" \
88+ "https://naciscdn.org/naturalearth/10m/cultural/ne_10m_admin_1_states_provinces_lines.zip" \
89+ "https://naciscdn.org/naturalearth/10m/cultural/ne_10m_populated_places_simple.zip" \
90+ "https://naciscdn.org/naturalearth/50m/cultural/ne_50m_urban_areas.zip"; do
91+ echo "Downloading $url"
92+ curl -sL -O "$url"
93+ done
94+ for f in *.zip; do unzip -o "$f"; done
95+ rm -f *.zip
4796 - name : Build
4897 run : cargo build --release --target x86_64-apple-darwin
4998 - name : Create App Bundle
5099 run : |
51100 mkdir -p "NexView.app/Contents/MacOS"
52101 mkdir -p "NexView.app/Contents/Resources"
53102 cp target/x86_64-apple-darwin/release/nexview "NexView.app/Contents/MacOS/"
54- cp -r $GITHUB_WORKSPACE/../rustmaps/data "NexView.app/Contents/Resources/rustmaps_data"
103+ cp -r rustmaps_data "NexView.app/Contents/Resources/rustmaps_data"
55104 cat > "NexView.app/Contents/Info.plist" << 'PLIST'
56105 <?xml version="1.0" encoding="UTF-8"?>
57106 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
@@ -94,16 +143,38 @@ jobs:
94143 - uses : actions/checkout@v4
95144 - uses : dtolnay/rust-toolchain@stable
96145 - uses : Swatinem/rust-cache@v2
97- - name : Clone rustmaps geodata
98- run : git clone --depth 1 https://github.com/FahrenheitResearch/rustmaps.git $GITHUB_WORKSPACE/../rustmaps
146+ - name : Clone rustmaps (for build)
147+ run : git clone --depth 1 https://github.com/FahrenheitResearch/rustmaps.git ../rustmaps
148+ - name : Download Natural Earth shapefiles
149+ run : |
150+ mkdir -p rustmaps_data && cd rustmaps_data
151+ for url in \
152+ "https://naciscdn.org/naturalearth/110m/physical/ne_110m_coastline.zip" \
153+ "https://naciscdn.org/naturalearth/50m/physical/ne_50m_coastline.zip" \
154+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_coastline.zip" \
155+ "https://naciscdn.org/naturalearth/50m/physical/ne_50m_land.zip" \
156+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_land.zip" \
157+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_ocean.zip" \
158+ "https://naciscdn.org/naturalearth/50m/physical/ne_50m_lakes.zip" \
159+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_lakes.zip" \
160+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_rivers_lake_centerlines.zip" \
161+ "https://naciscdn.org/naturalearth/10m/cultural/ne_10m_admin_0_boundary_lines_land.zip" \
162+ "https://naciscdn.org/naturalearth/10m/cultural/ne_10m_admin_1_states_provinces_lines.zip" \
163+ "https://naciscdn.org/naturalearth/10m/cultural/ne_10m_populated_places_simple.zip" \
164+ "https://naciscdn.org/naturalearth/50m/cultural/ne_50m_urban_areas.zip"; do
165+ echo "Downloading $url"
166+ curl -sL -O "$url"
167+ done
168+ for f in *.zip; do unzip -o "$f"; done
169+ rm -f *.zip
99170 - name : Build
100171 run : cargo build --release
101172 - name : Create App Bundle
102173 run : |
103174 mkdir -p "NexView.app/Contents/MacOS"
104175 mkdir -p "NexView.app/Contents/Resources"
105176 cp target/release/nexview "NexView.app/Contents/MacOS/"
106- cp -r $GITHUB_WORKSPACE/../rustmaps/data "NexView.app/Contents/Resources/rustmaps_data"
177+ cp -r rustmaps_data "NexView.app/Contents/Resources/rustmaps_data"
107178 cat > "NexView.app/Contents/Info.plist" << 'PLIST'
108179 <?xml version="1.0" encoding="UTF-8"?>
109180 <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
@@ -150,15 +221,37 @@ jobs:
150221 run : |
151222 sudo apt-get update
152223 sudo apt-get install -y libxkbcommon-dev libwayland-dev libx11-dev libxrandr-dev libxinerama-dev libxcursor-dev libxi-dev libgl1-mesa-dev
153- - name : Clone rustmaps geodata
154- run : git clone --depth 1 https://github.com/FahrenheitResearch/rustmaps.git $GITHUB_WORKSPACE/../rustmaps
224+ - name : Clone rustmaps (for build)
225+ run : git clone --depth 1 https://github.com/FahrenheitResearch/rustmaps.git ../rustmaps
226+ - name : Download Natural Earth shapefiles
227+ run : |
228+ mkdir -p rustmaps_data && cd rustmaps_data
229+ for url in \
230+ "https://naciscdn.org/naturalearth/110m/physical/ne_110m_coastline.zip" \
231+ "https://naciscdn.org/naturalearth/50m/physical/ne_50m_coastline.zip" \
232+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_coastline.zip" \
233+ "https://naciscdn.org/naturalearth/50m/physical/ne_50m_land.zip" \
234+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_land.zip" \
235+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_ocean.zip" \
236+ "https://naciscdn.org/naturalearth/50m/physical/ne_50m_lakes.zip" \
237+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_lakes.zip" \
238+ "https://naciscdn.org/naturalearth/10m/physical/ne_10m_rivers_lake_centerlines.zip" \
239+ "https://naciscdn.org/naturalearth/10m/cultural/ne_10m_admin_0_boundary_lines_land.zip" \
240+ "https://naciscdn.org/naturalearth/10m/cultural/ne_10m_admin_1_states_provinces_lines.zip" \
241+ "https://naciscdn.org/naturalearth/10m/cultural/ne_10m_populated_places_simple.zip" \
242+ "https://naciscdn.org/naturalearth/50m/cultural/ne_50m_urban_areas.zip"; do
243+ echo "Downloading $url"
244+ curl -sL -O "$url"
245+ done
246+ for f in *.zip; do unzip -o "$f"; done
247+ rm -f *.zip
155248 - name : Build
156249 run : cargo build --release
157250 - name : Package
158251 run : |
159252 mkdir dist
160253 cp target/release/nexview dist/
161- cp -r $GITHUB_WORKSPACE/../rustmaps/data dist/rustmaps_data
254+ cp -r rustmaps_data dist/rustmaps_data
162255 cd dist && tar czf ../NexView-Linux-x64.tar.gz nexview rustmaps_data
163256 - uses : actions/upload-artifact@v4
164257 with :
@@ -184,8 +277,8 @@ jobs:
184277 - **GPU rendering defaults to off** — CPU+Rayon is faster
185278
186279 ### Changes
187- - Bundled basemap (rustmaps) — no internet needed for map tiles
188- - All downloads include map data, just extract and run
280+ - Bundled basemap — no internet needed for map tiles, just extract and run
281+ - All downloads include map data
189282
190283 ### macOS Users
191284 If you see a Gatekeeper warning, right-click the app and select "Open", or run:
0 commit comments