integrating actual-server git workflows

This commit is contained in:
Mike Clark
2025-02-07 20:30:41 +00:00
parent 722e30e385
commit 83ba751410
13 changed files with 23 additions and 141 deletions

View File

@@ -68,3 +68,17 @@ jobs:
with:
name: build-stats
path: packages/desktop-client/build-stats
server:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Set up environment
uses: ./.github/actions/setup
- name: Build Server
run: cd packages/sync-server && yarn build
- name: Upload Build
uses: actions/upload-artifact@v4
with:
name: sync-server
path: packages/sync-server/build

View File

@@ -71,7 +71,7 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}
- name: Download artifacts
run: ./docker/download-artifacts.sh
run: ./packages/sync-server/docker/download-artifacts.sh
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
@@ -80,7 +80,7 @@ jobs:
with:
context: .
push: ${{ github.event_name != 'pull_request' }}
file: docker/edge-${{ matrix.os }}.Dockerfile
file: packages/sync-server/docker/edge-${{ matrix.os }}.Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7${{ matrix.os == 'alpine' && ',linux/arm/v6' || '' }}
tags: ${{ steps.meta.outputs.tags }}
build-args: |

View File

@@ -74,7 +74,7 @@ jobs:
with:
context: .
push: true
file: docker/stable-ubuntu.Dockerfile
file: packages/sync-server/docker/stable-ubuntu.Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7
tags: ${{ steps.meta.outputs.tags }}
@@ -83,6 +83,6 @@ jobs:
with:
context: .
push: true
file: docker/stable-alpine.Dockerfile
file: packages/sync-server/docker/stable-alpine.Dockerfile
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v6
tags: ${{ steps.alpine-meta.outputs.tags }}

View File

@@ -19,7 +19,7 @@
},
"scripts": {
"start": "yarn start:browser",
"start:server": "yarn workspace actual-sync start",
"start:server": "yarn rebuild-node && yarn workspace actual-sync start",
"start:desktop": "yarn rebuild-electron && npm-run-all --parallel 'start:desktop-*'",
"start:desktop-node": "yarn workspace loot-core watch:node",
"start:desktop-client": "yarn workspace @actual-app/web watch",

View File

@@ -41,6 +41,7 @@
"devDependencies": {
"@actual-app/api": "workspace:^",
"@actual-app/crdt": "workspace:^",
"@actual-app/web": "workspace:^",
"@swc/core": "^1.5.3",
"@swc/helpers": "^0.5.11",
"@swc/jest": "^0.2.36",

View File

@@ -1,29 +0,0 @@
name: Build
on:
push:
branches:
- master
pull_request:
branches: '*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install node
uses: actions/setup-node@v4
with:
node-version: 18
- name: Cache
uses: actions/cache@v4
id: cache
with:
path: '**/node_modules'
key: yarn-v1-${{ hashFiles('**/yarn.lock') }}
- name: Install
run: yarn --immutable
if: steps.cache.outputs.cache-hit != 'true'
- name: Build
run: yarn build

View File

@@ -1,29 +0,0 @@
name: Linter
on:
push:
branches:
- master
pull_request:
branches: '*'
jobs:
lint:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install node
uses: actions/setup-node@v4
with:
node-version: 18
- name: Cache
uses: actions/cache@v4
id: cache
with:
path: '**/node_modules'
key: yarn-v1-${{ hashFiles('**/yarn.lock') }}
- name: Install
run: yarn --immutable
if: steps.cache.outputs.cache-hit != 'true'
- name: Lint
run: yarn lint

View File

@@ -1,18 +0,0 @@
name: Release notes
on:
pull_request:
branches: '*'
jobs:
release-notes:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Check release notes
if: startsWith(github.head_ref, 'release/') == false
uses: actualbudget/actions/release-notes/check@main
- name: Generate release notes
if: startsWith(github.head_ref, 'release/') == true
uses: actualbudget/actions/release-notes/generate@main

View File

@@ -1,26 +0,0 @@
name: 'Close stale PRs'
on:
schedule:
- cron: '30 1 * * *'
jobs:
stale:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
with:
stale-pr-message: 'This PR is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.'
close-pr-message: 'This PR was closed because it has been stalled for 5 days with no activity.'
days-before-stale: 30
days-before-close: 5
days-before-issue-stale: -1
stale-wip:
runs-on: ubuntu-latest
steps:
- uses: actions/stale@v9
with:
stale-pr-message: ':wave: Hi! It looks like this PR has not had any changes for a week now. Would you like someone to review this PR? If so - please remove the "[WIP]" prefix from the PR title. That will let the community know that this PR is open for a review.'
days-before-stale: 7
any-of-labels: ':construction: WIP'
days-before-close: -1
days-before-issue-stale: -1

View File

@@ -1,29 +0,0 @@
name: Test
on:
push:
branches:
- master
pull_request:
branches: '*'
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install node
uses: actions/setup-node@v4
with:
node-version: 18
- name: Cache
uses: actions/cache@v4
id: cache
with:
path: '**/node_modules'
key: yarn-v1-${{ hashFiles('**/yarn.lock') }}
- name: Install
run: yarn --immutable
if: steps.cache.outputs.cache-hit != 'true'
- name: Test
run: yarn test

View File

@@ -70,8 +70,6 @@ let defaultConfig = {
hostname: '::',
webRoot: path.join(
projectRoot,
'../',
'../',
'node_modules',
'@actual-app',
'web',

View File

@@ -12,11 +12,10 @@
"jsx": "preserve",
// Check JS files too
"allowJs": true,
"checkJs": true,
"moduleResolution": "node16",
"module": "node16",
"outDir": "build"
},
"include": ["src/**/*.js", "types/global.d.ts"],
"exclude": ["node_modules", "build", "./app-plaid.js", "coverage"],
"exclude": ["node_modules", "build", "./app-plaid.js", "coverage"]
}

View File

@@ -73,7 +73,7 @@ __metadata:
languageName: node
linkType: hard
"@actual-app/web@workspace:packages/desktop-client":
"@actual-app/web@workspace:^, @actual-app/web@workspace:packages/desktop-client":
version: 0.0.0-use.local
resolution: "@actual-app/web@workspace:packages/desktop-client"
dependencies:
@@ -15976,6 +15976,7 @@ __metadata:
dependencies:
"@actual-app/api": "workspace:^"
"@actual-app/crdt": "workspace:^"
"@actual-app/web": "workspace:^"
"@jlongster/sql.js": "npm:^1.6.7"
"@reduxjs/toolkit": "npm:^2.5.0"
"@rschedule/core": "npm:^1.5.0"