Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pull in upstream #463

Open
wants to merge 27 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
2ff45dc
feat: upgrade commitlint to latest version
wagoid Mar 28, 2024
d901f08
Merge pull request #760 from wagoid/fix/upgrade-commitlint
wagoid Mar 28, 2024
e15adf3
chore(release): publish 5.4.6 [skip-ci]
Mar 28, 2024
06143b2
fix: rollback update of commitlint to support configs that use commonjs
wagoid Mar 28, 2024
234f2a3
ci: include all commits when releasing to build proper release notes
wagoid Mar 28, 2024
b405939
Merge pull request #761 from wagoid/fix/rollback-esm-update
wagoid Mar 28, 2024
adaa347
chore(release): publish 5.5.0 [skip-ci]
Mar 28, 2024
6ee28c9
fix: upgrade commitlint to latest v18
wagoid Mar 28, 2024
05eef5d
Merge pull request #762 from wagoid/fix-upgrade-commitlint-to-latest-v18
wagoid Mar 28, 2024
9763196
chore(release): publish 5.5.1 [skip-ci]
Mar 28, 2024
732f0ad
feat: upgrade to commitlint v19
wagoid Mar 28, 2024
1b31c7b
Merge pull request #763 from wagoid/feat/upgrade-commitlint-v19
wagoid Mar 28, 2024
3c75220
chore(release): publish 6.0.0 [skip-ci]
Mar 28, 2024
edca067
ci: group minor and patch updates in a single PR [skip-ci]
wagoid Apr 1, 2024
70fb930
chore(deps): bump undici from 5.27.0 to 5.28.4
dependabot[bot] Apr 4, 2024
ab651d8
chore(deps-dev): bump the minor-and-patch group with 4 updates
dependabot[bot] Apr 8, 2024
8d57fde
Merge pull request #778 from wagoid/dependabot/npm_and_yarn/undici-5.…
wagoid Apr 10, 2024
8fa8a3e
Merge pull request #779 from wagoid/dependabot/npm_and_yarn/minor-and…
wagoid Apr 10, 2024
bfdc3d1
chore(deps): bump tar from 6.1.11 to 6.2.1
dependabot[bot] Apr 10, 2024
a7438fc
chore(deps): bump ip from 1.1.8 to 1.1.9
dependabot[bot] Apr 10, 2024
7070c25
chore(deps): bump semver
dependabot[bot] Apr 10, 2024
b529831
Merge pull request #781 from wagoid/dependabot/npm_and_yarn/tar-6.2.1
wagoid Apr 10, 2024
d6e1800
Merge pull request #782 from wagoid/dependabot/npm_and_yarn/ip-1.1.9
wagoid Apr 10, 2024
ada5d09
Merge pull request #783 from wagoid/dependabot/npm_and_yarn/multi-362…
wagoid Apr 10, 2024
7f0a61d
chore(release): publish 6.0.1 [skip-ci]
Apr 10, 2024
d097cca
Merge remote-tracking branch 'upstream/master' into ff
Tsuesun Apr 11, 2024
be558a2
fixup! Merge remote-tracking branch 'upstream/master' into ff
Tsuesun Apr 11, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .dockerignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
node_modules
commitlint.config.js
commitlint.config.mjs
action.yml
.github
CHANGELOG.md
Expand Down
7 changes: 6 additions & 1 deletion .eslintrc.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,5 +19,10 @@
"node/no-unpublished-require": "off",
"node/no-unpublished-import": "off",
"node/no-unsupported-features/es-syntax": "off"
}
},
"ignorePatterns": [
".github/tasks/actionYamlUpdater.js",
"rollup.config.js",
"fixtures"
]
}
6 changes: 6 additions & 0 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,12 @@ updates:
schedule:
interval: weekly
open-pull-requests-limit: 99
groups:
minor-and-patch:
applies-to: version-updates
update-types:
- "patch"
- "minor"

- package-ecosystem: docker
directory: /
Expand Down
4 changes: 2 additions & 2 deletions .github/tasks/actionYamlUpdater.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ const yaml = require('yaml')

const versionRegex = /\d+\.\d+\.\d+/

module.exports.readVersion = (contents) =>
exports.readVersion = (contents) =>
yaml.parse(contents).runs.image.match(versionRegex)[0]

module.exports.writeVersion = (contents, version) => {
exports.writeVersion = (contents, version) => {
const actionFile = yaml.parse(contents)
actionFile.runs.image = actionFile.runs.image.replace(versionRegex, version)

Expand Down
14 changes: 11 additions & 3 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,10 @@ jobs:
env:
DOCKER_REGISTRY_URL: registry.hub.docker.com
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
- uses: actions/checkout@v3
with:
fetch-depth: 0
- uses: actions/setup-node@v3
with:
node-version: '20.9.0'
- uses: actions/cache@v4
Expand All @@ -53,7 +55,13 @@ jobs:
git config user.email '[email protected]'
git config user.name 'GitHub Action'
- name: Update versions and changelog
run: npx commit-and-tag-version
run: |
# remove `"type": "module"` from package.json since `commit-and-tag-version` doesn't support it
sed -i '/"type": "module",/c\' package.json
npx commit-and-tag-version
# bring back `"type": "module"`
sed -i 's/"private": true,/"private": true,\n "type": "module",/' package.json
git commit --amend --no-edit
- name: Set VERSION env var
run: |
version=`node -p "require('./package.json').version"`
Expand Down
2 changes: 1 addition & 1 deletion .lintstagedrc.js → .lintstagedrc.mjs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module.exports = {
export default {
'*.{ts,tsx,vue,css,less,scss,html,htm,md,markdown}': 'prettier --write',
'*.{json,yml,yaml}': ['prettier --write', () => 'npm run test'],
'*.{js,jsx}': ['eslint --fix', () => 'npm run test'],
Expand Down
579 changes: 395 additions & 184 deletions CHANGELOG.md

Large diffs are not rendered by default.

4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM node:16.15.1-alpine3.14 as build
FROM node:20.9.0-alpine3.17 as build

COPY package*.json /

Expand All @@ -12,7 +12,7 @@ FROM node:20.9.0-alpine3.17

RUN apk --no-cache add git

COPY --from=build dist/run.js /run.js
COPY --from=build dist/run.mjs /run.mjs

COPY package*.json /

Expand Down
10 changes: 6 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,27 @@ jobs:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: wagoid/commitlint-github-action@v5
- uses: wagoid/commitlint-github-action@v6
```

Alternatively, you can run on other event types such as `on: [push]`. In that case the action will lint the push event's commit(s) instead of linting commits from a pull request. You can also combine `push` and `pull_request` together in the same workflow.

## Inputs

You can supply these inputs to the `wagoid/commitlint-github-action@v5` step.
You can supply these inputs to the `wagoid/commitlint-github-action@v6` step.

### `configFile`

The path to your commitlint config file.

Default: `commitlint.config.js`
Default: `commitlint.config.mjs`

If the config file doesn't exist, [config-conventional](https://github.com/conventional-changelog/commitlint/tree/master/%40commitlint/config-conventional) settings will be loaded as a default fallback.

Details on the configuration file can be found on [the commitlint website](https://commitlint.js.org/#/reference-configuration).

Note: `commitlint.config.js` doesn't work with this action. If you use a JS config file, it's required to be an ES Module (`.mjs` extension)

### `failOnWarnings`

Whether you want to fail on warnings or not.
Expand Down Expand Up @@ -149,7 +151,7 @@ jobs:
- run: npm install
# Run the commitlint action, considering its own dependencies and yours as well 🚀
# `github.workspace` is the path to your repository.
- uses: wagoid/commitlint-github-action@v5
- uses: wagoid/commitlint-github-action@v6
env:
NODE_PATH: ${{ github.workspace }}/node_modules
```
Expand Down
9 changes: 4 additions & 5 deletions action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ inputs:
configFile:
description: Commitlint config file. If the file doesn't exist, config-conventional settings will be
loaded as a fallback.
default: ./commitlint.config.js
default: ./commitlint.config.mjs
required: false
failOnWarnings:
description: Whether you want to fail on warnings or not
Expand All @@ -25,9 +25,8 @@ inputs:
required: false
token:
description: >
Personal access token (PAT) used to interact with the GitHub API. By default, the
automatic token provided by GitHub is used. You can see more info about GitHub's default token
here:
Personal access token (PAT) used to interact with the GitHub API. By default, the automatic
token provided by GitHub is used. You can see more info about GitHub's default token here:
https://docs.github.com/en/actions/configuring-and-managing-workflows/authenticating-with-the-github_token
default: ${{ github.token }}
required: false
Expand All @@ -36,7 +35,7 @@ outputs:
description: The error and warning messages for each one of the analyzed commits
runs:
using: docker
image: docker://wagoid/commitlint-github-action:5.4.5
image: docker://wagoid/commitlint-github-action:6.0.1
branding:
icon: check-square
color: blue
4 changes: 2 additions & 2 deletions commitlint.config.js → commitlint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/* eslint-disable import/no-extraneous-dependencies */
const { maxLineLength } = require('@commitlint/ensure')
import { maxLineLength } from '@commitlint/ensure'

const bodyMaxLineLength = 100

Expand All @@ -14,7 +14,7 @@ const validateBodyMaxLengthIgnoringDeps = (parsedCommit) => {
]
}

module.exports = {
export default {
extends: ['@commitlint/config-conventional'],
plugins: ['commitlint-plugin-function-rules'],
rules: {
Expand Down
6 changes: 4 additions & 2 deletions entrypoint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@ set -e
if [ -z "$NODE_PATH" ]; then
export NODE_PATH=/node_modules
else
export NODE_PATH=$NODE_PATH:/node_modules
export NODE_PATH="$NODE_PATH":/node_modules
fi

# Since actions/checkout can be setup with a different user ID, we need to set the workspace as safe inside this action
# Info about the vunlerability: https://github.blog/2022-04-12-git-security-vulnerability-announced/
git config --global --add safe.directory "$GITHUB_WORKSPACE"

node /run.js
export NODE_OPTIONS="$NODE_OPTIONS --experimental-vm-modules"

node /run.mjs
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
module.exports = {
export default {
extends: ['@commitlint/config-conventional'],
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module.exports = {
export default {
extends: ['@commitlint/config-conventional'],
helpUrl: 'https://example.org',
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module.exports = {
export default {
plugins: ['commitlint-plugin-jira-rules'],
extends: ['jira'],
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
module.exports = {
export default {
extends: ['@commitlint/config-conventional'],
rules: {
'signed-off-by': [2, 'always', 'Signed-off-by:'],
Expand Down
8 changes: 5 additions & 3 deletions jest.config.js → jest.config.mjs
Original file line number Diff line number Diff line change
@@ -1,10 +1,12 @@
module.exports = {
export default {
// Automatically clear mock calls and instances between every test
// preset: 'rollup-jest',
clearMocks: true,
testEnvironment: '@commitlint/test-environment',
testMatch: [
'**/__tests__/**/*.?(m)[jt]s?(x)',
'**/?(*.)+(spec|test).?(m)[tj]s?(x)',
],
transform: {
'\\.[jt]sx?$': 'babel-jest',
},
transformIgnorePatterns: ['node_modules/(?!dargs)'],
}
Loading