mirror of
https://github.com/verdaccio/verdaccio.git
synced 2024-12-16 21:56:25 -05:00
47e6ce9083
* build test test test Update action.yml Update action.yml test test Update action.yml Update action.yml Update action.yml test test Update ci.yml Update ci.yml test test test test Update action.yml test Update ci.yml Update e2e-ci.yml test * Update ci.yml * Update plugin-generator-e2e.yaml * test * test * test * test * Update e2e-ci.yml * Update e2e-ui.yml * test * Update ci.yml * Update ci.yml * Update action.yml * Update action.yml * Update package.json * Update static-data.yml * Update static-data.yml * Update website.yml * test * Update ui-components.yml * Update ui-components.yml * Update ui-components.yml
114 lines
3.5 KiB
YAML
114 lines
3.5 KiB
YAML
name: CI
|
|
|
|
on:
|
|
push:
|
|
pull_request:
|
|
paths:
|
|
- .changeset/**
|
|
- .github/workflows/ci.yml
|
|
- 'packages/**'
|
|
- 'test/**'
|
|
- 'docker-examples/**'
|
|
- 'jest/**'
|
|
- 'package.json'
|
|
- 'pnpm-workspace.yaml'
|
|
permissions:
|
|
contents: read
|
|
concurrency:
|
|
group: ci-${{ github.ref }}
|
|
cancel-in-progress: true
|
|
|
|
jobs:
|
|
prepare:
|
|
runs-on: ubuntu-latest
|
|
name: setup verdaccio
|
|
services:
|
|
verdaccio:
|
|
image: verdaccio/verdaccio:6
|
|
ports:
|
|
- 4873:4873
|
|
env:
|
|
NODE_ENV: production
|
|
options: >-
|
|
--health-cmd="curl -f http://0.0.0.0:4873/-/ping || exit 1"
|
|
--health-interval=10s
|
|
--health-timeout=20s
|
|
--health-retries=6
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- name: Install dependencies with a custom registry
|
|
uses: ./.github/actions/install-app
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
name: Lint
|
|
needs: prepare
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- name: Install dependencies with a custom registry
|
|
uses: ./.github/actions/install-app
|
|
with:
|
|
reporter: 'default'
|
|
- name: Lint
|
|
run: pnpm lint
|
|
format:
|
|
runs-on: ubuntu-latest
|
|
name: Format
|
|
needs: prepare
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- name: Install dependencies with a custom registry
|
|
uses: ./.github/actions/install-app
|
|
with:
|
|
reporter: 'default'
|
|
- name: Lint
|
|
run: pnpm format:check
|
|
test:
|
|
needs: [prepare]
|
|
strategy:
|
|
fail-fast: true
|
|
matrix:
|
|
os: [ubuntu-latest]
|
|
node_version: [18, 20, 21, 22, 23]
|
|
name: ${{ matrix.os }} / Node ${{ matrix.node_version }}
|
|
runs-on: ${{ matrix.os }}
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- name: Build application with Node ${{ matrix.node_version }}
|
|
uses: ./.github/actions/build-app
|
|
with:
|
|
node-version: ${{ matrix.node_version }}
|
|
- name: Test
|
|
run: pnpm test
|
|
sync-translations:
|
|
needs: [test]
|
|
runs-on: ubuntu-latest
|
|
name: synchronize translations
|
|
if: (github.event_name == 'push' && github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio') || github.event_name == 'workflow_dispatch'
|
|
steps:
|
|
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
|
- uses: actions/setup-node@39370e3970a6d050c480ffad4ff0ed4d3fdee5af # v4.1.0
|
|
with:
|
|
node-version-file: '.nvmrc'
|
|
- name: Install pnpm
|
|
run: |
|
|
corepack enable
|
|
corepack install
|
|
- uses: actions/cache@6849a6489940f00c2f30c0fb92c6274307ccb58a # v4.0.2
|
|
with:
|
|
path: ~/.pnpm-store
|
|
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
|
|
- name: set store
|
|
run: |
|
|
pnpm config set store-dir ~/.pnpm-store
|
|
- name: Install
|
|
## we need scripts, pupetter downloads aditional content
|
|
run: pnpm install --registry http://localhost:4873
|
|
- name: build
|
|
run: pnpm build
|
|
- name: generate website translations
|
|
run: pnpm --filter ...@verdaccio/website write-translations
|
|
- name: sync
|
|
env:
|
|
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
|
|
CONTEXT: production
|
|
run: pnpm crowdin:sync
|