diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml new file mode 100644 index 0000000..404b3fe --- /dev/null +++ b/.github/workflows/main.yml @@ -0,0 +1,90 @@ +name: Flutter CI + +on: push + +jobs: + build-and-release-linux: + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: 'stable' + architecture: x64 + flutter-version: '3.19.1' + - name: Install dependencies + run: sudo apt-get update -y clang cmake ninja-build pkg-config libgtk-3-0 libgtk-3-dev libblkid1 liblzma5 + - name: Install project dependencies + run: flutter pub get + - name: Enable linux build + run: flutter config --enable-linux-desktop + - name: Build artifacts + run: flutter build linux --release + - name: Archive Release + uses: thedoctor0/zip-release@master + with: + type: 'zip' + filename: Renamer-${{github.ref_name}}-linux.zip + directory: build/linux/x64/release/bundle + - name: Linux Release + uses: actions/upload-artifact@v4 + with: + name: Renamer-${{github.ref_name}}-linux.zip + path: build/linux/x64/release/bundle/Renamer-${{github.ref_name}}-linux.zip + + build-and-release-windows: + runs-on: windows-latest + + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: 'stable' + architecture: x64 + flutter-version: '3.19.1' + - name: Install project dependencies + run: flutter pub get + - name: Enable windows build + run: flutter config --enable-windows-desktop + - name: Build artifacts + run: flutter build windows --release + - name: Archive Release + uses: thedoctor0/zip-release@master + with: + type: 'zip' + filename: Renamer-${{github.ref_name}}-windows.zip + directory: build/windows/x64/runner/Release + - name: Windows Release + uses: actions/upload-artifact@v4 + with: + name: Renamer-${{github.ref_name}}-windows.zip + path: build/windows/x64/runner/Release/Renamer-${{github.ref_name}}-windows.zip + + build-and-release-macos: + runs-on: macos-latest + + steps: + - uses: actions/checkout@v4 + - uses: subosito/flutter-action@v2 + with: + channel: 'stable' + architecture: x64 + flutter-version: '3.19.1' + - name: Install project dependencies + run: flutter pub get + - name: Enable macOS build + run: flutter config --enable-macos-desktop + - name: Build artifacts + run: flutter build macos --release + - name: Archive Release + uses: thedoctor0/zip-release@master + with: + type: 'zip' + filename: Renamer-${{github.ref_name}}-macos.zip + directory: build/macos/Build/Products/Release + - name: macOS Release + uses: actions/upload-artifact@v4 + with: + name: Renamer-${{github.ref_name}}-macos.zip + path: build/macos/Build/Products/Release/Renamer-${{github.ref_name}}-macos.zip \ No newline at end of file