forked from rusnakdima/TaskFlow
-
Notifications
You must be signed in to change notification settings - Fork 0
121 lines (105 loc) · 4.11 KB
/
flatpak.yml
File metadata and controls
121 lines (105 loc) · 4.11 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
name: Build Flatpak
on:
push:
tags:
- "v*"
jobs:
build-flatpak:
permissions:
contents: write
runs-on: blacksmith-2vcpu-ubuntu-2404 # Using newer Ubuntu for better support
env:
NAME_APP: taskflow
APP_HOME_FOLDER: TaskFlow
MONGODB_URI: ${{ secrets.MONGODB_URI }}
MONGODB_NAME: TaskFlow
JWT_SECRET: ${{ secrets.JWT_SECRET }}
JSONDB_NAME: task_flow_db
SMTP_USERNAME: rusnakdima03@gmail.com
SMTP_PASSWORD: ${{ secrets.SMTP_PASSWORD }}
SMTP_SERVER: smtp.gmail.com
SMTP_PORT: 587
RESET_TOKEN_EXPIRY_HOURS: 1
CLIENT_ID_GITHUB: ${{ secrets.CLIENT_ID_GITHUB }}
CLIENT_SECRET_GITHUB: ${{ secrets.CLIENT_SECRET_GITHUB }}
CALLBACK_URL_GITHUB: ${{ secrets.CALLBACK_URL_GITHUB }}
steps:
- uses: actions/checkout@v4
- name: Extract version from git tag
run: |
VERSION=${GITHUB_REF_NAME#v}
echo "VERSION=$VERSION" >> $GITHUB_ENV
- name: Create .env file
run: |
echo "NAME_APP=taskflow" > src-tauri/.env
echo "APP_HOME_FOLDER=TaskFlow" >> src-tauri/.env
echo "MONGODB_URI=${{ secrets.MONGODB_URI }}" >> src-tauri/.env
echo "MONGODB_NAME=TaskFlow" >> src-tauri/.env
echo "JWT_SECRET=${{ secrets.JWT_SECRET }}" >> src-tauri/.env
echo "JSONDB_NAME=task_flow_db" >> src-tauri/.env
echo "SMTP_USERNAME=rusnakdima03@gmail.com" >> src-tauri/.env
echo "SMTP_PASSWORD=${{ secrets.SMTP_PASSWORD }}" >> src-tauri/.env
echo "SMTP_SERVER=smtp.gmail.com" >> src-tauri/.env
echo "SMTP_PORT=587" >> src-tauri/.env
echo "RESET_TOKEN_EXPIRY_HOURS=1" >> src-tauri/.env
echo "CLIENT_ID_GITHUB=${{ secrets.CLIENT_ID_GITHUB }}" >> src-tauri/.env
echo "CLIENT_SECRET_GITHUB=${{ secrets.CLIENT_SECRET_GITHUB }}" >> src-tauri/.env
echo "CALLBACK_URL_GITHUB=${{ secrets.CALLBACK_URL_GITHUB }}" >> src-tauri/.env
- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: "22"
- name: Setup bun
uses: oven-sh/setup-bun@v2
with:
bun-version: latest
- name: Install Rust
uses: dtolnay/rust-toolchain@stable
with:
targets: x86_64-unknown-linux-gnu
- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y \
flatpak \
flatpak-builder \
patchelf \
libwebkit2gtk-4.1-dev \
librsvg2-dev \
libayatana-appindicator3-dev \
cargo \
rustc
- name: Install Node.js dependencies
run: bun install
- name: Add flathub remote
run: |
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
- name: Install Flatpak runtime and SDK
run: |
flatpak install --user --noninteractive flathub org.gnome.Platform//49
flatpak install --user --noninteractive flathub org.gnome.Sdk//49
flatpak install --user --noninteractive flathub org.freedesktop.Sdk.Extension.node22//24.08
flatpak install --user --noninteractive flathub org.freedesktop.Sdk.Extension.rust-stable//24.08
- name: Build Tauri application
run: |
bun run tauri:build:fast
- name: Build Flatpak using manifest
run: |
flatpak-builder --disable-cache --force-clean --user --install-deps-from=flathub --repo=repo build flatpak/com.tcs.taskflow.yml
if [ $? -ne 0 ]; then
echo "Flatpak build failed"
exit 1
fi
- name: Create Flatpak bundle
run: |
flatpak build-bundle repo taskflow-${{ env.VERSION }}.flatpak com.tcs.taskflow
- name: Upload to Release
uses: softprops/action-gh-release@v2
if: startsWith(github.ref, 'refs/tags/')
with:
files: taskflow-${{ env.VERSION }}.flatpak
name: Release ${{ github.ref_name }}
draft: false
prerelease: false
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}