Compare commits
52 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cc3bbb0c52 | ||
|
|
373db58d9d | ||
|
|
9161a8dcde | ||
|
|
e13fb92d45 | ||
|
|
7891350b8e | ||
|
|
457e041909 | ||
|
|
eaf854ef0c | ||
|
|
681bf92506 | ||
|
|
3ec883ad31 | ||
|
|
e5740c1ffc | ||
|
|
bbe7f7b544 | ||
|
|
205913dc0c | ||
|
|
dd73690e2e | ||
|
|
c226cd45e5 | ||
|
|
facb2785cd | ||
|
|
4b558a92db | ||
|
|
5f68aa8f2d | ||
|
|
0da22a2fef | ||
|
|
2972fe4d6b | ||
|
|
57a81a39f3 | ||
|
|
1d8732f877 | ||
|
|
3de07763cf | ||
|
|
b53f3b80e1 | ||
|
|
4f8f7b39ce | ||
|
|
ff86e79932 | ||
|
|
14c7f454e7 | ||
|
|
cda0f1d381 | ||
|
|
d44c8e3205 | ||
|
|
6b3dabec4c | ||
|
|
bce8e36722 | ||
|
|
b376795801 | ||
|
|
d41df78c17 | ||
|
|
4ae1154663 | ||
|
|
60268df189 | ||
|
|
f52993ba02 | ||
|
|
3b13fed1b0 | ||
|
|
338ea071b0 | ||
|
|
25cb66210f | ||
|
|
d6babd6899 | ||
|
|
0a79e54e1f | ||
|
|
9d06a2a6a9 | ||
|
|
7e8e88bd35 | ||
|
|
b510737b96 | ||
|
|
2e70979353 | ||
|
|
625929d27d | ||
|
|
03334d095e | ||
|
|
8a0655f075 | ||
|
|
98e187efcd | ||
|
|
96f65726ea | ||
|
|
bf548e4af2 | ||
|
|
8b07fd3b11 | ||
|
|
d195e6e7c2 |
2
.github/workflows/sync-release-version.yml
vendored
2
.github/workflows/sync-release-version.yml
vendored
@@ -37,7 +37,7 @@ jobs:
|
||||
- name: Run git-cliff
|
||||
uses: tj-actions/git-cliff@v1
|
||||
- name: Create Pull Request
|
||||
uses: peter-evans/create-pull-request@v6.0.5
|
||||
uses: peter-evans/create-pull-request@v6.1.0
|
||||
with:
|
||||
base: "main"
|
||||
labels: "merge when passing"
|
||||
|
||||
123
HISTORY.md
123
HISTORY.md
@@ -1,5 +1,128 @@
|
||||
# Changelog
|
||||
|
||||
# [44.5.3](https://github.com/tj-actions/changed-files/compare/v44.5.2...v44.5.3) - (2024-06-19)
|
||||
|
||||
## <!-- 1 -->🐛 Bug Fixes
|
||||
|
||||
- **deps:** Update dependency yaml to v2.4.5 ([57a81a3](https://github.com/tj-actions/changed-files/commit/57a81a39f3c336e860a2312a2487a8a2e6d495ce)) - (renovate[bot])
|
||||
- **deps:** Update dependency yaml to v2.4.4 ([3de0776](https://github.com/tj-actions/changed-files/commit/3de07763cf5f7eb991d59ca7894be8df0f36c80c)) - (renovate[bot])
|
||||
- **deps:** Update dependency yaml to v2.4.3 ([#2120](https://github.com/tj-actions/changed-files/issues/2120)) ([60268df](https://github.com/tj-actions/changed-files/commit/60268df189b72237cfcbe6ec2937367ef2b2b75d)) - (renovate[bot])
|
||||
|
||||
## <!-- 16 -->➕ Add
|
||||
|
||||
- Added missing changes and modified dist assets.
|
||||
([2972fe4](https://github.com/tj-actions/changed-files/commit/2972fe4d6b07bd6de22186555c2046a94a3aa302)) - (GitHub Action)
|
||||
- Added missing changes and modified dist assets.
|
||||
([1d8732f](https://github.com/tj-actions/changed-files/commit/1d8732f877032fb30b668e90ed6e4256ce87e263)) - (GitHub Action)
|
||||
|
||||
## <!-- 7 -->⚙️ Miscellaneous Tasks
|
||||
|
||||
- **deps:** Update dependency @types/node to v20.14.6 ([eaf854e](https://github.com/tj-actions/changed-files/commit/eaf854ef0c266753e1abec356dcf17d92695b251)) - (renovate[bot])
|
||||
- **deps:** Update peter-evans/create-pull-request action to v6.1.0 ([681bf92](https://github.com/tj-actions/changed-files/commit/681bf9250661435d933b9a002c1e488cb0b36392)) - (renovate[bot])
|
||||
- **deps:** Update dependency @types/node to v20.14.5 ([3ec883a](https://github.com/tj-actions/changed-files/commit/3ec883ad318c2acc1a7be8bd10b3df3fb3c1ade9)) - (renovate[bot])
|
||||
- **deps:** Update dependency @types/node to v20.14.4 ([e5740c1](https://github.com/tj-actions/changed-files/commit/e5740c1ffc006780d1210810ce5067ebb34610e9)) - (renovate[bot])
|
||||
- **deps:** Update dependency @types/node to v20.14.3 ([bbe7f7b](https://github.com/tj-actions/changed-files/commit/bbe7f7b54441cfd1728f63a9d9a32c751f006e81)) - (renovate[bot])
|
||||
- **deps:** Update typescript-eslint monorepo to v7.13.1 ([205913d](https://github.com/tj-actions/changed-files/commit/205913dc0c3aa09da9277a1b4096d2bb6321db0b)) - (renovate[bot])
|
||||
- **deps:** Lock file maintenance ([dd73690](https://github.com/tj-actions/changed-files/commit/dd73690e2ecbbee49f1f7fc434cd33a761ba90f1)) - (renovate[bot])
|
||||
- **deps:** Update dependency ts-jest to v29.1.5 ([c226cd4](https://github.com/tj-actions/changed-files/commit/c226cd45e52ac9d935958965a9892ad7bf929089)) - (renovate[bot])
|
||||
- **deps:** Update dependency prettier to v3.3.2 ([facb278](https://github.com/tj-actions/changed-files/commit/facb2785cd0aab364e33f9ec80300c644bbdbec5)) - (renovate[bot])
|
||||
- Update README.md ([#2139](https://github.com/tj-actions/changed-files/issues/2139)) ([4b558a9](https://github.com/tj-actions/changed-files/commit/4b558a92dbdbf21c40539cba330831f2def9873d)) - (Tonye Jack)
|
||||
- **deps:** Update typescript-eslint monorepo to v7.13.0 ([5f68aa8](https://github.com/tj-actions/changed-files/commit/5f68aa8f2d1601edffee7c7433dc3d8239630fef)) - (renovate[bot])
|
||||
- **deps:** Lock file maintenance ([0da22a2](https://github.com/tj-actions/changed-files/commit/0da22a2fef3bf27dba3a5fbb800090b56d8796cd)) - (renovate[bot])
|
||||
- **deps:** Update dependency @types/lodash to v4.17.5 ([b53f3b8](https://github.com/tj-actions/changed-files/commit/b53f3b80e1ef417088e4c3762113460e92f3cc19)) - (renovate[bot])
|
||||
- **deps:** Update dependency eslint-plugin-jest to v28.6.0 ([4f8f7b3](https://github.com/tj-actions/changed-files/commit/4f8f7b39cef32b5fac73349e35683446ad08d7dd)) - (renovate[bot])
|
||||
- **deps:** Update dependency prettier to v3.3.1 ([ff86e79](https://github.com/tj-actions/changed-files/commit/ff86e799329a01358899f7155923017483c20c5c)) - (renovate[bot])
|
||||
- **deps:** Update dependency @types/node to v20.14.2 ([14c7f45](https://github.com/tj-actions/changed-files/commit/14c7f454e7918a2d6c36b0eccf701ef458eb6d1c)) - (renovate[bot])
|
||||
- **deps:** Update dependency eslint-plugin-github to v5.0.1 ([cda0f1d](https://github.com/tj-actions/changed-files/commit/cda0f1d381749ddcab1f3089fb0b74885bf4672d)) - (renovate[bot])
|
||||
- **deps:** Update dependency @types/node to v20.14.1 ([d44c8e3](https://github.com/tj-actions/changed-files/commit/d44c8e3205b92cc77b23cc18e27b93ac5a2ea565)) - (renovate[bot])
|
||||
- **deps:** Update typescript-eslint monorepo to v7.12.0 ([6b3dabe](https://github.com/tj-actions/changed-files/commit/6b3dabec4c96fb1ffad2a9e4cf3aac3c201efe55)) - (renovate[bot])
|
||||
- **deps:** Update dependency eslint-plugin-github to v5 ([#2126](https://github.com/tj-actions/changed-files/issues/2126)) ([bce8e36](https://github.com/tj-actions/changed-files/commit/bce8e36722940cf1b7ea18d6cea3f65237b2da6d)) - (renovate[bot])
|
||||
- **deps:** Lock file maintenance ([b376795](https://github.com/tj-actions/changed-files/commit/b37679580189c7d45e130ff6493385da369f7469)) - (renovate[bot])
|
||||
- **deps:** Update tj-actions/eslint-changed-files action to v25 ([#2125](https://github.com/tj-actions/changed-files/issues/2125)) ([d41df78](https://github.com/tj-actions/changed-files/commit/d41df78c17301969b5b7113aecce4b6f8e427014)) - (renovate[bot])
|
||||
- Downgrade tj-actions/eslint-changed-files pending move to eslint 9 ([#2124](https://github.com/tj-actions/changed-files/issues/2124)) ([4ae1154](https://github.com/tj-actions/changed-files/commit/4ae1154663a757e030a3f13e21e26b297ababd2a)) - (Tonye Jack)
|
||||
- **deps:** Update dependency @types/node to v20.14.0 ([f52993b](https://github.com/tj-actions/changed-files/commit/f52993ba02d6db24aaa2985670d9a2719dc6cd7e)) - (renovate[bot])
|
||||
- **deps:** Update dependency prettier to v3.3.0 ([3b13fed](https://github.com/tj-actions/changed-files/commit/3b13fed1b01c7717dc87101f9050ed33f98450da)) - (renovate[bot])
|
||||
- **deps:** Update dependency @types/node to v20.12.14 ([338ea07](https://github.com/tj-actions/changed-files/commit/338ea071b0692eff915629d53579bdc5088d1011)) - (renovate[bot])
|
||||
|
||||
## <!-- 9 -->⬆️ Upgrades
|
||||
|
||||
- Upgraded to v44.5.2 ([#2116](https://github.com/tj-actions/changed-files/issues/2116))
|
||||
|
||||
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com> ([25cb662](https://github.com/tj-actions/changed-files/commit/25cb66210ff37283ad495177d68ccb8489ce1277)) - (tj-actions[bot])
|
||||
|
||||
# [44.5.2](https://github.com/tj-actions/changed-files/compare/v44.5.1...v44.5.2) - (2024-05-30)
|
||||
|
||||
## <!-- 1 -->🐛 Bug Fixes
|
||||
|
||||
- Warning with fetch_missing_history_max_retries using REST API ([#2114](https://github.com/tj-actions/changed-files/issues/2114)) ([d6babd6](https://github.com/tj-actions/changed-files/commit/d6babd6899969df1a11d14c368283ea4436bca78)) - (Tonye Jack)
|
||||
|
||||
## <!-- 7 -->⚙️ Miscellaneous Tasks
|
||||
|
||||
- **deps:** Update dependency @types/node to v20.12.13 ([0a79e54](https://github.com/tj-actions/changed-files/commit/0a79e54e1f77956a7c39c12ebad4e8f62ce0e6fb)) - (renovate[bot])
|
||||
- **deps:** Update dependency ts-jest to v29.1.4 ([9d06a2a](https://github.com/tj-actions/changed-files/commit/9d06a2a6a9aaef4e329865c87541e4fb2c36c7b2)) - (renovate[bot])
|
||||
- **deps:** Update typescript-eslint monorepo to v7.11.0 ([7e8e88b](https://github.com/tj-actions/changed-files/commit/7e8e88bd3537fcf190ad772c0a96f30febd0734a)) - (renovate[bot])
|
||||
- **deps:** Lock file maintenance ([b510737](https://github.com/tj-actions/changed-files/commit/b510737b966ce69c576f08abf8206fb222e4d4da)) - (renovate[bot])
|
||||
- **deps:** Lock file maintenance ([2e70979](https://github.com/tj-actions/changed-files/commit/2e7097935335571e0182fd95a8b7607d74248c2a)) - (renovate[bot])
|
||||
|
||||
## <!-- 9 -->⬆️ Upgrades
|
||||
|
||||
- Upgraded to v44.5.1 ([#2108](https://github.com/tj-actions/changed-files/issues/2108))
|
||||
|
||||
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com> ([625929d](https://github.com/tj-actions/changed-files/commit/625929d27d5d9362ce949a0dc367bfbaf4689115)) - (tj-actions[bot])
|
||||
|
||||
# [44.5.1](https://github.com/tj-actions/changed-files/compare/v44.5.0...v44.5.1) - (2024-05-24)
|
||||
|
||||
## <!-- 1 -->🐛 Bug Fixes
|
||||
|
||||
- Bug detecting previous tag when workflow is rerun ([#2107](https://github.com/tj-actions/changed-files/issues/2107)) ([03334d0](https://github.com/tj-actions/changed-files/commit/03334d095e2739fa9ac4034ec16f66d5d01e9eba)) - (Tonye Jack)
|
||||
- **deps:** Update dependency micromatch to v4.0.7 ([98e187e](https://github.com/tj-actions/changed-files/commit/98e187efcdfa77f01efb485b093a97a21d8281cd)) - (renovate[bot])
|
||||
- **deps:** Update dependency micromatch to v4.0.6 ([bf548e4](https://github.com/tj-actions/changed-files/commit/bf548e4af2ea13d28cd8b89f84d3ec31f27f66dc)) - (renovate[bot])
|
||||
|
||||
## <!-- 16 -->➕ Add
|
||||
|
||||
- Added missing changes and modified dist assets.
|
||||
([8a0655f](https://github.com/tj-actions/changed-files/commit/8a0655f075f752a7fcf8fedd1e6b976d8a3d4454)) - (GitHub Action)
|
||||
- Added missing changes and modified dist assets.
|
||||
([96f6572](https://github.com/tj-actions/changed-files/commit/96f65726eae8888afa41617580af5882e4e197f5)) - (GitHub Action)
|
||||
|
||||
## <!-- 7 -->⚙️ Miscellaneous Tasks
|
||||
|
||||
- **deps:** Update dependency ts-jest to v29.1.3 ([d195e6e](https://github.com/tj-actions/changed-files/commit/d195e6e7c2774fc8d3941acb2e6be1d38077eb47)) - (renovate[bot])
|
||||
|
||||
## <!-- 9 -->⬆️ Upgrades
|
||||
|
||||
- Upgraded to v44.5.0 ([#2101](https://github.com/tj-actions/changed-files/issues/2101))
|
||||
|
||||
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com>
|
||||
Co-authored-by: repo-ranger[bot] <39074581+repo-ranger[bot]@users.noreply.github.com> ([8b07fd3](https://github.com/tj-actions/changed-files/commit/8b07fd3b111677cb50907731b0af597475af6bec)) - (tj-actions[bot])
|
||||
|
||||
# [44.5.0](https://github.com/tj-actions/changed-files/compare/v44.4.0...v44.5.0) - (2024-05-21)
|
||||
|
||||
## <!-- 0 -->🚀 Features
|
||||
|
||||
- Add support for providing patterns to match tags ([#2098](https://github.com/tj-actions/changed-files/issues/2098)) ([03c1842](https://github.com/tj-actions/changed-files/commit/03c184259aae3c160b1d7281389e51f97ea02e5e)) - (Tonye Jack)
|
||||
|
||||
## <!-- 26 -->🔄 Update
|
||||
|
||||
- Updated README.md ([#2099](https://github.com/tj-actions/changed-files/issues/2099))
|
||||
|
||||
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com> ([1754cd4](https://github.com/tj-actions/changed-files/commit/1754cd4b9e661d1f0eced3b33545a8d8b3bc46d8)) - (tj-actions[bot])
|
||||
|
||||
## <!-- 7 -->⚙️ Miscellaneous Tasks
|
||||
|
||||
- **deps:** Update typescript-eslint monorepo to v7.10.0 ([5f01393](https://github.com/tj-actions/changed-files/commit/5f0139347aeb65568e336f0250e84595c04c6c0a)) - (renovate[bot])
|
||||
- **deps:** Update dependency @types/lodash to v4.17.4 ([58a9886](https://github.com/tj-actions/changed-files/commit/58a98867a77169ecf0438862d98cc9eb4bfb3511)) - (renovate[bot])
|
||||
- **deps:** Update dependency @types/lodash to v4.17.3 ([9216b0c](https://github.com/tj-actions/changed-files/commit/9216b0cec231229441961c892fbdfcda247e6f59)) - (renovate[bot])
|
||||
- **deps:** Update dependency @types/node to v20.12.12 ([0e3a6c3](https://github.com/tj-actions/changed-files/commit/0e3a6c3e99b91fdd487b056c372f55c0c28e7eaf)) - (renovate[bot])
|
||||
- **deps:** Update typescript-eslint monorepo to v7.9.0 ([e86678f](https://github.com/tj-actions/changed-files/commit/e86678fe3aea7af0d378326a830158c186101136)) - (renovate[bot])
|
||||
- **deps:** Lock file maintenance ([35d5a4d](https://github.com/tj-actions/changed-files/commit/35d5a4d79f865a1a8db02b9f6fb4c5cd4b4809ef)) - (renovate[bot])
|
||||
|
||||
## <!-- 9 -->⬆️ Upgrades
|
||||
|
||||
- Upgraded to v44.4.0 ([#2086](https://github.com/tj-actions/changed-files/issues/2086))
|
||||
|
||||
Co-authored-by: jackton1 <17484350+jackton1@users.noreply.github.com> ([887f936](https://github.com/tj-actions/changed-files/commit/887f93673c5c7e05864f59ff35db2cc632163ce3)) - (tj-actions[bot])
|
||||
|
||||
# [44.4.0](https://github.com/tj-actions/changed-files/compare/v44.3.0...v44.4.0) - (2024-05-08)
|
||||
|
||||
## <!-- 0 -->🚀 Features
|
||||
|
||||
@@ -21,7 +21,7 @@ Effortlessly track all changed files and directories relative to a target branch
|
||||
>
|
||||
> * This action solely identifies files that have changed for events such as [`pull_request*`, `push`, `merge_group`, `release`, and many more](#other-supported-events-electron). However, it doesn't detect pending uncommitted changes created during the workflow execution.
|
||||
>
|
||||
> See: https://github.com/tj-actions/verify-changed-files instead
|
||||
> See: https://github.com/tj-actions/verify-changed-files instead.
|
||||
|
||||
## Table of contents
|
||||
|
||||
|
||||
1538
dist/index.js
generated
vendored
1538
dist/index.js
generated
vendored
File diff suppressed because it is too large
Load Diff
2
dist/index.js.map
generated
vendored
2
dist/index.js.map
generated
vendored
File diff suppressed because one or more lines are too long
2
dist/licenses.txt
generated
vendored
2
dist/licenses.txt
generated
vendored
@@ -5723,7 +5723,7 @@ braces
|
||||
MIT
|
||||
The MIT License (MIT)
|
||||
|
||||
Copyright (c) 2014-2018, Jon Schlinkert.
|
||||
Copyright (c) 2014-present, Jon Schlinkert.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||
of this software and associated documentation files (the "Software"), to deal
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "@tj-actions/changed-files",
|
||||
"version": "44.4.0",
|
||||
"version": "44.5.3",
|
||||
"description": "Github action to retrieve all (added, copied, modified, deleted, renamed, type changed, unmerged, unknown) files and directories.",
|
||||
"main": "lib/main.js",
|
||||
"publishConfig": {
|
||||
@@ -36,7 +36,7 @@
|
||||
"@actions/core": "^1.10.0",
|
||||
"@actions/exec": "^1.1.1",
|
||||
"@actions/github": "^6.0.0",
|
||||
"@octokit/rest": "^20.0.1",
|
||||
"@octokit/rest": "^21.0.0",
|
||||
"@stdlib/utils-convert-path": "^0.2.1",
|
||||
"lodash": "^4.17.21",
|
||||
"micromatch": "^4.0.5",
|
||||
@@ -47,13 +47,13 @@
|
||||
"@types/lodash": "^4.14.195",
|
||||
"@types/micromatch": "^4.0.2",
|
||||
"@types/node": "^20.3.2",
|
||||
"@types/uuid": "^9.0.2",
|
||||
"@types/uuid": "^10.0.0",
|
||||
"@typescript-eslint/eslint-plugin": "^7.0.0",
|
||||
"@typescript-eslint/parser": "^7.0.0",
|
||||
"@vercel/ncc": "^0.38.0",
|
||||
"eslint": "^8.43.0",
|
||||
"eslint-config-prettier": "^9.0.0",
|
||||
"eslint-plugin-github": "^4.8.0",
|
||||
"eslint-plugin-github": "^5.0.0",
|
||||
"eslint-plugin-jest": "^28.0.0",
|
||||
"eslint-plugin-prettier": "^5.0.0-alpha.2",
|
||||
"jest": "^29.5.0",
|
||||
|
||||
@@ -15,7 +15,7 @@ exports[`getInputs should correctly parse boolean inputs 1`] = `
|
||||
"failOnInitialDiffError": "false",
|
||||
"failOnSubmoduleDiffError": "false",
|
||||
"fetchAdditionalSubmoduleHistory": "false",
|
||||
"fetchMissingHistoryMaxRetries": 10,
|
||||
"fetchMissingHistoryMaxRetries": 20,
|
||||
"files": "",
|
||||
"filesFromSourceFile": "",
|
||||
"filesFromSourceFileSeparator": "",
|
||||
@@ -324,7 +324,7 @@ exports[`getInputs should return default values when no inputs are provided 1`]
|
||||
"failOnInitialDiffError": false,
|
||||
"failOnSubmoduleDiffError": false,
|
||||
"fetchAdditionalSubmoduleHistory": false,
|
||||
"fetchMissingHistoryMaxRetries": 10,
|
||||
"fetchMissingHistoryMaxRetries": 20,
|
||||
"files": "",
|
||||
"filesFromSourceFile": "",
|
||||
"filesFromSourceFileSeparator": "",
|
||||
|
||||
@@ -639,7 +639,7 @@ describe('utils test', () => {
|
||||
negationPatternsFirst: false,
|
||||
useRestApi: false,
|
||||
excludeSubmodules: false,
|
||||
fetchMissingHistoryMaxRetries: 10,
|
||||
fetchMissingHistoryMaxRetries: 20,
|
||||
usePosixPathSeparator: false,
|
||||
tagsPattern: '*',
|
||||
tagsIgnorePattern: ''
|
||||
@@ -659,95 +659,45 @@ describe('utils test', () => {
|
||||
})
|
||||
})
|
||||
describe('getPreviousGitTag', () => {
|
||||
// Function returns the second latest tag and its SHA
|
||||
// Function returns the second-latest tag and its SHA
|
||||
it('should return the second latest tag and its SHA when multiple tags are present', async () => {
|
||||
jest
|
||||
.spyOn(exec, 'getExecOutput')
|
||||
.mockResolvedValueOnce({
|
||||
stdout: 'v1.0.1\nv1.0.0\nv0.9.9',
|
||||
stderr: '',
|
||||
exitCode: 0
|
||||
})
|
||||
.mockResolvedValueOnce({
|
||||
stdout: 'abc123',
|
||||
stderr: '',
|
||||
exitCode: 0
|
||||
})
|
||||
const result = await getPreviousGitTag({
|
||||
cwd: '.',
|
||||
tagsPattern: '*',
|
||||
tagsIgnorePattern: ''
|
||||
tagsIgnorePattern: '',
|
||||
currentBranch: 'v1.0.1'
|
||||
})
|
||||
expect(result).toEqual({
|
||||
tag: 'v1.0.0',
|
||||
sha: 'f0751de6af436d4e79016e2041cf6400e0833653'
|
||||
})
|
||||
expect(result).toEqual({tag: 'v1.0.0', sha: 'abc123'})
|
||||
})
|
||||
|
||||
// Tags are filtered by a specified pattern when 'tagsPattern' is provided
|
||||
it('should filter tags by the specified pattern', async () => {
|
||||
jest
|
||||
.spyOn(exec, 'getExecOutput')
|
||||
.mockResolvedValueOnce({
|
||||
stdout: 'v1.0.1\nv1.0.0\nv0.9.9',
|
||||
stderr: '',
|
||||
exitCode: 0
|
||||
})
|
||||
.mockResolvedValueOnce({
|
||||
stdout: 'def456',
|
||||
stderr: '',
|
||||
exitCode: 0
|
||||
})
|
||||
const result = await getPreviousGitTag({
|
||||
cwd: '.',
|
||||
tagsPattern: 'v1.*',
|
||||
tagsIgnorePattern: ''
|
||||
tagsIgnorePattern: '',
|
||||
currentBranch: 'v1.0.1'
|
||||
})
|
||||
expect(result).toEqual({
|
||||
tag: 'v1.0.0',
|
||||
sha: 'f0751de6af436d4e79016e2041cf6400e0833653'
|
||||
})
|
||||
expect(result).toEqual({tag: 'v1.0.0', sha: 'def456'})
|
||||
})
|
||||
|
||||
// Tags are excluded by a specified ignore pattern when 'tagsIgnorePattern' is provided
|
||||
it('should exclude tags by the specified ignore pattern', async () => {
|
||||
jest
|
||||
.spyOn(exec, 'getExecOutput')
|
||||
.mockResolvedValueOnce({
|
||||
stdout: 'v1.0.1\nv1.0.0\nv0.9.9',
|
||||
stderr: '',
|
||||
exitCode: 0
|
||||
})
|
||||
.mockResolvedValueOnce({
|
||||
stdout: 'ghi789',
|
||||
stderr: '',
|
||||
exitCode: 0
|
||||
})
|
||||
const result = await getPreviousGitTag({
|
||||
cwd: '.',
|
||||
tagsPattern: '*',
|
||||
tagsIgnorePattern: 'v0.*.*'
|
||||
tagsIgnorePattern: 'v0.*.*',
|
||||
currentBranch: 'v1.0.1'
|
||||
})
|
||||
expect(result).toEqual({tag: 'v1.0.0', sha: 'ghi789'})
|
||||
})
|
||||
|
||||
// Function executes silently when debug mode is not active
|
||||
it('should execute silently when debug mode is not active', async () => {
|
||||
jest.spyOn(core, 'isDebug').mockReturnValue(false)
|
||||
const spy = jest
|
||||
.spyOn(exec, 'getExecOutput')
|
||||
.mockResolvedValueOnce({
|
||||
stdout: 'v1.0.1\nv1.0.0',
|
||||
stderr: '',
|
||||
exitCode: 0
|
||||
})
|
||||
.mockResolvedValueOnce({
|
||||
stdout: 'jkl012',
|
||||
stderr: '',
|
||||
exitCode: 0
|
||||
})
|
||||
await getPreviousGitTag({
|
||||
cwd: '.',
|
||||
tagsPattern: '*',
|
||||
tagsIgnorePattern: ''
|
||||
})
|
||||
expect(spy).toHaveBeenCalledWith('git', ['tag', '--sort=-creatordate'], {
|
||||
cwd: '.',
|
||||
silent: true
|
||||
expect(result).toEqual({
|
||||
tag: 'v1.0.0',
|
||||
sha: 'f0751de6af436d4e79016e2041cf6400e0833653'
|
||||
})
|
||||
})
|
||||
|
||||
@@ -761,7 +711,8 @@ describe('utils test', () => {
|
||||
const result = await getPreviousGitTag({
|
||||
cwd: '.',
|
||||
tagsPattern: '*',
|
||||
tagsIgnorePattern: ''
|
||||
tagsIgnorePattern: '',
|
||||
currentBranch: ''
|
||||
})
|
||||
expect(result).toEqual({tag: '', sha: ''})
|
||||
})
|
||||
@@ -769,44 +720,16 @@ describe('utils test', () => {
|
||||
// Only one tag is available, making it impossible to find a previous tag
|
||||
it('should return empty values when only one tag is available', async () => {
|
||||
jest.spyOn(exec, 'getExecOutput').mockResolvedValueOnce({
|
||||
stdout: 'v1.0.1',
|
||||
stdout:
|
||||
'v1.0.1|f0751de6af436d4e79016e2041cf6400e0833653|2021-01-01T00:00:00Z',
|
||||
stderr: '',
|
||||
exitCode: 0
|
||||
})
|
||||
const result = await getPreviousGitTag({
|
||||
cwd: '.',
|
||||
tagsPattern: '*',
|
||||
tagsIgnorePattern: ''
|
||||
})
|
||||
expect(result).toEqual({tag: '', sha: ''})
|
||||
})
|
||||
|
||||
// Provided 'tagsPattern' matches no tags
|
||||
it('should return empty values when provided tagsPattern matches no tags', async () => {
|
||||
jest.spyOn(exec, 'getExecOutput').mockResolvedValueOnce({
|
||||
stdout: 'v1.0.1\nv1.0.0',
|
||||
stderr: '',
|
||||
exitCode: 0
|
||||
})
|
||||
const result = await getPreviousGitTag({
|
||||
cwd: '.',
|
||||
tagsPattern: 'nonexistent*',
|
||||
tagsIgnorePattern: ''
|
||||
})
|
||||
expect(result).toEqual({tag: '', sha: ''})
|
||||
})
|
||||
|
||||
// Provided 'tagsIgnorePattern' excludes all tags
|
||||
it('should return empty values when provided tagsIgnorePattern excludes all tags', async () => {
|
||||
jest.spyOn(exec, 'getExecOutput').mockResolvedValueOnce({
|
||||
stdout: 'v1.0.1\nv1.0.0',
|
||||
stderr: '',
|
||||
exitCode: 0
|
||||
})
|
||||
const result = await getPreviousGitTag({
|
||||
cwd: '.',
|
||||
tagsPattern: '*',
|
||||
tagsIgnorePattern: 'v*'
|
||||
tagsIgnorePattern: '',
|
||||
currentBranch: 'v1.0.1'
|
||||
})
|
||||
expect(result).toEqual({tag: '', sha: ''})
|
||||
})
|
||||
@@ -817,34 +740,13 @@ describe('utils test', () => {
|
||||
.spyOn(exec, 'getExecOutput')
|
||||
.mockRejectedValue(new Error('git command failed'))
|
||||
await expect(
|
||||
getPreviousGitTag({cwd: '.', tagsPattern: '*', tagsIgnorePattern: ''})
|
||||
getPreviousGitTag({
|
||||
cwd: '.',
|
||||
tagsPattern: '*',
|
||||
tagsIgnorePattern: '',
|
||||
currentBranch: 'v1.0.1'
|
||||
})
|
||||
).rejects.toThrow('git command failed')
|
||||
})
|
||||
|
||||
// Debug mode logs additional information
|
||||
it('should log additional information when debug mode is active', async () => {
|
||||
jest.spyOn(core, 'isDebug').mockReturnValue(true)
|
||||
const spy = jest
|
||||
.spyOn(exec, 'getExecOutput')
|
||||
.mockResolvedValueOnce({
|
||||
stdout: 'v1.0.1\nv1.0.0',
|
||||
stderr: '',
|
||||
exitCode: 0
|
||||
})
|
||||
.mockResolvedValueOnce({
|
||||
stdout: 'mno345',
|
||||
stderr: '',
|
||||
exitCode: 0
|
||||
})
|
||||
await getPreviousGitTag({
|
||||
cwd: '.',
|
||||
tagsPattern: '*',
|
||||
tagsIgnorePattern: ''
|
||||
})
|
||||
expect(spy).toHaveBeenCalledWith('git', ['tag', '--sort=-creatordate'], {
|
||||
cwd: '.',
|
||||
silent: false
|
||||
})
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
@@ -243,7 +243,8 @@ export const getSHAForNonPullRequestEvent = async ({
|
||||
const {sha, tag} = await getPreviousGitTag({
|
||||
cwd: workingDirectory,
|
||||
tagsPattern: inputs.tagsPattern,
|
||||
tagsIgnorePattern: inputs.tagsIgnorePattern
|
||||
tagsIgnorePattern: inputs.tagsIgnorePattern,
|
||||
currentBranch
|
||||
})
|
||||
previousSha = sha
|
||||
targetBranch = tag
|
||||
@@ -379,32 +380,29 @@ export const getSHAForPullRequestEvent = async ({
|
||||
'Failed to fetch pull request branch. Please ensure "persist-credentials" is set to "true" when checking out the repository. See: https://github.com/actions/checkout#usage'
|
||||
)
|
||||
}
|
||||
core.debug('Fetching target branch...')
|
||||
await gitFetch({
|
||||
cwd: workingDirectory,
|
||||
args: [
|
||||
...gitFetchExtraArgs,
|
||||
'-u',
|
||||
'--progress',
|
||||
`--deepen=${inputs.fetchDepth}`,
|
||||
remoteName,
|
||||
`+refs/heads/${github.context.payload.pull_request?.base?.ref}:refs/remotes/${remoteName}/${github.context.payload.pull_request?.base?.ref}`
|
||||
]
|
||||
})
|
||||
|
||||
if (!inputs.sinceLastRemoteCommit) {
|
||||
core.debug('Fetching target branch...')
|
||||
await gitFetch({
|
||||
if (diffSubmodule) {
|
||||
await gitFetchSubmodules({
|
||||
cwd: workingDirectory,
|
||||
args: [
|
||||
...gitFetchExtraArgs,
|
||||
'-u',
|
||||
'--progress',
|
||||
`--deepen=${inputs.fetchDepth}`,
|
||||
remoteName,
|
||||
`+refs/heads/${targetBranch}:refs/remotes/${remoteName}/${targetBranch}`
|
||||
`--deepen=${inputs.fetchDepth}`
|
||||
]
|
||||
})
|
||||
|
||||
if (diffSubmodule) {
|
||||
await gitFetchSubmodules({
|
||||
cwd: workingDirectory,
|
||||
args: [
|
||||
...gitFetchExtraArgs,
|
||||
'-u',
|
||||
'--progress',
|
||||
`--deepen=${inputs.fetchDepth}`
|
||||
]
|
||||
})
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (diffSubmodule && inputs.fetchAdditionalSubmoduleHistory) {
|
||||
|
||||
@@ -22,7 +22,7 @@ export const DEFAULT_VALUES_OF_UNSUPPORTED_API_INPUTS: Partial<Inputs> = {
|
||||
fetchAdditionalSubmoduleHistory: false,
|
||||
dirNamesDeletedFilesIncludeOnlyDeletedDirs: false,
|
||||
excludeSubmodules: false,
|
||||
fetchMissingHistoryMaxRetries: 10,
|
||||
fetchMissingHistoryMaxRetries: 20,
|
||||
usePosixPathSeparator: false,
|
||||
tagsPattern: '*',
|
||||
tagsIgnorePattern: ''
|
||||
|
||||
75
src/utils.ts
75
src/utils.ts
@@ -831,53 +831,80 @@ export const cleanShaInput = async ({
|
||||
|
||||
return stdout.trim()
|
||||
}
|
||||
|
||||
export const getPreviousGitTag = async ({
|
||||
cwd,
|
||||
tagsPattern,
|
||||
currentBranch,
|
||||
tagsIgnorePattern
|
||||
}: {
|
||||
cwd: string
|
||||
tagsPattern: string
|
||||
currentBranch: string
|
||||
tagsIgnorePattern?: string
|
||||
}): Promise<{tag: string; sha: string}> => {
|
||||
const ignorePatterns: string[] = []
|
||||
let currentShaDate: Date | null = null
|
||||
|
||||
const {stdout} = await exec.getExecOutput(
|
||||
'git',
|
||||
['tag', '--sort=-creatordate'],
|
||||
[
|
||||
'tag',
|
||||
'--sort=-creatordate',
|
||||
'--format=%(refname:short)|%(objectname)|%(creatordate:iso)'
|
||||
],
|
||||
{
|
||||
cwd,
|
||||
silent: !core.isDebug()
|
||||
}
|
||||
)
|
||||
|
||||
let tags = stdout.trim().split('\n')
|
||||
|
||||
if (tagsPattern) {
|
||||
tags = tags.filter(tag => mm.isMatch(tag, tagsPattern))
|
||||
}
|
||||
|
||||
if (tagsIgnorePattern) {
|
||||
tags = tags.filter(tag => !mm.isMatch(tag, tagsIgnorePattern))
|
||||
ignorePatterns.push(tagsIgnorePattern)
|
||||
}
|
||||
|
||||
if (tags.length < 2) {
|
||||
core.warning('No previous tag found')
|
||||
return {tag: '', sha: ''}
|
||||
}
|
||||
|
||||
const previousTag = tags[1]
|
||||
|
||||
const {stdout: stdout2} = await exec.getExecOutput(
|
||||
'git',
|
||||
['rev-parse', previousTag],
|
||||
{
|
||||
cwd,
|
||||
silent: !core.isDebug()
|
||||
if (currentBranch) {
|
||||
ignorePatterns.push(currentBranch)
|
||||
try {
|
||||
const {stdout: currentShaDateOutput} = await exec.getExecOutput(
|
||||
'git',
|
||||
['show', '-s', '--format=%ai', currentBranch],
|
||||
{
|
||||
cwd,
|
||||
silent: !core.isDebug()
|
||||
}
|
||||
)
|
||||
currentShaDate = new Date(currentShaDateOutput.trim())
|
||||
} catch (error) {
|
||||
// Handle the case where the current branch doesn't exist
|
||||
// This might happen in detached head state
|
||||
core.warning(`Failed to get date for current branch ${currentBranch}`)
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
const sha = stdout2.trim()
|
||||
const previousTag: {tag: string; sha: string} = {tag: '', sha: ''}
|
||||
|
||||
return {tag: previousTag, sha}
|
||||
const tags = stdout.trim().split('\n')
|
||||
for (const tagData of tags) {
|
||||
const [tag, sha, dateString] = tagData.split('|')
|
||||
if (!mm.isMatch(tag, tagsPattern) || mm.isMatch(tag, ignorePatterns)) {
|
||||
continue
|
||||
}
|
||||
const date = new Date(dateString)
|
||||
if (currentShaDate && date >= currentShaDate) {
|
||||
continue
|
||||
}
|
||||
// Found a suitable tag, no need to continue
|
||||
previousTag.tag = tag
|
||||
previousTag.sha = sha
|
||||
break
|
||||
}
|
||||
|
||||
if (!previousTag.tag) {
|
||||
core.warning('No previous tag found')
|
||||
}
|
||||
|
||||
return previousTag
|
||||
}
|
||||
|
||||
export const canDiffCommits = async ({
|
||||
|
||||
Reference in New Issue
Block a user