diff --git a/.github/workflows/ci_publish.yml b/.github/workflows/ci_publish.yml deleted file mode 100644 index d0097b6..0000000 --- a/.github/workflows/ci_publish.yml +++ /dev/null @@ -1,50 +0,0 @@ -name: Publish library - -on: - release: - types: [created] - -env: - NODE: 18 - -jobs: - ci_tests: - uses: ./.github/workflows/ci_tests.yml - - ci_publish: - needs: ci_tests - runs-on: ubuntu-latest - - steps: - - name: Checkout sources - uses: actions/checkout@v4 - - - name: Setup node - uses: actions/setup-node@v4 - with: - node-version: ${{ env.NODE }} - registry-url: https://registry.npmjs.org/ - cache: npm - - - name: Install latest npm - run: npm install -g npm@latest - - - name: Cache .angular and node_modules - uses: actions/cache@v4 - id: cache-step - with: - key: cache-ubuntu-latest-node${{ env.NODE }}-${{ hashFiles('package-lock.json') }} - restore-keys: | - cache-ubuntu-latest-node${{ env.NODE }}- - path: | - .angular/cache - node_modules - - - name: Install dependencies - if: steps.cache-step.outputs.cache-hit != 'true' - run: npm clean-install --engine-strict - - - name: Publish - env: - NODE_AUTH_TOKEN: ${{ secrets.DSI_HUG_NPM_TOKEN }} - run: npm publish --access public diff --git a/.github/workflows/ci_release.yml b/.github/workflows/ci_release.yml new file mode 100644 index 0000000..a518b42 --- /dev/null +++ b/.github/workflows/ci_release.yml @@ -0,0 +1,18 @@ +name: Release library + +on: + release: + types: [created] + +env: + NODE: 18 + +jobs: + ci_release: + uses: dsi-hug/action/.github/workflows/action.yml@v1 + secrets: + NPM_TOKEN: ${{ secrets.NPM_TOKEN }} + with: + lint: false + build: false + release: true diff --git a/.github/workflows/ci_tests.yml b/.github/workflows/ci_tests.yml index b154a28..795de62 100644 --- a/.github/workflows/ci_tests.yml +++ b/.github/workflows/ci_tests.yml @@ -1,63 +1,21 @@ name: Run tests on: + workflow_dispatch: push: branches: - '**' tags-ignore: - '**' - pull_request: - workflow_call: - workflow_dispatch: concurrency: group: run-tests-group-${{ github.ref }} cancel-in-progress: true jobs: - ci_tests: - name: Tests on ${{ matrix.os }} node${{ matrix.node }} - runs-on: ${{ matrix.os }} - - strategy: - matrix: - os: [ubuntu-latest, macos-latest, windows-latest] - node: [18, 20] - - steps: - - name: Checkout sources - uses: actions/checkout@v4 - - - name: Setup node - uses: actions/setup-node@v4 - with: - node-version: ${{ matrix.node }} - registry-url: https://registry.npmjs.org/ - cache: npm - - # https://github.com/actions/setup-node/issues/411 - # https://github.com/npm/cli/issues/4341 - - name: Workaround for npm installation on Windows - if: ${{ matrix.os == 'windows-latest' }} - run: npm install -g npm@8.3.1 - - - name: Install latest npm - run: npm install -g npm@latest - - - name: Cache .angular and node_modules - uses: actions/cache@v4 - id: cache-step - with: - key: cache-${{ matrix.os }}-node${{ matrix.node }}-${{ hashFiles('package-lock.json') }} - restore-keys: | - cache-${{ matrix.os }}-node${{ matrix.node }}- - path: | - .angular/cache - node_modules - - - name: Install dependencies - if: steps.cache-step.outputs.cache-hit != 'true' - run: npm clean-install --engine-strict - - - name: Test - run: npm run test + ci_test_core: + uses: dsi-hug/action/.github/workflows/action.yml@v1 + with: + runs-on: '["ubuntu-latest", "macos-latest", "windows-latest"]' + node-versions: '[18, 20]' + lint: false diff --git a/package.json b/package.json index f563e62..1846705 100644 --- a/package.json +++ b/package.json @@ -55,7 +55,9 @@ "scripts": { "prepare": "husky install", "ncu": "npx npm-check-updates -i --format=group", - "test": "eslint --config ./tests/moderaterc.json ./tests && eslint --config ./tests/recommendedrc.json ./tests" + "test": "eslint --config ./tests/moderaterc.json ./tests && eslint --config ./tests/recommendedrc.json ./tests", + "test:ci": "npm run test", + "release": "npm publish --access public" }, "peerDependencies": { "@angular/core": ">= 10",