Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
123 changes: 21 additions & 102 deletions .github/workflows/build-app.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,147 +11,66 @@ on:

jobs:
build-macos:
name: Build macOS (electron-builder)
runs-on: macos-latest

steps:
- uses: actions/checkout@v4

- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc

- uses: pnpm/action-setup@v2
name: Install pnpm
id: pnpm-install
- uses: actions/setup-node@v4
with:
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT

- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: Install dependencies
run: pnpm install

- name: Build
run: pnpm build

- name: Make macOS (electron-builder)
node-version-file: '.nvmrc'
cache: 'pnpm'
- run: pnpm install
- run: pnpm build
- run: pnpm make:macos --publish=never -c.mac.identity=null
env:
CSC_LINK: ${{ secrets.mac_certs }}
CSC_KEY_PASSWORD: ${{ secrets.mac_certs_password }}
run: pnpm make:macos --publish=never -c.mac.identity=null

- name: Clean up builds
run: rm -rfv dist/mac-universal

- uses: actions/upload-artifact@v3
with:
name: Gitify-dist-mac
path: dist/

build-windows:
name: Build Windows (electron-builder)
runs-on: windows-latest

steps:
- uses: actions/checkout@v4

- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc

- uses: pnpm/action-setup@v2
name: Install pnpm
id: pnpm-install
with:
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT

- uses: actions/cache@v3
name: Setup pnpm cache
- uses: actions/setup-node@v4
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: Install dependencies
run: pnpm install

- name: Build
run: pnpm build

- name: Make Windows (electron-builder)
run: pnpm make:win --publish=never

node-version-file: '.nvmrc'
cache: 'pnpm'
- run: pnpm install
- run: pnpm build
- run: pnpm make:win --publish=never
- name: Clean up builds
run: Remove-Item dist/win-unpacked -Recurse

- uses: actions/upload-artifact@v3
with:
name: Gitify-dist-win
path: dist

build-linux:
name: Build Linux (electron-builder)
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc

- uses: pnpm/action-setup@v2
name: Install pnpm
id: pnpm-install
- uses: actions/setup-node@v4
with:
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT

- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: Install dependencies
run: pnpm install

- name: Build
run: pnpm build

- name: Make Linux (electron-builder)
run: pnpm make:linux --publish=never

node-version-file: '.nvmrc'
cache: 'pnpm'
- run: pnpm install
- run: pnpm build
- run: pnpm make:linux --publish=never
- name: Clean up builds
run: rm -rfv dist/linux-unpacked

- uses: actions/upload-artifact@v3
with:
name: Gitify-dist-linux
Expand Down
117 changes: 21 additions & 96 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,141 +7,66 @@ on:

jobs:
release-macos:
name: Publish macOS (electron-builder)
runs-on: macos-latest

steps:
- uses: actions/checkout@v4

- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc

- uses: pnpm/action-setup@v2
name: Install pnpm
id: pnpm-install
- uses: actions/setup-node@v4
with:
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT

- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: Install dependencies
run: pnpm install

- name: Build
node-version-file: '.nvmrc'
cache: 'pnpm'
- run: pnpm install
- run: pnpm build
env:
OAUTH_CLIENT_ID: ${{ secrets.oauth_client_id }}
OAUTH_CLIENT_SECRET: ${{ secrets.oauth_client_secret }}
run: pnpm build

- name: Publish macOS (electron-builder)
- run: pnpm make:macos --publish onTagOrDraft
env:
APPLEID_USERNAME: ${{ secrets.appleid_username }}
APPLEID_PASSWORD: ${{ secrets.appleid_password }}
CSC_LINK: ${{ secrets.mac_certs }}
CSC_KEY_PASSWORD: ${{ secrets.mac_certs_password }}
GH_TOKEN: ${{ secrets.gh_token }}
NOTARIZE: true
run: pnpm make:macos --publish onTagOrDraft

release-windows:
name: Publish Windows (electron-builder)
runs-on: windows-latest

steps:
- uses: actions/checkout@v4

- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc

- uses: pnpm/action-setup@v2
name: Install pnpm
id: pnpm-install
- uses: actions/setup-node@v4
with:
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT

- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: Install dependencies
run: pnpm install

- name: Build
node-version-file: '.nvmrc'
cache: 'pnpm'
- run: pnpm install
- run: pnpm build
env:
OAUTH_CLIENT_ID: ${{ secrets.oauth_client_id }}
OAUTH_CLIENT_SECRET: ${{ secrets.oauth_client_secret }}
run: pnpm build

- name: Publish Windows (electron-builder)
- run: pnpm make:win --publish onTagOrDraft
env:
GH_TOKEN: ${{ secrets.gh_token }}
run: pnpm make:win --publish onTagOrDraft

release-linux:
name: Publish Linux (electron-builder)
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc

- uses: pnpm/action-setup@v2
name: Install pnpm
id: pnpm-install
- uses: actions/setup-node@v4
with:
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT

- uses: actions/cache@v3
name: Setup pnpm cache
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: Install dependencies
run: pnpm install

- name: Build
node-version-file: '.nvmrc'
cache: 'pnpm'
- run: pnpm install
- run: pnpm build
env:
OAUTH_CLIENT_ID: ${{ secrets.oauth_client_id }}
OAUTH_CLIENT_SECRET: ${{ secrets.oauth_client_secret }}
run: pnpm build

- name: Publish Linuxs (electron-builder)
- run: pnpm make:linux --publish onTagOrDraft
env:
GH_TOKEN: ${{ secrets.gh_token }}
run: pnpm make:linux --publish onTagOrDraft
46 changes: 9 additions & 37 deletions .github/workflows/run-tests.yml
Original file line number Diff line number Diff line change
@@ -1,54 +1,26 @@
name: Run Tests

on:
on:
push:
branches:
- main
pull_request:

jobs:
run-unit-tests:
name: Run Tests
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4

- name: Install Node.js
uses: actions/setup-node@v3
with:
node-version-file: .nvmrc

- uses: pnpm/action-setup@v2
name: Install pnpm
id: pnpm-install
with:
run_install: false

- name: Get pnpm store directory
id: pnpm-cache
shell: bash
run: |
echo "STORE_PATH=$(pnpm store path)" >> $GITHUB_OUTPUT

- uses: actions/cache@v3
name: Setup pnpm cache
- uses: actions/setup-node@v4
with:
path: ${{ steps.pnpm-cache.outputs.STORE_PATH }}
key: ${{ runner.os }}-pnpm-store-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-pnpm-store-

- name: Install dependencies
run: pnpm install

- name: Run Prettier (Check)
run: pnpm prettier:check

- name: Run Typechecking
run: pnpm tsc --noEmit

- name: Run Jest
run: pnpm test -- --coverage --runInBand --verbose

node-version-file: '.nvmrc'
cache: 'pnpm'
- run: pnpm install
- run: pnpm prettier:check
- run: pnpm tsc --noEmit
- run: pnpm test -- --coverage --runInBand --verbose
- name: Coveralls
uses: coverallsapp/github-action@v2
Loading