Merge pull request #357 from padloc/feature/ci-build-tauri
CI: Build Tauri
This commit is contained in:
commit
fce1f9da30
|
@ -26,6 +26,7 @@ on:
|
|||
- "packages/core/**"
|
||||
- "packages/cordova/**"
|
||||
- "packages/locale/**"
|
||||
- "assets/**"
|
||||
|
||||
jobs:
|
||||
android:
|
||||
|
@ -56,8 +57,11 @@ jobs:
|
|||
base64 -d android-upload-key.keystore.txt > android-upload-key.keystore
|
||||
rm -f android-upload-key.keystore.txt
|
||||
- name: Build (Android)
|
||||
run: |
|
||||
PL_SERVER_URL='${{ secrets.PL_SERVER_URL }}' PL_ANDROID_STORE_PASSWORD='${{ secrets.PL_ANDROID_STORE_PASSWORD }}' PL_ANDROID_KEYSTORE_ALIAS='${{ secrets.PL_ANDROID_KEYSTORE_ALIAS }}' PL_ANDROID_STORE_PASSWORD='${{ secrets.PL_ANDROID_STORE_PASSWORD }}' npm run cordova:build:android:signed
|
||||
env:
|
||||
PL_SERVER_URL: ${{ secrets.PL_SERVER_URL }}
|
||||
PL_ANDROID_STORE_PASSWORD: ${{ secrets.PL_ANDROID_STORE_PASSWORD }}
|
||||
PL_ANDROID_KEYSTORE_ALIAS: ${{ secrets.PL_ANDROID_KEYSTORE_ALIAS }}
|
||||
run: npm run cordova:build:android:signed
|
||||
- name: Archive Signed APK (Android)
|
||||
uses: actions/upload-artifact@v2
|
||||
with:
|
||||
|
|
|
@ -1,5 +1,23 @@
|
|||
name: "Build And Publish Desktop Tauri Apps"
|
||||
on: [workflow_dispatch]
|
||||
name: Build And Publish Desktop Tauri Apps
|
||||
|
||||
on:
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
environment:
|
||||
type: environment
|
||||
|
||||
push:
|
||||
branches:
|
||||
- "v4"
|
||||
- "master"
|
||||
- "feature/**"
|
||||
- "fix/**"
|
||||
paths:
|
||||
- "packages/app/**"
|
||||
- "packages/core/**"
|
||||
- "packages/tauri/**"
|
||||
- "packages/locale/**"
|
||||
- "assets/**"
|
||||
|
||||
jobs:
|
||||
build_and_publish:
|
||||
|
@ -13,32 +31,61 @@ jobs:
|
|||
runs-on: ${{ matrix.platform }}
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: setup node
|
||||
uses: actions/setup-node@v1
|
||||
- uses: actions/setup-node@v2
|
||||
with:
|
||||
node-version: 12
|
||||
- name: install Rust stable
|
||||
node-version-file: ".nvmrc"
|
||||
- name: Install Rust stable
|
||||
uses: actions-rs/toolchain@v1
|
||||
with:
|
||||
toolchain: stable
|
||||
- name: install tauri bundler
|
||||
- name: Install tauri bundler
|
||||
run: cargo install tauri-bundler --force
|
||||
- name: install webkit2gtk (ubuntu only)
|
||||
- name: Install webkit2gtk (ubuntu only)
|
||||
if: matrix.platform == 'ubuntu-latest'
|
||||
run: |
|
||||
sudo apt-get update
|
||||
sudo apt-get install -y webkit2gtk-4.0
|
||||
- name: install app dependencies and bootstrap packages
|
||||
run: npm install
|
||||
- uses: tauri-apps/tauri-action@v0
|
||||
- name: Install dependencies
|
||||
run: |
|
||||
npm i -g npm@8.2.0
|
||||
npm ci
|
||||
- name: Build
|
||||
run: |
|
||||
npm run tauri:build
|
||||
env:
|
||||
PL_SERVER_URL: https://api.padloc.app
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
PL_SERVER_URL: ${{ secrets.PL_SERVER_URL }}
|
||||
- name: Archive AppImage
|
||||
uses: actions/upload-artifact@v2
|
||||
if: matrix.platform == 'ubuntu-latest'
|
||||
with:
|
||||
tagName: tauri-v__VERSION__ # the action automatically replaces \_\_VERSION\_\_ with the app version
|
||||
releaseName: "Padloc (Tauri Edition) v__VERSION__"
|
||||
body: "WARNING: The builds in this release are experimental. Use at your own risk!"
|
||||
draft: true
|
||||
prerelease: true
|
||||
projectPath: packages/tauri
|
||||
npmScript: build
|
||||
name: padloc-linux-${{ github.sha }}-unsigned.AppImage
|
||||
path: packages/tauri/src-tauri/target/release/bundle/appimage/*.AppImage
|
||||
if-no-files-found: error
|
||||
- name: Archive deb
|
||||
uses: actions/upload-artifact@v2
|
||||
if: matrix.platform == 'ubuntu-latest'
|
||||
with:
|
||||
name: padloc-linux-${{ github.sha }}-unsigned.deb
|
||||
path: packages/tauri/src-tauri/target/release/bundle/deb/*.deb
|
||||
if-no-files-found: error
|
||||
- name: Archive dmg
|
||||
uses: actions/upload-artifact@v2
|
||||
if: matrix.platform == 'macos-latest'
|
||||
with:
|
||||
name: padloc-macos-${{ github.sha }}-unsigned.dmg
|
||||
path: packages/tauri/src-tauri/target/release/bundle/dmg/*.dmg
|
||||
if-no-files-found: error
|
||||
- name: Archive app
|
||||
uses: actions/upload-artifact@v2
|
||||
if: matrix.platform == 'macos-latest'
|
||||
with:
|
||||
name: padloc-macos-${{ github.sha }}-unsigned.app
|
||||
path: packages/tauri/src-tauri/target/release/bundle/macos/*.app
|
||||
if-no-files-found: error
|
||||
- name: Archive msi
|
||||
uses: actions/upload-artifact@v2
|
||||
if: matrix.platform == 'windows-latest'
|
||||
with:
|
||||
name: padloc-windows-${{ github.sha }}-unsigned.msi
|
||||
path: packages/tauri/src-tauri/target/release/bundle/msi/*.msi
|
||||
if-no-files-found: error
|
||||
|
|
|
@ -17,6 +17,7 @@ on:
|
|||
- "packages/core/**"
|
||||
- "packages/extension/**"
|
||||
- "packages/locale/**"
|
||||
- "assets/**"
|
||||
|
||||
jobs:
|
||||
archive:
|
||||
|
@ -32,7 +33,9 @@ jobs:
|
|||
npm i -g npm@8.2.0 web-ext@6.6.0
|
||||
npm ci
|
||||
- name: Build
|
||||
run: PL_SERVER_URL=${{ secrets.PL_SERVER_URL }} npm run web-extension:build
|
||||
env:
|
||||
PL_SERVER_URL: ${{ secrets.PL_SERVER_URL }}
|
||||
run: npm run web-extension:build
|
||||
- name: Sign for Firefox
|
||||
run: cd packages/extension/dist && web-ext sign --channel=unlisted --api-key=${{ secrets.PL_WEB_EXTENSION_FIREFOX_API_KEY }} --api-secret=${{ secrets.PL_WEB_EXTENSION_FIREFOX_API_SECRET }}
|
||||
- name: Archive Signed Web Extension (Firefox)
|
||||
|
|
|
@ -6,4 +6,6 @@ packages/cordova/www/**/*
|
|||
packages/electron/app/**/*
|
||||
packages/electron/build/**/*
|
||||
packages/electron/dist/**/*
|
||||
packages/tauri/dist/**/*
|
||||
packages/tauri/src-tauri/target/**/*
|
||||
package-lock.json
|
||||
|
|
|
@ -37,6 +37,7 @@
|
|||
"start": "npm run pwa:build && lerna run --scope '@padloc/{server,pwa}' --parallel start",
|
||||
"dev": "lerna run --parallel --scope '@padloc/{server,pwa}' --parallel dev",
|
||||
"tauri:dev": "lerna run --parallel --scope '@padloc/{server,tauri}' --parallel dev",
|
||||
"tauri:build": "lerna run build --scope @padloc/tauri",
|
||||
"repl": "cd packages/server && npm run repl && cd ../..",
|
||||
"test": "lerna run test",
|
||||
"locale:extract": "lerna run extract --scope '@padloc/locale'",
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -15,10 +15,11 @@
|
|||
"css-loader": "5.2.6",
|
||||
"file-loader": "6.2.0",
|
||||
"html-webpack-plugin": "5.3.1",
|
||||
"raw-loader": "4.0.2",
|
||||
"style-loader": "2.0.0",
|
||||
"ts-loader": "9.2.2",
|
||||
"ts-node": "10.0.0",
|
||||
"typescript": "4.3.2",
|
||||
"typescript": "4.4.3",
|
||||
"webpack": "5.38.1",
|
||||
"webpack-cli": "4.7.0",
|
||||
"webpack-dev-server": "3.11.2",
|
||||
|
|
|
@ -1,14 +1,16 @@
|
|||
const path = require("path");
|
||||
const { resolve } = require("path");
|
||||
const { EnvironmentPlugin } = require("webpack");
|
||||
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
||||
const { CleanWebpackPlugin } = require("clean-webpack-plugin");
|
||||
const { version } = require("./package.json");
|
||||
|
||||
const out = process.env.PL_PWA_DIR || path.resolve(__dirname, "dist");
|
||||
const out = process.env.PL_PWA_DIR || resolve(__dirname, "dist");
|
||||
const serverUrl = process.env.PL_SERVER_URL || `http://0.0.0.0:${process.env.PL_SERVER_PORT || 3000}`;
|
||||
const rootDir = resolve(__dirname, "../..");
|
||||
const assetsDir = resolve(rootDir, process.env.PL_ASSETS_DIR || "assets");
|
||||
|
||||
module.exports = {
|
||||
entry: path.resolve(__dirname, "src/index.ts"),
|
||||
entry: resolve(__dirname, "src/index.ts"),
|
||||
output: {
|
||||
path: out,
|
||||
filename: "[name].js",
|
||||
|
@ -19,7 +21,10 @@ module.exports = {
|
|||
devtool: "source-map",
|
||||
stats: "minimal",
|
||||
resolve: {
|
||||
extensions: [".ts", ".js"],
|
||||
extensions: [".ts", ".js", ".css", ".svg", ".png", ".jpg"],
|
||||
alias: {
|
||||
assets: assetsDir,
|
||||
},
|
||||
},
|
||||
module: {
|
||||
rules: [
|
||||
|
@ -35,6 +40,10 @@ module.exports = {
|
|||
test: /\.(woff|woff2|eot|ttf|otf|svg)$/,
|
||||
use: ["file-loader"],
|
||||
},
|
||||
{
|
||||
test: /\.txt|md$/i,
|
||||
use: "raw-loader",
|
||||
},
|
||||
],
|
||||
},
|
||||
plugins: [
|
||||
|
@ -50,11 +59,11 @@ module.exports = {
|
|||
new CleanWebpackPlugin(),
|
||||
new HtmlWebpackPlugin({
|
||||
title: "Padloc",
|
||||
template: path.resolve(__dirname, "src/index.html"),
|
||||
template: resolve(__dirname, "src/index.html"),
|
||||
}),
|
||||
],
|
||||
devServer: {
|
||||
contentBase: path.resolve(__dirname, "dist"),
|
||||
contentBase: resolve(__dirname, "dist"),
|
||||
historyApiFallback: true,
|
||||
host: "0.0.0.0",
|
||||
port: process.env.PL_PWA_PORT || 8080,
|
||||
|
|
Loading…
Reference in New Issue