mirror of
https://github.com/go-vikunja/vikunja.git
synced 2026-04-30 08:25:58 -05:00
feat: composite action for frontend setup
This commit is contained in:
committed by
kolaente
parent
1c2cdf9240
commit
1deb674da1
18
.github/actions/setup-frontend/action.yml
vendored
Normal file
18
.github/actions/setup-frontend/action.yml
vendored
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
name: Setup Frontend
|
||||||
|
description: Common setup for frontend jobs using pnpm
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4
|
||||||
|
with:
|
||||||
|
run_install: false
|
||||||
|
package_json_file: frontend/package.json
|
||||||
|
- uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
|
||||||
|
with:
|
||||||
|
node-version-file: frontend/.nvmrc
|
||||||
|
cache: 'pnpm'
|
||||||
|
cache-dependency-path: frontend/pnpm-lock.yaml
|
||||||
|
- name: Install dependencies
|
||||||
|
working-directory: frontend
|
||||||
|
run: pnpm install
|
||||||
|
shell: bash
|
||||||
18
.github/workflows/release.yml
vendored
18
.github/workflows/release.yml
vendored
@@ -55,22 +55,10 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4
|
- uses: ./.github/actions/setup-frontend
|
||||||
name: Install pnpm
|
- name: Build frontend
|
||||||
with:
|
|
||||||
run_install: false
|
|
||||||
package_json_file: frontend/package.json
|
|
||||||
- name: Install Node.js
|
|
||||||
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
|
|
||||||
with:
|
|
||||||
node-version-file: frontend/.nvmrc
|
|
||||||
cache: 'pnpm'
|
|
||||||
cache-dependency-path: frontend/pnpm-lock.yaml
|
|
||||||
- name: Install dependencies
|
|
||||||
working-directory: frontend
|
working-directory: frontend
|
||||||
run: |
|
run: pnpm build
|
||||||
pnpm install
|
|
||||||
pnpm build
|
|
||||||
- name: Store frontend dist
|
- name: Store frontend dist
|
||||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4
|
||||||
with:
|
with:
|
||||||
|
|||||||
67
.github/workflows/test.yml
vendored
67
.github/workflows/test.yml
vendored
@@ -226,65 +226,29 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4
|
- uses: ./.github/actions/setup-frontend
|
||||||
name: Install pnpm
|
|
||||||
with:
|
|
||||||
run_install: false
|
|
||||||
package_json_file: frontend/package.json
|
|
||||||
- name: Install Node.js
|
|
||||||
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
|
|
||||||
with:
|
|
||||||
node-version-file: frontend/.nvmrc
|
|
||||||
cache: 'pnpm'
|
|
||||||
cache-dependency-path: frontend/pnpm-lock.yaml
|
|
||||||
- name: Lint
|
- name: Lint
|
||||||
run: |
|
working-directory: frontend
|
||||||
cd frontend
|
run: pnpm lint
|
||||||
pnpm install
|
|
||||||
pnpm lint
|
|
||||||
|
|
||||||
frontend-typecheck:
|
frontend-typecheck:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4
|
- uses: ./.github/actions/setup-frontend
|
||||||
name: Install pnpm
|
|
||||||
with:
|
|
||||||
run_install: false
|
|
||||||
package_json_file: frontend/package.json
|
|
||||||
- name: Install Node.js
|
|
||||||
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
|
|
||||||
with:
|
|
||||||
node-version-file: frontend/.nvmrc
|
|
||||||
cache: 'pnpm'
|
|
||||||
cache-dependency-path: frontend/pnpm-lock.yaml
|
|
||||||
- name: Typecheck
|
- name: Typecheck
|
||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
run: |
|
working-directory: frontend
|
||||||
cd frontend
|
run: pnpm typecheck
|
||||||
pnpm install
|
|
||||||
pnpm typecheck
|
|
||||||
|
|
||||||
test-frontend-unit:
|
test-frontend-unit:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4
|
- uses: ./.github/actions/setup-frontend
|
||||||
name: Install pnpm
|
|
||||||
with:
|
|
||||||
run_install: false
|
|
||||||
package_json_file: frontend/package.json
|
|
||||||
- name: Install Node.js
|
|
||||||
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
|
|
||||||
with:
|
|
||||||
node-version-file: frontend/.nvmrc
|
|
||||||
cache: 'pnpm'
|
|
||||||
cache-dependency-path: frontend/pnpm-lock.yaml
|
|
||||||
- name: Run unit tests
|
- name: Run unit tests
|
||||||
run: |
|
working-directory: frontend
|
||||||
cd frontend
|
run: pnpm test:unit
|
||||||
pnpm install
|
|
||||||
pnpm test:unit
|
|
||||||
|
|
||||||
test-frontend-e2e:
|
test-frontend-e2e:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
@@ -292,17 +256,7 @@ jobs:
|
|||||||
- api-build
|
- api-build
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
||||||
- uses: pnpm/action-setup@a7487c7e89a18df4991f7f222e4898a00d66ddda # v4
|
- uses: ./.github/actions/setup-frontend
|
||||||
name: Install pnpm
|
|
||||||
with:
|
|
||||||
run_install: false
|
|
||||||
package_json_file: frontend/package.json
|
|
||||||
- name: Install Node.js
|
|
||||||
uses: actions/setup-node@cdca7365b2dadb8aad0a33bc7601856ffabcc48e # v4
|
|
||||||
with:
|
|
||||||
node-version-file: frontend/.nvmrc
|
|
||||||
cache: 'pnpm'
|
|
||||||
cache-dependency-path: frontend/pnpm-lock.yaml
|
|
||||||
- name: Download Vikunja Binary
|
- name: Download Vikunja Binary
|
||||||
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4
|
uses: actions/download-artifact@95815c38cf2ff2164869cbab79da8d1f422bc89e # v4
|
||||||
with:
|
with:
|
||||||
@@ -310,7 +264,6 @@ jobs:
|
|||||||
- name: Build frontend for test
|
- name: Build frontend for test
|
||||||
run: |
|
run: |
|
||||||
cd frontend
|
cd frontend
|
||||||
pnpm install
|
|
||||||
pnpm cypress install
|
pnpm cypress install
|
||||||
pnpm build:test
|
pnpm build:test
|
||||||
- name: Run api
|
- name: Run api
|
||||||
|
|||||||
Reference in New Issue
Block a user