|
60 | 60 | cd namepicker |
61 | 61 | flutter build linux |
62 | 62 |
|
| 63 | + - name: Package linux deb |
| 64 | + run: | |
| 65 | + cd namepicker |
| 66 | + APP_VERSION=$(grep -E '^version:' pubspec.yaml | awk '{print $2}') |
| 67 | + DEB_VERSION=${APP_VERSION//+/-} |
| 68 | + PKG_DIR=../deb_build |
| 69 | + mkdir -p "$PKG_DIR/DEBIAN" |
| 70 | + mkdir -p "$PKG_DIR/opt/namepicker" |
| 71 | + mkdir -p "$PKG_DIR/usr/bin" |
| 72 | + cp -r build/linux/x64/release/bundle/* "$PKG_DIR/opt/namepicker/" |
| 73 | + printf "Package: namepicker\nVersion: %s\nSection: utils\nPriority: optional\nArchitecture: amd64\nMaintainer: NamePicker Maintainers <noreply@example.com>\nDepends: libgtk-3-0\nDescription: NamePicker Flutter application\n" "$DEB_VERSION" > "$PKG_DIR/DEBIAN/control" |
| 74 | + printf '#!/bin/sh\nexec /opt/namepicker/namepicker "$@"\n' > "$PKG_DIR/usr/bin/namepicker" |
| 75 | + chmod 755 "$PKG_DIR/usr/bin/namepicker" |
| 76 | + dpkg-deb --build "$PKG_DIR" "../namepicker_${DEB_VERSION}_amd64.deb" |
| 77 | +
|
63 | 78 | - name: Upload linux artifact |
64 | 79 | uses: actions/upload-artifact@v4 |
65 | 80 | with: |
66 | 81 | name: NamePicker-Linux-x64 |
67 | 82 | path: | |
68 | 83 | namepicker/build/linux/x64/release/bundle |
| 84 | +
|
| 85 | + - name: Upload linux deb |
| 86 | + uses: actions/upload-artifact@v4 |
| 87 | + with: |
| 88 | + name: NamePicker-Linux-deb |
| 89 | + path: | |
| 90 | + namepicker_*_amd64.deb |
| 91 | + build_macos_intel: |
| 92 | + runs-on: macos-13 |
| 93 | + steps: |
| 94 | + - name: Clone repository |
| 95 | + uses: actions/checkout@v4 |
| 96 | + |
| 97 | + - name: Set up Flutter |
| 98 | + uses: subosito/flutter-action@v2 |
| 99 | + with: |
| 100 | + channel: stable |
| 101 | + |
| 102 | + - name: Init flutter env |
| 103 | + run: | |
| 104 | + cd namepicker |
| 105 | + flutter pub get |
| 106 | +
|
| 107 | + - name: Build macOS x64 app |
| 108 | + run: | |
| 109 | + cd namepicker |
| 110 | + flutter build macos --release |
| 111 | +
|
| 112 | + - name: Package macOS x64 zip |
| 113 | + run: | |
| 114 | + cd namepicker/build/macos/Build/Products/Release |
| 115 | + APP_DIR=$(ls -d *.app | head -n 1) |
| 116 | + ditto -c -k --sequesterRsrc --keepParent "$APP_DIR" "./${APP_DIR%.app}-macOS-x64.zip" |
| 117 | +
|
| 118 | + - name: Upload macOS x64 artifact |
| 119 | + uses: actions/upload-artifact@v4 |
| 120 | + with: |
| 121 | + name: NamePicker-macOS-x64 |
| 122 | + path: | |
| 123 | + namepicker/build/macos/Build/Products/Release/*-macOS-x64.zip |
| 124 | +
|
| 125 | + build_macos_arm: |
| 126 | + runs-on: macos-14 |
| 127 | + steps: |
| 128 | + - name: Clone repository |
| 129 | + uses: actions/checkout@v4 |
| 130 | + |
| 131 | + - name: Set up Flutter |
| 132 | + uses: subosito/flutter-action@v2 |
| 133 | + with: |
| 134 | + channel: stable |
| 135 | + |
| 136 | + - name: Init flutter env |
| 137 | + run: | |
| 138 | + cd namepicker |
| 139 | + flutter pub get |
| 140 | +
|
| 141 | + - name: Build macOS arm64 app |
| 142 | + run: | |
| 143 | + cd namepicker |
| 144 | + flutter build macos --release |
| 145 | +
|
| 146 | + - name: Package macOS arm64 zip |
| 147 | + run: | |
| 148 | + cd namepicker/build/macos/Build/Products/Release |
| 149 | + APP_DIR=$(ls -d *.app | head -n 1) |
| 150 | + ditto -c -k --sequesterRsrc --keepParent "$APP_DIR" "./${APP_DIR%.app}-macOS-arm64.zip" |
| 151 | +
|
| 152 | + - name: Upload macOS arm64 artifact |
| 153 | + uses: actions/upload-artifact@v4 |
| 154 | + with: |
| 155 | + name: NamePicker-macOS-arm64 |
| 156 | + path: | |
| 157 | + namepicker/build/macos/Build/Products/Release/*-macOS-arm64.zip |
0 commit comments