Skip to content

Commit

Permalink
style: lintig enabled and test framework present
Browse files Browse the repository at this point in the history
  • Loading branch information
szattila98 committed Feb 28, 2024
1 parent dabecfe commit 6377c78
Show file tree
Hide file tree
Showing 32 changed files with 3,590 additions and 492 deletions.
15 changes: 15 additions & 0 deletions .eslintignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
.DS_Store
node_modules
/build
/package
.env
.env.*
!.env.example

/src-tauri
/dist

# Ignore files for PNPM, NPM and YARN
pnpm-lock.yaml
package-lock.json
yarn.lock
35 changes: 35 additions & 0 deletions .eslintrc.cjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
/** @type { import("eslint").Linter.Config } */
module.exports = {
root: true,
extends: [
'eslint:recommended',
'plugin:@typescript-eslint/recommended',
'plugin:svelte/recommended',
'plugin:prettier/recommended'
],
parser: '@typescript-eslint/parser',
plugins: ['@typescript-eslint'],
parserOptions: {
sourceType: 'module',
ecmaVersion: 2020,
extraFileExtensions: ['.svelte']
},
env: {
browser: true,
es2017: true,
node: true
},
overrides: [
{
files: ['*.svelte'],
parser: 'svelte-eslint-parser',
parserOptions: {
parser: '@typescript-eslint/parser'
}
}
],
rules: {
complexity: ['error', 8],
'prefer-const': 'error'
}
};
32 changes: 16 additions & 16 deletions .github/workflows/conventional-commits.yml
Original file line number Diff line number Diff line change
@@ -1,22 +1,22 @@
name: Conventional commits

on:
push:
branches: ["main"]
pull_request:
branches: ["**"]
types: [opened, synchronize]
workflow_dispatch:
push:
branches: ['main']
pull_request:
branches: ['**']
types: [opened, synchronize]
workflow_dispatch:

jobs:
check:
runs-on: ubuntu-latest
name: Check conventional commit compliance
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0
check:
runs-on: ubuntu-latest
name: Check conventional commit compliance
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
fetch-depth: 0

- name: Check commits
uses: cocogitto/cocogitto-action@main
- name: Check commits
uses: cocogitto/cocogitto-action@main
27 changes: 27 additions & 0 deletions .github/workflows/playwright.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
name: Playwright Tests
on:
push:
branches: [main, master]
pull_request:
branches: [main, master]
jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-node@v3
with:
node-version: 18
- name: Install dependencies
run: npm install -g yarn && yarn
- name: Install Playwright Browsers
run: yarn playwright install --with-deps
- name: Run Playwright tests
run: yarn playwright test
- uses: actions/upload-artifact@v3
if: always()
with:
name: playwright-report
path: playwright-report/
retention-days: 30
220 changes: 110 additions & 110 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
@@ -1,119 +1,119 @@
name: Publish

on:
push:
branches:
- main
tags:
- "*"
push:
branches:
- main
tags:
- '*'

env:
CARGO_TERM_COLOR: always
CARGO_TERM_COLOR: always

permissions:
contents: write
contents: write

jobs:
upload_license:
name: Upload License
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/upload-artifact@v4
with:
name: LICENSE
path: LICENSE

build:
name: Build - ${{ matrix.platform }}
runs-on: ${{ matrix.platform }}
strategy:
matrix:
platform: [macos-latest, windows-latest, ubuntu-latest]

steps:
- uses: actions/checkout@v4

- uses: Swatinem/rust-cache@v2
with:
shared-key: whooosh-${{ matrix.platform }}
workspaces: src-tauri

- uses: volta-cli/action@v4

- uses: dtolnay/rust-toolchain@stable

- if: matrix.platform == 'ubuntu-latest'
run: |
sudo apt update
sudo apt install libwebkit2gtk-4.0-dev \
build-essential \
curl \
wget \
file \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev
- run: yarn install --immutable

- run: yarn tauri build --ci

- uses: actions/upload-artifact@v4
with:
name: artifact-${{ matrix.platform }}
path: src-tauri/target/release/bundle
retention-days: 7

upload_to_release:
needs: [build, upload_license]
name: Publish binaries
runs-on: ubuntu-latest
if: ${{ github.ref_type == 'tag' }}
steps:
- uses: actions/download-artifact@v4

- run: ls -R

- name: Copy artifacts to archive
run: |
mv artifact-macos-latest macos
chmod +x -R macos
cp -r LICENSE/LICENSE macos/
tar -czf macos.tar.gz macos/*
mv artifact-windows-latest windows
chmod +x -R windows
cp -r LICENSE/LICENSE windows/
tar -czf windows.tar.gz windows/*
mv artifact-ubuntu-latest linux
chmod +x -R linux
cp -r LICENSE/LICENSE linux/
tar -czf linux.tar.gz linux/*
- uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: macos.tar.gz
tag: ${{ github.ref }}
asset_name: macos-${{ github.ref_name }}.tar.gz
body: "macos app and dmg"

- uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: windows.tar.gz
tag: ${{ github.ref }}
asset_name: windows-${{ github.ref_name }}.tar.gz
body: "windows msi and exe"

- uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: linux.tar.gz
tag: ${{ github.ref }}
asset_name: linux-${{ github.ref_name }}.tar.gz
body: "linux deb and appimage"
upload_license:
name: Upload License
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4

- uses: actions/upload-artifact@v4
with:
name: LICENSE
path: LICENSE

build:
name: Build - ${{ matrix.platform }}
runs-on: ${{ matrix.platform }}
strategy:
matrix:
platform: [macos-latest, windows-latest, ubuntu-latest]

steps:
- uses: actions/checkout@v4

- uses: Swatinem/rust-cache@v2
with:
shared-key: whooosh-${{ matrix.platform }}
workspaces: src-tauri

- uses: volta-cli/action@v4

- uses: dtolnay/rust-toolchain@stable

- if: matrix.platform == 'ubuntu-latest'
run: |
sudo apt update
sudo apt install libwebkit2gtk-4.0-dev \
build-essential \
curl \
wget \
file \
libssl-dev \
libgtk-3-dev \
libayatana-appindicator3-dev \
librsvg2-dev
- run: yarn install --immutable

- run: yarn tauri build --ci

- uses: actions/upload-artifact@v4
with:
name: artifact-${{ matrix.platform }}
path: src-tauri/target/release/bundle
retention-days: 7

upload_to_release:
needs: [build, upload_license]
name: Publish binaries
runs-on: ubuntu-latest
if: ${{ github.ref_type == 'tag' }}
steps:
- uses: actions/download-artifact@v4

- run: ls -R

- name: Copy artifacts to archive
run: |
mv artifact-macos-latest macos
chmod +x -R macos
cp -r LICENSE/LICENSE macos/
tar -czf macos.tar.gz macos/*
mv artifact-windows-latest windows
chmod +x -R windows
cp -r LICENSE/LICENSE windows/
tar -czf windows.tar.gz windows/*
mv artifact-ubuntu-latest linux
chmod +x -R linux
cp -r LICENSE/LICENSE linux/
tar -czf linux.tar.gz linux/*
- uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: macos.tar.gz
tag: ${{ github.ref }}
asset_name: macos-${{ github.ref_name }}.tar.gz
body: 'macos app and dmg'

- uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: windows.tar.gz
tag: ${{ github.ref }}
asset_name: windows-${{ github.ref_name }}.tar.gz
body: 'windows msi and exe'

- uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: linux.tar.gz
tag: ${{ github.ref }}
asset_name: linux-${{ github.ref_name }}.tar.gz
body: 'linux deb and appimage'
Loading

0 comments on commit 6377c78

Please sign in to comment.