5050 steps :
5151 - uses : actions/checkout@v4
5252 - uses : dtolnay/rust-toolchain@stable
53+ - uses : cargo-bins/cargo-binstall@main
5354
5455 - name : Set up Environment
5556 shell : bash
7879 run : cp target/${{ matrix.platform.target }}/release/rustpython.exe target/rustpython-release-${{ runner.os }}-${{ matrix.platform.target }}.exe
7980 if : runner.os == 'Windows'
8081
82+ - name : Install cargo-packager
83+ run : cargo binstall cargo-packager
84+
85+ - name : Generate MSI
86+ if : runner.os == 'Windows'
87+ run : cargo packager -f wix --release -o installer
88+
89+ - name : Upload MSI
90+ if : runner.os == 'Windows'
91+ uses : actions/upload-artifact@v4
92+ with :
93+ name : rustpython-installer-msi-${{ runner.os }}-${{ matrix.platform.target }}
94+ path : installer/*.msi
95+
96+ - name : Generate DMG
97+ if : runner.os == 'macOS'
98+ run : cargo packager -f dmg --release -o installer
99+
100+ - name : Upload DMG
101+ if : runner.os == 'macOS'
102+ uses : actions/upload-artifact@v4
103+ with :
104+ name : rustpython-installer-dmg-${{ runner.os }}-${{ matrix.platform.target }}
105+ path : installer/*.dmg
106+
81107 - name : Upload Binary Artifacts
82108 uses : actions/upload-artifact@v4
83109 with :
@@ -114,7 +140,7 @@ jobs:
114140 uses : actions/download-artifact@v4
115141 with :
116142 path : bin
117- pattern : rustpython-release- *
143+ pattern : rustpython-*
118144 merge-multiple : true
119145
120146 - name : List Binaries
@@ -142,4 +168,4 @@ jobs:
142168 --target="$tag" \
143169 --generate-notes \
144170 $PRERELEASE_ARG \
145- bin/rustpython-release-*
171+ bin/rustpython-release-*
0 commit comments