build: clean up outdated npm dev package #837
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--- | |
name: CI | |
on: | |
pull_request: | |
branches: | |
- main | |
paths-ignore: | |
- "**.md" | |
- "img/**" | |
# Manage concurrency to stop running jobs and start new ones in case of new commit pushed | |
concurrency: | |
group: ${{ github.ref }}-${{ github.workflow }} | |
cancel-in-progress: true | |
jobs: | |
commit-lint: | |
runs-on: ubuntu-latest | |
if: ${{ github.event.pull_request.head.repo.full_name == github.repository }} | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
with: | |
fetch-depth: 0 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Setup dependencies, cache and install | |
uses: ./.github/actions/install | |
- name: Lint commits | |
uses: wagoid/commitlint-github-action@v5 | |
env: | |
NODE_PATH: ${{ github.workspace }}/node_modules | |
continue-on-error: true | |
pull-request-lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Lint PR | |
uses: amannn/action-semantic-pull-request@v5 | |
env: | |
GITHUB_TOKEN: ${{ github.token }} | |
npm-lint: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
- name: Setup dependencies, cache and install | |
uses: ./.github/actions/install | |
- name: Check outdated dependencies | |
run: npm outdated | |
- name: Check unused dependencies | |
run: yarn lint:dependencies | |
- name: Audit dependencies | |
run: yarn npm audit | |
megalinter: | |
runs-on: ubuntu-latest | |
steps: | |
# Git Checkout | |
- name: Checkout Code | |
uses: actions/checkout@v4 | |
# MegaLinter | |
- name: MegaLinter | |
# You can override MegaLinter flavor used to have faster performances | |
# More info at https://megalinter.io/latest/flavors/ | |
uses: oxsecurity/megalinter/flavors/javascript@v7 | |
env: | |
# All available variables are described in documentation | |
# https://megalinter.io/latest/config-file/ | |
APPLY_FIXES: all | |
VALIDATE_ALL_CODEBASE: true | |
# ADD CUSTOM ENV VARIABLES HERE TO OVERRIDE VALUES OF .mega-linter.yml AT THE ROOT OF YOUR REPOSITORY | |
- uses: actions/upload-artifact@v4 | |
if: always() | |
with: | |
name: megalinter-reports | |
path: | | |
megalinter-reports | |
mega-linter.log | |
build: | |
uses: ./.github/workflows/reusable-build.yml | |
secrets: inherit | |
publish-dev: | |
needs: [build] | |
runs-on: ubuntu-latest | |
if: github.event.pull_request.merged != 'true' && github.actor != 'dependabot[bot]' | |
outputs: | |
devChannel: ${{ steps.define_dev_channel.outputs.DEV_CHANNEL }} | |
steps: | |
- name: Checkout sources | |
uses: actions/checkout@v4 | |
- name: Setup node | |
uses: actions/setup-node@v4 | |
with: | |
node-version: 18 | |
registry-url: 'https://registry.npmjs.org' | |
- name: Setup dependencies, cache and install | |
uses: ./.github/actions/install | |
- uses: jwalton/gh-find-current-pr@master | |
id: pr-number | |
- name: Set dev channel value | |
run: echo "DEV_CHANNEL=dev-${{ steps.pr-number.outputs.pr }}" >> "$GITHUB_ENV" | |
- name: Setup github user | |
run: | | |
git config --global user.email "${{ env.DEV_CHANNEL }}@github.com" | |
git config --global user.name "${{ env.DEV_CHANNEL }}" | |
- name: NPM Publish dev channel | |
run: | | |
CURRENT_VERSION=$(jq -r '.version' package.json) | |
DEV_TAG="${{ env.DEV_CHANNEL }}.${{ github.run_id }}-${{github.run_attempt}}" | |
npm version "${CURRENT_VERSION}-${DEV_TAG}" | |
yarn npm publish --access public --tag "${{ env.DEV_CHANNEL }}" | |
env: | |
YARN_NPM_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
- name: Comment PR dev channel | |
uses: thollander/actions-comment-pull-request@v2 | |
with: | |
message: | | |
Published under `${{ env.DEV_CHANNEL }}` npm channel. | |
```sh | |
$ sfdx plugins:install sfdx-git-delta@${{ env.DEV_CHANNEL }} | |
``` | |
comment_tag: dev-publish | |
mode: recreate | |
- name: Set dev channel value | |
id: define_dev_channel | |
run: echo "DEV_CHANNEL=${{ env.DEV_CHANNEL }}" >> "$GITHUB_OUTPUT" | |
e2e-check: | |
uses: ./.github/workflows/run-e2e-tests.yml | |
needs: [publish-dev] | |
with: | |
channel: ${{ needs.publish-dev.outputs.devChannel }} | |
secrets: inherit |