Compare commits

..

3 Commits

Author SHA1 Message Date
Juan Picado
ad1a5b01fa migrate vitest 2024-09-28 09:31:32 +02:00
Juan Picado
f775e05772 fix test 2024-09-28 09:31:32 +02:00
Juan Picado
9790875741 legacy storages support
legacy storages support

rebase
2024-09-28 09:31:32 +02:00
1014 changed files with 37371 additions and 55627 deletions

View File

@@ -1,7 +0,0 @@
---
'@verdaccio/server': patch
'@verdaccio/middleware': patch
'@verdaccio/core': patch
---
chore: request header constants

View File

@@ -1,9 +0,0 @@
---
'@verdaccio/tarball': patch
'@verdaccio/core': patch
'@verdaccio/utils': patch
'@verdaccio/middleware': patch
'@verdaccio/store': patch
---
chore: move tarball utils to core

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': patch
---
fix(ui): sort versions

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/ui-theme': patch
'@verdaccio/ui-components': patch
---
chore(deps): update webpack-dev-server to v5

View File

@@ -1,7 +0,0 @@
---
'@verdaccio/config': patch
'@verdaccio/types': patch
'@verdaccio/website': patch
---
chore: `keep_readmes` docs

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/store': patch
---
fix(store): internal error when checking manifest

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/logger-commons': patch
---
chore(logger): avoid message if level remains the same

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/types': patch
'@verdaccio/proxy': patch
---
chore: move agent_options to config

View File

@@ -12,26 +12,6 @@
"@verdaccio/ui-theme"
]
],
"ignoredPackages": [
"@verdaccio/local-publish",
"docusaurus-plugin-downloads",
"docusaurus-plugin-contributors",
"@verdaccio/test-cli-commons",
"@verdaccio/local-scripts",
"@verdaccio/e2e-cli-npm6",
"@verdaccio/e2e-cli-npm7",
"@verdaccio/e2e-cli-npm8",
"@verdaccio/e2e-cli-npm9",
"@verdaccio/e2e-cli-npm10",
"@verdaccio/e2e-cli-npm-common",
"@verdaccio/e2e-cli-yarn1",
"@verdaccio/e2e-cli-yarn2",
"@verdaccio/e2e-cli-yarn3",
"@verdaccio/e2e-cli-yarn4",
"@verdaccio/e2e-cli-pnpm8",
"@verdaccio/e2e-cli-pnpm9",
"@verdaccio/e2e-cli-pnpm10"
],
"access": "public",
"baseBranch": "master",
"updateInternalDependencies": "patch"

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/loaders': patch
'@verdaccio/config': patch
---
chore(loader): fix types for plugin options

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/middleware': patch
---
chore(middleware): improve loop detection

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/core': patch
---
chore(core): typing, naming, and docs of parameters

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/web': patch
---
chore(web): fix syntax of test files

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/types': patch
---
chore: add `error` to log level enum

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': patch
---
fix(ui): start storybook on windows

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/ui-theme': patch
'@verdaccio/ui-components': patch
---
chore(ui): update react-json-view

View File

@@ -1,5 +0,0 @@
---
'verdaccio': patch
---
chore: bump user agent

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/middleware': patch
---
fix(middleware): allow content-type with charset

View File

@@ -1,7 +0,0 @@
---
'verdaccio': patch
'@verdaccio/store': patch
'@verdaccio/utils': patch
---
fix: internal error for unpublished tarball

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/proxy': patch
'@verdaccio/website': patch
---
fix(proxy): validate protocol of proxy settings

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/local-storage': patch
'@verdaccio/store': patch
---
fix: code scan issues

View File

@@ -1,9 +0,0 @@
---
'@verdaccio/config': patch
'@verdaccio/search': patch
'@verdaccio/proxy': patch
'@verdaccio/store': patch
'@verdaccio/utils': patch
---
fix: uplink processing order

View File

@@ -1,8 +0,0 @@
---
'@verdaccio/server': patch
'@verdaccio/store': patch
'@verdaccio/auth': patch
'@verdaccio/web': patch
---
chore: add info to log when audit, htpasswd, theme are used

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/auth': patch
'@verdaccio/api': patch
---
fix: E409 username is already registered (adduser)

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/types': patch
'@verdaccio/config': patch
---
chore: fix typedocs warnings

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/store': patch
---
chore: add info to log when local storage is used

View File

@@ -1,5 +0,0 @@
---
'verdaccio-htpasswd': patch
---
chore: add debug code to htpasswd package

View File

@@ -1,9 +0,0 @@
---
'@verdaccio/types': patch
'@verdaccio/core': patch
'verdaccio': patch
'@verdaccio/store': patch
'@verdaccio/api': patch
---
fix: unpublish a package on storage package

View File

@@ -1,7 +0,0 @@
---
'@verdaccio/ui-theme': minor
'@verdaccio/ui-components': minor
'@verdaccio/ui-i18n': minor
---
feat: new i18n package for ui

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/ui-theme': patch
'@verdaccio/ui-components': patch
---
chore(ui): vitest follow-ups

View File

@@ -1,8 +0,0 @@
---
'@verdaccio/api': patch
'@verdaccio/core': patch
'@verdaccio/middleware': patch
'@verdaccio/proxy': patch
---
fix(middleware): error 404 when getting scoped tarballs

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/ui-theme': patch
'@verdaccio/ui-components': patch
---
chore(ui): flags import and minor updates

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/middleware': patch
---
fix(middleware): encoding of scope package name

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/config': patch
---
fix: runtime dependency missing as explicit dependency

View File

@@ -1,7 +0,0 @@
---
'@verdaccio/core': patch
'@verdaccio/proxy': patch
'@verdaccio/store': patch
---
fix: handling for uplink timeouts

View File

@@ -1,5 +0,0 @@
---
'verdaccio-memory': patch
---
fix: memory plugin limit error message

View File

@@ -1,42 +0,0 @@
---
'generator-verdaccio-plugin': patch
'@verdaccio/logger-prettify': patch
'@verdaccio/logger-commons': patch
'@verdaccio/local-storage': patch
'@verdaccio/local-publish': patch
'@verdaccio/local-scripts': patch
'@verdaccio/file-locking': patch
'verdaccio-htpasswd': patch
'@verdaccio/ui-theme': patch
'verdaccio-memory': patch
'@verdaccio/search-indexer': patch
'@verdaccio/server': patch
'@verdaccio/server-fastify': patch
'@verdaccio/logger': patch
'@verdaccio/test-helper': patch
'@verdaccio/ui-components': patch
'@verdaccio/tarball': patch
'@verdaccio/eslint-config': patch
'@verdaccio/types': patch
'@verdaccio/middleware': patch
'@verdaccio/cli-standalone': patch
'@verdaccio/core': patch
'@verdaccio/ui-i18n': patch
'@verdaccio/signature': patch
'verdaccio': patch
'@verdaccio/url': patch
'@verdaccio/node-api': patch
'@verdaccio/loaders': patch
'@verdaccio/config': patch
'@verdaccio/search': patch
'@verdaccio/hooks': patch
'@verdaccio/proxy': patch
'@verdaccio/store': patch
'@verdaccio/utils': patch
'@verdaccio/auth': patch
'@verdaccio/api': patch
'@verdaccio/cli': patch
'@verdaccio/web': patch
---
chore: package.json maintenance

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': patch
---
fix(ui-components): remove test warnings

View File

@@ -14,7 +14,6 @@
"@verdaccio/e2e-cli-yarn3": "1.0.1",
"@verdaccio/e2e-cli-yarn4": "1.0.1",
"@verdaccio/e2e-ui": "2.0.0",
"@verdaccio/ui-i18n": "8.0.0",
"@verdaccio/api": "7.0.0",
"@verdaccio/auth": "7.0.0",
"@verdaccio/cli": "7.0.0",
@@ -49,92 +48,14 @@
"@verdaccio/eslint-config": "3.0.0",
"generator-verdaccio-plugin": "5.0.0",
"@verdaccio/test-helper": "3.0.0",
"@verdaccio/local-scripts": "1.0.0",
"@verdaccio/local-publish": "0.0.2",
"@verdaccio/crowdin-translations": "1.0.0",
"customprefix-auth": "2.0.0",
"@verdaccio/ui-components": "3.0.0",
"@verdaccio/utils": "7.0.0",
"verdaccio": "7.0.0",
"@verdaccio/web": "7.0.0",
"@verdaccio/website": "6.0.0",
"@verdaccio/e2e-cli-npm-common": "1.0.0",
"@verdaccio/e2e-cli-pnpm-common": "1.0.2-next-8.0",
"@verdaccio/e2e-cli-pnpm10": "1.0.0",
"docusaurus-plugin-downloads": "2.0.0",
"@verdaccio/local-publish": "0.0.2"
"@verdaccio/website": "6.0.0"
},
"changesets": [
"angry-doors-tan",
"beige-lions-type",
"blue-paws-cheer",
"breezy-geckos-search",
"bright-bobcats-ring",
"brown-lions-talk",
"brown-planets-approve",
"calm-mangos-compare",
"chatty-apricots-report",
"clean-beds-wash",
"clever-bees-happen",
"cool-seals-watch",
"curly-mirrors-smile",
"curvy-rockets-camp",
"cyan-snakes-kiss",
"early-eyes-float",
"eight-countries-think",
"eighty-apes-think",
"eleven-rocks-dream",
"fifty-falcons-design",
"forty-hounds-matter",
"funny-fireants-tan",
"gentle-stingrays-repeat",
"gold-files-speak",
"gold-squids-watch",
"green-eagles-boil",
"healthy-ducks-drive",
"healthy-zoos-lie",
"hip-eggs-serve",
"hot-crews-live",
"itchy-glasses-end",
"long-eyes-drum",
"long-singers-drive",
"lucky-crabs-enjoy",
"nice-garlics-tie",
"nine-countries-remember",
"ninety-geese-do",
"ninety-hotels-dance",
"old-clocks-destroy",
"pink-jeans-lick",
"popular-trees-grin",
"proud-houses-switch",
"purple-planes-do",
"quick-avocados-type",
"quick-seas-deny",
"real-seahorses-change",
"red-dolls-repair",
"rotten-melons-notice",
"rotton-readers-shave",
"rude-birds-design",
"rude-socks-walk",
"serious-apes-rule",
"shiny-buttons-laugh",
"short-mails-smoke",
"short-turkeys-boil",
"silent-bags-listen",
"silent-tips-admire",
"silver-houses-remain",
"slow-cars-guess",
"smooth-games-share",
"strange-pants-chew",
"stupid-camels-build",
"sweet-crabs-deliver",
"ten-jeans-approve",
"thirty-comics-trade",
"tricky-impalas-shake",
"tricky-knives-end",
"twelve-games-wonder",
"violet-baboons-beg",
"violet-bobcats-allow",
"violet-boxes-float",
"weak-cherries-serve",
"wet-cats-behave"
]
"changesets": ["angry-doors-tan", "beige-lions-type", "chatty-apricots-report", "long-eyes-drum"]
}

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/web': patch
---
fix(web): anonymous user handling

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': patch
---
fix(ui): format date distance test

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': patch
---
fix(ui-components): typings for vitest/jest-dom

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/loaders': minor
---
chore: remove logger as dependency

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': minor
---
update hover background color of package list

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/loaders': patch
---
chore: debug messages in loader

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/middleware': patch
---
chore(middleware): fix syntax of test files

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/types': patch
'@verdaccio/config': patch
---
fix: config builder `addLogger`

View File

@@ -1,5 +0,0 @@
---
'verdaccio': patch
---
chore: encode parts of URL

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/types': patch
'@verdaccio/store': patch
---
feat: keep_readmes option when publishing packages

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': patch
---
chore(ui): replace react-json-view

View File

@@ -1,41 +0,0 @@
---
'generator-verdaccio-plugin': patch
'@verdaccio/logger-prettify': patch
'@verdaccio/logger-commons': patch
'@verdaccio/local-storage': patch
'verdaccio-auth-memory': patch
'@verdaccio/local-publish': patch
'@verdaccio/local-scripts': patch
'@verdaccio/file-locking': patch
'verdaccio-htpasswd': patch
'@verdaccio/ui-theme': patch
'verdaccio-memory': patch
'@verdaccio/search-indexer': patch
'@verdaccio/server': patch
'@verdaccio/server-fastify': patch
'@verdaccio/logger': patch
'verdaccio-audit': patch
'@verdaccio/test-helper': patch
'@verdaccio/ui-components': patch
'@verdaccio/tarball': patch
'@verdaccio/eslint-config': patch
'@verdaccio/types': patch
'@verdaccio/middleware': patch
'@verdaccio/cli-standalone': patch
'@verdaccio/core': patch
'verdaccio': patch
'@verdaccio/url': patch
'@verdaccio/node-api': patch
'@verdaccio/loaders': patch
'@verdaccio/config': patch
'@verdaccio/hooks': patch
'@verdaccio/proxy': patch
'@verdaccio/store': patch
'@verdaccio/utils': patch
'@verdaccio/auth': patch
'@verdaccio/api': patch
'@verdaccio/cli': patch
'@verdaccio/website': patch
---
chore: update readme badges and license files

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': patch
---
chore(deps): upgrade storybook to v8

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': patch
---
chore(ui): reduce build size

View File

@@ -1,9 +0,0 @@
---
'@verdaccio/logger-commons': patch
'@verdaccio/local-storage': patch
'@verdaccio/test-helper': patch
'@verdaccio/core': patch
'verdaccio': patch
---
chore(tests): temp folder naming

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/middleware': patch
'@verdaccio/web': patch
---
chore: export and constant on middleware

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': patch
---
fix: ui-component vitest api

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': minor
---
support packages with multiple module types

View File

@@ -1,11 +0,0 @@
---
'@verdaccio/server': patch
'verdaccio-audit': patch
'@verdaccio/test-helper': patch
'@verdaccio/middleware': patch
'@verdaccio/auth': patch
'@verdaccio/api': patch
'@verdaccio/web': patch
---
fix: crashes with path-to-regexp v0.1.12 express

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/web': patch
---
feat: show version-specific readmes in web ui

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/api': patch
---
chore(api): fix void return for some tests

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-components': patch
---
chore(ui): typing for Theme

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/local-storage': patch
---
chore: remove obsolete test data from local-storage

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/local-storage': patch
---
chore: local storage debug messages

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/local-storage': patch
'@verdaccio/store': patch
---
chore: tweak error logging messages

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/store': patch
---
fix(store): update deprecate state

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-i18n': patch
---
fix(i18n): avoid fallback for en-us

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/middleware': patch
'@verdaccio/web': patch
---
chore: middleware package update

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/core': patch
'@verdaccio/store': patch
---
chore: add package parameter to storage plugin interface

View File

@@ -1,6 +0,0 @@
---
'@verdaccio/store': patch
'@verdaccio/tarball': patch
---
fix(api): add logging when requesting tarball

View File

@@ -1,18 +0,0 @@
---
'@verdaccio/logger-commons': patch
'@verdaccio/file-locking': patch
'@verdaccio/ui-theme': patch
'@verdaccio/search-indexer': patch
'@verdaccio/server': patch
'@verdaccio/server-fastify': patch
'@verdaccio/test-helper': patch
'@verdaccio/middleware': patch
'verdaccio': patch
'@verdaccio/node-api': patch
'@verdaccio/auth': patch
'@verdaccio/api': patch
'@verdaccio/cli': patch
'@verdaccio/web': patch
---
chore: auth package requires logger as parameter

View File

@@ -1,5 +0,0 @@
---
'@verdaccio/ui-i18n': patch
---
fix: ignore duplicted files

View File

@@ -1,4 +1,3 @@
assets/**/*
**/fixtures/**
**/mock/store/**
**/partials/**
@@ -15,6 +14,10 @@ test/functional/store/*
docker-examples/**/lib/**/*.js
test/cli/e2e-yarn4/bin/yarn-4.0.0-rc.14.cjs
yarn.js
# used for unit tests
packages/store/test/fixtures/plugins/**/*
# storybook
packages/ui-components/storybook-static
dist.js

5
.gitattributes vendored
View File

@@ -13,7 +13,7 @@
## Handle line endings automatically for files detected as
## text and leave all files detected as binary untouched.
## This will handle all files NOT defined below.
* text eol=lf
* text=lf
# Source code
*.bash text eol=lf
@@ -197,6 +197,3 @@ Procfile text eol=lf
# Ignore files (like .npmignore or .gitignore)
*.*ignore text eol=lf
# Test Snapshots
*.snap text eol=lf

View File

@@ -1,22 +0,0 @@
name: 'Build app'
description: 'build verdaccio application'
inputs:
registry-url:
description: 'Registry URL for pnpm'
required: false
default: 'http://localhost:4873'
node-version:
description: 'Node.js version to use'
required: true
runs:
using: composite
steps:
- name: Install dependencies with a custom registry version ${{ inputs.node-version }}
uses: ./.github/actions/install-app-node
with:
node-version: ${{ inputs.node_version }}
- name: build
run: pnpm build
shell: bash

View File

@@ -1,12 +0,0 @@
name: 'Cache packages'
description: 'get or set cache packages'
runs:
using: composite
steps:
- name: Cache Packages
id: cache-packages
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}

View File

@@ -1,15 +0,0 @@
name: 'Cache build'
description: 'get or set cache build'
runs:
using: composite
steps:
- name: Cache .pnpm-store
id: cache-npm
uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57 # v4.2.0
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('**/pnpm-lock.yaml') }}-${{ github.event.pull_request.number }}-${{ runner.os }}
restore-keys: |
pnpm-

View File

@@ -1,51 +0,0 @@
name: 'Install app with Node specific version'
description: 'install application'
inputs:
registry-url:
description: 'Registry URL for pnpm'
required: false
default: 'http://localhost:4873'
reporter:
description: 'Reporter for pnpm'
required: false
default: 'silent'
loglevel:
description: 'Log level for pnpm'
required: false
default: 'error'
node-version:
description: 'Node.js version to use'
required: true
runs:
using: composite
steps:
- name: Use Node
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version: ${{ inputs.node-version }}
- name: Install pnpm
run: |
npm install --global corepack@latest
corepack enable
corepack prepare
shell: bash
- name: set store
run: |
if [ ! -d "$HOME/.pnpm-store" ]; then
mkdir -p $HOME/.pnpm-store
pnpm config set store-dir $HOME/.pnpm-store
else
echo "Store directory already exists. Skipping configuration."
fi
shell: bash
- name: Restore cache pnpm store
uses: ./.github/actions/cache-store
- name: Install
run: pnpm install --reporter=${{inputs.reporter}} --ignore-scripts --registry ${{ inputs.registry-url }} --loglevel=${{ inputs.loglevel }}
shell: bash
- name: Save cache pnpm store
if: steps.cache-npm.outputs.cache-hit == 'false'
uses: ./.github/actions/cache-store

View File

@@ -1,40 +0,0 @@
name: 'Install app'
description: 'install application'
inputs:
registry-url:
description: 'Registry URL for pnpm'
required: false
default: 'http://localhost:4873'
reporter:
description: 'Reporter for pnpm'
required: false
default: 'silent'
runs:
using: composite
steps:
- name: Use Node
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
npm install --global corepack@latest
corepack enable
corepack prepare
shell: bash
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
shell: bash
- name: Restore cache pnpm store
uses: ./.github/actions/cache-store
- name: Install
run: pnpm install --reporter=${{inputs.reporter}} --ignore-scripts --registry ${{ inputs.registry-url }}
shell: bash
- name: Save cache pnpm store
if: steps.cache-npm.outputs.cache-hit == 'false'
uses: ./.github/actions/cache-store

View File

@@ -25,7 +25,6 @@ jobs:
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
npm install --global corepack@latest
corepack enable
corepack install
- name: set store

View File

@@ -1,36 +0,0 @@
name: Changesets Publish Test
on:
pull_request:
concurrency:
group: changeset-pr-${{ github.ref }}
cancel-in-progress: true
jobs:
version:
if: github.event.pull_request.head.repo.fork == false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
- name: crowdin download
env:
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
CONTEXT: production
run: pnpm crowdin:download
- name: build
run: pnpm build
- name: Docker test
run: |
docker run -d -it --rm --name verdaccio -p 4873:4873 verdaccio/verdaccio:6
- name: login
run: npx npm-cli-login -u test -p 1234 -e test@domain.test -r http://localhost:4873
- name: Prepare
# to allow local snapshot
run: rm .changeset/pre.json
- name: Create snapshot
run: pnpm local:snapshots
- name: Changeset version
run: pnpm local:publish

View File

@@ -1,7 +1,9 @@
name: Changesets
on:
workflow_dispatch:
schedule:
- cron: '0 0 * * *'
push:
branches:
- master
@@ -17,16 +19,40 @@ jobs:
runs-on: ubuntu-latest
if: github.ref == 'refs/heads/master' && github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
- name: crowdin download
- name: checkout code repository
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
with:
fetch-depth: 0
- name: setup node.js
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
env:
NODE_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
- name: Install pnpm
run: |
corepack enable
corepack install
- name: setup pnpm config
run: pnpm config set store-dir $PNPM_CACHE_FOLDER
- name: setup pnpm config registry
run: pnpm config set registry https://registry.npmjs.org
- name: install dependencies
run: pnpm install
env:
NODE_AUTH_TOKEN: ${{ secrets.REGISTRY_AUTH_TOKEN }}
- name: crowdin download
env:
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
CONTEXT: production
run: pnpm crowdin:download
run: pnpm crowdin:download
- name: build
run: pnpm build
- name: create versions
uses: changesets/action@master
with:

View File

@@ -16,7 +16,7 @@ permissions:
contents: read
concurrency:
group: ci-${{ github.ref }}
cancel-in-progress: true
cancel-in-progress: true
jobs:
prepare:
@@ -24,30 +24,57 @@ jobs:
name: setup verdaccio
services:
verdaccio:
image: verdaccio/verdaccio:6
image: verdaccio/verdaccio:5
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
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Node
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
corepack enable
corepack install
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
pnpm-
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
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Node
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
reporter: 'default'
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
corepack enable
corepack install
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: set store
run: |
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --ignore-scripts
- name: Lint
run: pnpm lint
format:
@@ -55,11 +82,24 @@ jobs:
name: Format
needs: prepare
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Use Node
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
reporter: 'default'
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
corepack enable
corepack install
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: set store
run: |
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --ignore-scripts
- name: Lint
run: pnpm format:check
test:
@@ -68,15 +108,30 @@ jobs:
fail-fast: true
matrix:
os: [ubuntu-latest]
node_version: [18, 20, 21, 22, 23]
node_version: [18, 20, 21, 22]
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
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Use Node ${{ matrix.node_version }}
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: ${{ matrix.node_version }}
- name: Install pnpm
run: |
corepack enable
corepack prepare
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: set store
run: |
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --ignore-scripts --registry http://localhost:4873
- name: build
run: pnpm build
- name: Test
run: pnpm test
sync-translations:
@@ -85,16 +140,15 @@ jobs:
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@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
npm install --global corepack@latest
corepack enable
corepack install
- uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}

View File

@@ -1,10 +1,6 @@
name: 'CodeQL Analysis'
name: 'Code scanning - action'
on:
push:
paths:
- .github/workflows/codeql-analysis.yml
- 'packages/**'
pull_request:
paths:
- .github/workflows/codeql-analysis.yml
@@ -17,7 +13,7 @@ permissions:
concurrency:
group: code-${{ github.ref }}
cancel-in-progress: true
cancel-in-progress: true
jobs:
CodeQL-Build:
@@ -29,20 +25,20 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
with:
# We must fetch at least the immediate parents so that if this is
# a pull request then we can checkout the head.
fetch-depth: 2
# If this run was triggered by a pull request event, then checkout
# the head of the pull request instead of the merge commit.
- run: git checkout HEAD^2
if: ${{ github.event_name == 'pull_request' }}
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
uses: github/codeql-action/init@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
with:
config: |
paths-ignore:
- packages/config/test/partials/config/js/invalid.js
- packages/middleware/test/static/js
uses: github/codeql-action/init@be8b74c09c1778bcdbea38e1a45efea2cb73e18c # v2
# Override language selection by uncommenting this and choosing your languages
# with:
@@ -50,7 +46,7 @@ jobs:
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
# If this step fails, then you should remove it and run the build manually (see below)
- name: Autobuild
uses: github/codeql-action/autobuild@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
uses: github/codeql-action/autobuild@be8b74c09c1778bcdbea38e1a45efea2cb73e18c # v2
# Command-line programs to run using the OS shell.
# 📚 https://git.io/JvXDl
@@ -64,4 +60,4 @@ jobs:
# make release
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
uses: github/codeql-action/analyze@be8b74c09c1778bcdbea38e1a45efea2cb73e18c # v2

View File

@@ -15,18 +15,18 @@ on:
jobs:
docker:
timeout-minutes: 10
runs-on: ubuntu-24.04
runs-on: ubuntu-20.04
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Start containers
run: docker compose -f "./e2e/docker/apache-verdaccio/docker-compose.yaml" up -d --build
- name: Install node
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: npm setup

View File

@@ -13,18 +13,18 @@ on:
jobs:
docker:
timeout-minutes: 10
runs-on: ubuntu-24.04
runs-on: ubuntu-20.04
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Start containers
run: docker compose -f "./e2e/docker/proxy-nginx/docker-compose.yaml" up -d --build
- name: Install node
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: npm setup

View File

@@ -24,8 +24,8 @@ jobs:
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # tag=v1
- uses: docker/setup-buildx-action@v1
with:
driver-opts: network=host

View File

@@ -18,24 +18,72 @@ jobs:
env:
NODE_ENV: production
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Use Node
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
corepack enable
corepack prepare
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --reporter=silence --ignore-scripts --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
restore-keys: |
pnpm-
build:
needs: [prepare]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build application with Node ${{ matrix.node_version }}
uses: ./.github/actions/build-app
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Use Node 16
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: ${{ matrix.node_version }}
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
corepack enable
corepack prepare
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
- name: set store
run: |
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm recursive install --reporter=silence --registry http://localhost:4873
- name: build
run: pnpm build
- name: Cache packages
uses: ./.github/actions/cache-packages
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
id: cache-packages
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
restore-keys: |
packages-
# - name: Cache test
# uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
# id: cache-test
# with:
# path: ./e2e/
# key: test-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
# restore-keys: |
# test-
e2e-cli-npm:
needs: [prepare, build]
strategy:
fail-fast: false
fail-fast: false
matrix:
pkg:
[
@@ -45,21 +93,39 @@ jobs:
npm9,
npm10
]
node: [22]
node: [20, 21]
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry version ${{ inputs.node-version }}
uses: ./.github/actions/install-app-node
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: ${{ inputs.node_version }}
reporter: 'default'
loglevel: 'debug'
- name: Restore cache pnpm store
uses: ./.github/actions/cache-packages
node-version: ${{ matrix.node }}
- name: Install pnpm
run: |
corepack enable
corepack prepare
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
- name: set store
run: |
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --offline --reporter=silence --ignore-scripts --registry http://localhost:4873
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
# - uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
# with:
# path: ./e2e/
# key: test-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
- name: build e2e
run: pnpm --filter @verdaccio/test-cli-commons build
- name: Test CLI
run: cd e2e/cli/e2e-${{matrix.pkg}} && NODE_ENV=production pnpm test
run: NODE_ENV=production pnpm test --filter ...@verdaccio/e2e-cli-${{matrix.pkg}}
e2e-cli-pnpm:
needs: [prepare, build]
@@ -70,48 +136,83 @@ jobs:
[
pnpm8,
pnpm9,
pnpm10,
]
node: [22]
node: [20, 21]
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry version ${{ inputs.node-version }}
uses: ./.github/actions/install-app-node
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: ${{ inputs.node_version }}
reporter: 'default'
loglevel: 'debug'
- name: Restore cache pnpm store
uses: ./.github/actions/cache-packages
node-version: ${{ matrix.node }}
- name: Install pnpm
run: |
corepack enable
corepack prepare
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
- name: set store
run: |
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --loglevel debug --ignore-scripts --registry http://localhost:4873
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
# - uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
# with:
# path: ./e2e/
# key: test-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
- name: build e2e
run: pnpm --filter @verdaccio/test-cli-commons build
- name: Test CLI
run: cd e2e/cli/e2e-${{matrix.pkg}} && NODE_ENV=production pnpm test
run: NODE_ENV=production pnpm test --filter ...@verdaccio/e2e-cli-${{matrix.pkg}}
e2e-cli-yarn:
needs: [prepare, build]
strategy:
fail-fast: false
matrix:
pkg:
[
[
yarn1,
yarn2,
yarn3,
yarn4
]
node: [22]
node: [20, 21]
name: ${{ matrix.pkg }}/ ubuntu-latest / ${{ matrix.node }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry version ${{ inputs.node-version }}
uses: ./.github/actions/install-app-node
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: ${{ inputs.node_version }}
reporter: 'default'
loglevel: 'debug'
- name: Restore cache pnpm store
uses: ./.github/actions/cache-packages
node-version: ${{ matrix.node }}
- name: Install pnpm
run: |
corepack enable
corepack prepare
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
- name: set store
run: |
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --offline --reporter=silence --ignore-scripts --registry http://localhost:4873
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ./packages/
key: pkg-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
# - uses: actions/cache@9b0c1fce7a93df8e3bb8926b0d6e9d89e92f20a7 # tag=v3
# with:
# path: ./e2e/
# key: test-${{ hashFiles('pnpm-lock.yaml') }}-${{ github.run_id }}-${{ github.sha }}
- name: build e2e
run: pnpm --filter @verdaccio/test-cli-commons build
- name: Test CLI
run: cd e2e/cli/e2e-${{matrix.pkg}} && NODE_ENV=production pnpm test
run: NODE_ENV=production pnpm test --filter ...@verdaccio/e2e-cli-${{matrix.pkg}}

View File

@@ -1,32 +1,39 @@
name: E2E UI
on: [pull_request]
permissions:
contents: read
concurrency:
group: e2e-ui-${{ github.ref }}
cancel-in-progress: true
cancel-in-progress: true
jobs:
test:
runs-on: ubuntu-latest
name: UI Test E2E
services:
verdaccio:
image: verdaccio/verdaccio:6
image: verdaccio/verdaccio:5
ports:
- 4873:4873
env:
NODE_ENV: production
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build application with Node 20
uses: ./.github/actions/build-app
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Use Node
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: 20
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
corepack enable
corepack prepare
- name: Install
run: pnpm install --reporter=silence --registry http://localhost:4873
- name: build
run: pnpm build
- name: Test UI
run: pnpm test:e2e:ui
- uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
- uses: actions/upload-artifact@a8a3f3ad30e3422c9c7b888a15615d19a852ae32 # v3
with:
name: videos
path: /home/runner/work/verdaccio/verdaccio/e2e/ui/cypress/videos

View File

@@ -1,28 +1,40 @@
name: E2E Generator Verdaccio Plugin
on:
# pull_request:
pull_request:
workflow_dispatch:
# push:
# branches:
# - 'master'
push:
branches:
- 'master'
concurrency:
group: generator-plugin-${{ github.ref }}
cancel-in-progress: true
cancel-in-progress: true
jobs:
e2e-plugin-generator:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [20, 22, 23]
node-version: [18,20, 21]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build application with Node ${{ matrix.node_version }}
uses: ./.github/actions/build-app
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: ${{ matrix.node_version }}
node-version: ${{ matrix.node-version }}
- name: Install pnpm
run: |
corepack enable
corepack install
- uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
- name: install
run: pnpm install
- name: build
run: pnpm build
- name: install verdaccio
run: npm install -g verdaccio@5
- name: Start server
@@ -37,4 +49,4 @@ jobs:
run: npm install -g yo@4 --loglevel=info
- name: install generator
run: npm install -g generator-verdaccio-plugin --loglevel=info --registry http://localhost:4873
# Future: add a test to verify the plugin is working with prompt
# Future: add a test to verify the plugin is working with prompt

View File

@@ -23,8 +23,8 @@ jobs:
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: docker/setup-qemu-action@29109295f81e9208d7d86ff1c6c12d2833863392 # v3.6.0
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- uses: docker/setup-qemu-action@49b3bc8e6bdd4a60e6116a5414239cba5943d3cf # tag=v1
- uses: docker/setup-buildx-action@v1
with:
driver-opts: network=host

View File

@@ -3,10 +3,9 @@ name: static data
on:
workflow_dispatch:
# pull_request:
schedule:
# twice peer week
- cron: "0 0 * * 1,4"
- cron: '0 0 * * 1,4'
# for now, scheduled, we can enable on push master but not make much sense now
# push:
# branches:
@@ -21,24 +20,19 @@ jobs:
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
with:
persist-credentials: false
fetch-depth: 0
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
- uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
reporter: 'default'
- name: Build package
run: pnpm --filter @verdaccio/local-scripts run build
- name: Get npmjs downloads
run: pnpm --filter @verdaccio/local-scripts run downloads:npmjs
- name: Get docker downloads
run: pnpm --filter @verdaccio/local-scripts run pull:docker
- name: Get npmjs monhtly downloads
run: pnpm --filter @verdaccio/local-scripts run downloads:mounthly
- name: Get npmjs year downloads
run: pnpm --filter @verdaccio/local-scripts run downloads:yearly
node-version: 18.x
- name: install pnpm
run: sudo npm i pnpm@latest-8 -g
- name: install dependencies
run: pnpm install
- name: Build Translations percentage
run: pnpm --filter @verdaccio/crowdin-translations build
- name: update contributors
run: pnpm run contributors
env:
@@ -48,7 +42,7 @@ jobs:
- name: update translations
run: pnpm run translations
env:
TOKEN: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
TOKEN: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
- name: format
run: pnpm format
- name: Commit & Push changes

View File

@@ -6,7 +6,7 @@ jobs:
name: Test Docker Build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: Build
run: docker build .
env:

View File

@@ -6,7 +6,7 @@ jobs:
name: Test Verdaccio Publish
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: Publish
uses: verdaccio/github-actions/publish@f2e0370cfa5d74d24c325017b701bfddc9cc2e5d # tag=v0.4.0
with:

View File

@@ -1,36 +1,51 @@
name: UI Components
on:
# Disabled temporary
# push:
# branches:
# - master
workflow_dispatch:
concurrency:
group: ui-deploy-${{ github.ref }}
cancel-in-progress: true
schedule:
- cron: '0 0 * * *'
permissions:
contents: read
contents: read # to fetch code (actions/checkout)
env:
DEBUG: verdaccio*
jobs:
deploy:
permissions:
contents: read # to fetch code (actions/checkout)
deployments: write
pull-requests: write # to comment on pull-requests
runs-on: ubuntu-latest
if: github.repository == 'verdaccio/verdaccio'
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Install dependencies with a custom registry
uses: ./.github/actions/install-app
- name: crowdin download
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Use Node
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version-file: '.nvmrc'
- name: Cache pnpm modules
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
env:
CROWDIN_VERDACCIO_API_KEY: ${{ secrets.CROWDIN_VERDACCIO_API_KEY }}
CONTEXT: production
run: pnpm crowdin:download
- name: Build modules
run: pnpm build
cache-name: cache-pnpm-modules
with:
path: ~/.pnpm-store
key: ${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.node-version }}-${{ hashFiles('**/pnpm-lock.yaml') }}
restore-keys: |
${{ runner.os }}-build-${{ env.cache-name }}-${{ matrix.node-version }}-
- name: Install pnpm
run: |
corepack enable
corepack prepare --activate pnpm@8.9.0
- name: Install
run: pnpm install
- name: Build storybook
run: pnpm ui:storybook:build
- name: Copy public content

View File

@@ -2,8 +2,7 @@ name: Verdaccio Website CI
on:
workflow_dispatch:
schedule:
- cron: '0 2 * * 0' # every Sunday at 2am UTC (10pm EST)
permissions:
contents: read # to fetch code (actions/checkout)
@@ -23,7 +22,7 @@ jobs:
name: setup verdaccio
services:
verdaccio:
image: verdaccio/verdaccio:6
image: verdaccio/verdaccio:5
ports:
- 4873:4873
env:
@@ -31,15 +30,35 @@ jobs:
env:
NODE_OPTIONS: --max_old_space_size=4096
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- name: Build application with Node 20
uses: ./.github/actions/build-app
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3
- name: Node
uses: actions/setup-node@1a4442cacd436585916779262731d5b162bc6ec7 # v3
with:
node-version: 20
node-version-file: '.nvmrc'
- name: Install pnpm
run: |
corepack enable
corepack install
- name: set store
run: |
mkdir ~/.pnpm-store
pnpm config set store-dir ~/.pnpm-store
- name: Install
run: pnpm install --registry http://localhost:4873
- name: Cache .pnpm-store
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: ~/.pnpm-store
key: pnpm-${{ hashFiles('pnpm-lock.yaml') }}
restore-keys: |
pnpm-
- name: Build
run: pnpm build
- name: Build Translations percentage
run: pnpm --filter @verdaccio/local-scripts build
run: pnpm --filter @verdaccio/crowdin-translations build
- name: Cache Docusaurus Build
uses: actions/cache@d4323d4df104b026a6aa633fdb11d772146be0bf # v4.2.2
uses: actions/cache@e12d46a63a90f2fae62d114769bbf2a179198b5c # v3
with:
path: website/node_modules/.cache/webpack
key: cache/webpack-${{github.ref}}-${{ hashFiles('**/pnpm-lock.yaml') }}

View File

@@ -7,10 +7,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
with:
node-version-file: '.nvmrc'
- name: 'install latest npm'
@@ -44,10 +44,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 9'
@@ -80,10 +80,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 10'

View File

@@ -7,10 +7,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 10'

View File

@@ -7,10 +7,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
with:
node-version-file: '.nvmrc'
- name: 'install npm 9'
@@ -42,10 +42,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
with:
node-version-file: '.nvmrc'
- name: 'install npm 10'

View File

@@ -1,16 +1,16 @@
on:
workflow_call:
jobs:
yarn:
name: 'yarn:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
with:
node-version-file: '.nvmrc'
- name: Install Dependencies
@@ -38,10 +38,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
with:
node-version-file: '.nvmrc'
- name: Install Dependencies
@@ -72,10 +72,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
with:
node-version-file: '.nvmrc'
- name: 'install latest npm'
@@ -105,10 +105,10 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 9'
@@ -132,20 +132,20 @@ jobs:
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
yarn jest module.test.js
npm10:
name: 'npm10:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: 'Use Node.js'
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
with:
node-version-file: '.nvmrc'
- name: 'install latest npm 10'
run: npm i -g npm@next-10
run: npm i -g npm@next-10
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
@@ -163,7 +163,72 @@ jobs:
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
pnpm8:
name: 'pnpm8:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: 'Use Node.js'
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
with:
node-version-file: '.nvmrc'
- name: 'install latest pnpm'
run: npm i -g pnpm@latest-8
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
nohup yarn node ./scripts/run-verdaccio.js &
- name: 'Ping to verdaccio'
run: |
pnpm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
pnpm init
pnpm install jest@29.5.0 --registry http://localhost:4873 --loglevel info
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js
pnpm9:
name: 'pnpm:9:jest example'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: 'Use Node.js'
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
with:
node-version-file: '.nvmrc'
- name: 'install latest pnpm'
run: npm i -g pnpm@latest-9
- name: Install Dependencies
run: yarn install
- name: 'Run verdaccio in the background'
run: |
yarn node ./scripts/run-verdaccio.js &
- name: 'Ping to verdaccio'
run: |
pnpm ping --registry http://localhost:4873
- name: 'Running the integration test'
run: |
source scripts/e2e-setup-ci.sh
pnpm init
pnpm install jest@29.5.0 --registry http://localhost:4873 --loglevel info
echo "it('should pass', () => { expect(true).toBeTruthy(); });" | tee pass.test.js
yarn jest pass.test.js
yarn add left-pad --registry http://localhost:4873 --verbose
echo "const leftPad = require('left-pad'); it('should resolve a module', () => { expect(typeof leftPad).toBe('function');});" | tee module.test.js
yarn jest module.test.js

View File

@@ -6,9 +6,9 @@ jobs:
name: Release Snapshot
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: actions/checkout@f43a0e5ff2bd294095638e18286ca9a3d1956744 # v3.6.0
- name: Use Node (latest)
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a # v4.2.0
uses: actions/setup-node@7c12f8017d5436eb855f1ed4399f037a36fbd9e8 # v2.5.2
with:
node-version-file: '.nvmrc'
- name: Install
@@ -25,4 +25,4 @@ jobs:
run: sh scripts/publish-prerelease.sh
env:
REGISTRY_AUTH_TOKEN: ${{ secrets.VERDACCIO_REGISTRY_TOKEN_CANARY }}
REGISTRY_URL: rg.verdaccio.org
REGISTRY_URL: registry.verdaccio.org

Some files were not shown because too many files have changed in this diff Show More