Skip to content

Commit

Permalink
initial release
Browse files Browse the repository at this point in the history
  • Loading branch information
1runeberg committed Aug 15, 2024
0 parents commit 35bb151
Show file tree
Hide file tree
Showing 171 changed files with 17,056 additions and 0 deletions.
3 changes: 3 additions & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# These are supported funding model platforms

github: 1runeberg
44 changes: 44 additions & 0 deletions .github/workflows/android_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Android

on:
workflow_call:
inputs:
release_tag:
required: true
type: string
release_name:
required: true
type: string

push:
branches:
- '**'
pull_request:
branches:
- main

jobs:
android-build:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]

- name: Set up Java
uses: actions/[email protected]
with:
distribution: 'zulu'
java-version: '17'

- name: Set up Flutter
uses: subosito/[email protected]
with:
channel: 'stable'

- name: Install dependencies
run: cd confichat && flutter pub get

- name: Update third party licenses Android
run: cd confichat && flutter pub run flutter_oss_licenses:generate.dart

- name: Build Android App
run: cd confichat && flutter build apk --release
51 changes: 51 additions & 0 deletions .github/workflows/ios_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
name: iOS

on:
workflow_call:
inputs:
release_tag:
required: true
type: string
release_name:
required: true
type: string

push:
branches:
- '**'
pull_request:
branches:
- main

jobs:
ios-build:
runs-on: macos-latest
steps:
- uses: actions/[email protected]

- name: Set up Java
uses: actions/[email protected]
with:
distribution: 'zulu'
java-version: '17'

- name: Set up Flutter
uses: subosito/[email protected]
with:
channel: 'stable'

- name: Install dependencies
run: cd confichat && flutter pub get

- name: Update third party licenses iOS
run: cd confichat && flutter pub run flutter_oss_licenses:generate.dart

- name: Build iOS App
run: cd confichat && flutter build ios --release --no-codesign

# - name: Sign iOS App
# run: |
# cd confichat/build/ios/iphoneos
# xcodebuild -workspace confichat.xcworkspace -scheme confichat -archivePath confichat.xcarchive archive
# xcodebuild -exportArchive -archivePath confichat.xcarchive -exportOptionsPlist ExportOptions.plist -exportPath .
# codesign --verify --verbose confichat.ipa
49 changes: 49 additions & 0 deletions .github/workflows/linux_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: Linux

on:
workflow_call:
inputs:
release_tag:
required: true
type: string
release_name:
required: true
type: string

push:
branches:
- '**'
pull_request:
branches:
- main

jobs:
linux-build:
runs-on: ubuntu-latest
steps:
- uses: actions/[email protected]

- name: Set up Java
uses: actions/[email protected]
with:
distribution: 'zulu'
java-version: '17'

- name: Set up Flutter
uses: subosito/[email protected]
with:
channel: 'stable'

- name: Install dependencies
run: cd confichat && flutter pub get

- name: Update third party licenses Linux
run: cd confichat && flutter pub run flutter_oss_licenses:generate.dart

- name: Build Linux App
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev
cd confichat
flutter config --enable-linux-desktop
flutter build linux --release
49 changes: 49 additions & 0 deletions .github/workflows/macos_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
name: macOS

on:
workflow_call:
inputs:
release_tag:
required: true
type: string
release_name:
required: true
type: string

push:
branches:
- '**'
pull_request:
branches:
- main

jobs:
macos-build:
runs-on: macos-latest
steps:
- uses: actions/[email protected]

- name: Set up Java
uses: actions/[email protected]
with:
distribution: 'zulu'
java-version: '17'

- name: Set up Flutter
uses: subosito/[email protected]
with:
channel: 'stable'

- name: Install dependencies
run: cd confichat && flutter pub get

- name: Update third party licenses macOS
run: cd confichat && flutter pub run flutter_oss_licenses:generate.dart

- name: Build macOS App
run: cd confichat && flutter build macos --release

# - name: Sign macOS App
# run: |
# cd confichat/build/macos/Build/Products/Release
# codesign --deep --force --verify --verbose --sign "Developer ID Application: confichat (TEAM_ID)" confichat.app
111 changes: 111 additions & 0 deletions .github/workflows/publish_release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,111 @@
name: Publish Release

on:
workflow_dispatch:
inputs:
release_tag:
description: 'Release tag (e.g., v1.0.0)'
required: true
release_name:
description: 'Release name'
required: true

jobs:
build-and-release:
name: Build and Release
runs-on: ${{ matrix.os }}
strategy:
matrix:
os: [ubuntu-latest, windows-latest]

env:
RELEASE_NOTES: |
**Notice:** By downloading and using the pre-built binaries, you agree to the app's [Terms and Conditions](https://github.com/1runeberg/confichat/blob/main/confichat/assets/TERMS_AND_CONDITIONS.md). Acceptance of these terms is implied upon download. The full Terms and Conditions are also available within the app under (Hamburger menu) > "Legal" > "Terms and Conditions".
steps:
- uses: actions/[email protected]

- name: Set up Java
uses: actions/[email protected]
with:
distribution: 'zulu'
java-version: '17'

- name: Set up Flutter
uses: subosito/[email protected]
with:
channel: 'stable'

- name: Install dependencies
run: cd confichat && flutter pub get

- name: Update third party licenses window
run: cd confichat && flutter pub run flutter_oss_licenses:generate.dart

- name: Build Windows App
if: matrix.os == 'windows-latest'
run: cd confichat && flutter build windows --release

- name: Archive Windows Build
if: matrix.os == 'windows-latest'
run: |
Compress-Archive -Path confichat/build/windows/x64/runner/Release/* -DestinationPath confichat/build/windows/x64/runner/Release/windows-release.zip
shell: pwsh

- name: Build Linux App
if: matrix.os == 'ubuntu-latest'
run: |
sudo apt-get update -y
sudo apt-get install -y ninja-build libgtk-3-dev
cd confichat
flutter config --enable-linux-desktop
flutter build linux --release
- name: Archive Linux Build
if: matrix.os == 'ubuntu-latest'
run: |
cd confichat/build/linux/x64/release/bundle
tar -czvf linux-release.tgz *
- name: Build Android App
if: matrix.os == 'ubuntu-latest'
run: cd confichat && flutter build apk --release

- name: Archive Android Build
if: matrix.os == 'ubuntu-latest'
run: |
cd confichat/build/app/outputs/flutter-apk
zip -r android-release.zip app-release.apk
- name: Create Release (Windows)
if: matrix.os == 'windows-latest'
uses: softprops/[email protected]
with:
tag_name: ${{ github.event.inputs.release_tag }}
name: ${{ github.event.inputs.release_name }}
body: ${{ env.RELEASE_NOTES }}
files: confichat/build/windows/x64/runner/Release/windows-release.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Create Release (Linux)
if: matrix.os == 'ubuntu-latest'
uses: softprops/[email protected]
with:
tag_name: ${{ github.event.inputs.release_tag }}
name: ${{ github.event.inputs.release_name }}
body: ${{ env.RELEASE_NOTES }}
files: confichat/build/linux/x64/release/bundle/linux-release.tgz
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Create Release (Android)
if: matrix.os == 'ubuntu-latest'
uses: softprops/[email protected]
with:
tag_name: ${{ github.event.inputs.release_tag }}
name: ${{ github.event.inputs.release_name }}
body: ${{ env.RELEASE_NOTES }}
files: confichat/build/app/outputs/flutter-apk/android-release.zip
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44 changes: 44 additions & 0 deletions .github/workflows/windows_build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
name: Windows

on:
workflow_call:
inputs:
release_tag:
required: true
type: string
release_name:
required: true
type: string

push:
branches:
- '**'
pull_request:
branches:
- main

jobs:
windows-build:
runs-on: windows-latest
steps:
- uses: actions/[email protected]

- name: Set up Java
uses: actions/[email protected]
with:
distribution: 'zulu'
java-version: '17'

- name: Set up Flutter
uses: subosito/[email protected]
with:
channel: 'stable'

- name: Install dependencies
run: cd confichat && flutter pub get

- name: Update third party licenses window
run: cd confichat && flutter pub run flutter_oss_licenses:generate.dart

- name: Build Windows App
run: cd confichat && flutter build windows --release
30 changes: 30 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
# See https://www.dartlang.org/guides/libraries/private-files

# Files and directories created by pub
.dart_tool/
.packages
build/
# If you're building an application, you may want to check-in your pubspec.lock
pubspec.lock

# Directory created by dartdoc
# If you don't generate documentation locally you can remove this line.
doc/api/

# dotenv environment variables file
.env*

# local user api settings
app.*.settings.local

# Avoid committing generated Javascript files:
*.dart.js
*.info.json # Produced by the --dump-info flag.
*.js # When generated by dart2js. Don't specify *.js if your
# project includes source files written in JavaScript.
*.js_
*.js.deps
*.js.map

.flutter-plugins
.flutter-plugins-dependencies
Loading

0 comments on commit 35bb151

Please sign in to comment.