diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 6d3d1640d..efb045a6f 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -20,6 +20,10 @@ jobs: - name: Fetch tags run: git fetch --tags + - name: Get latest tag + id: latest-tag + run: echo "::set-output name=LATEST_TAG::$(git tag --list 2>/dev/null | tail -n1 2>/dev/null)" + - name: Get yarn cache directory path id: yarn_cache run: echo "::set-output name=YARN_CACHE_DIR::$(yarn cache dir)" @@ -41,7 +45,14 @@ jobs: - name: Create change log id: change-log - run: echo "::set-output name=CHANGE_LOG::$(yarn generate:changelog)" + run: | + CHANGE_LOG=$(yarn generate:changelog --old-tag=${{ steps.latest-tag.outputs.NEW_VERSION }}) + CHANGE_LOG="${CHANGE_LOG//'%'/'%25'}" + CHANGE_LOG="${CHANGE_LOG//$'\n'/'%0A'}" + CHANGE_LOG="${CHANGE_LOG//$'\r'/'%0D'}" + echo "::set-output name=CHANGE_LOG::$CHANGE_LOG" + env: + GITHUB_API_KEY: ${{ secrets.GITHUB_TOKEN }} - name: Check output run: | diff --git a/scripts/generateChangelog.js b/scripts/generateChangelog.js index 97dbc1f94..c364d0140 100644 --- a/scripts/generateChangelog.js +++ b/scripts/generateChangelog.js @@ -1,4 +1,5 @@ import githubApi from './githubApi'; +import getArgumentOptions from 'minimist'; const fetchCompareTags = oldTag => githubApi(`https://api.github.com/repos/lucide-icons/lucide/compare/${oldTag}...master`); @@ -34,9 +35,11 @@ const fetchCommits = async file => { return { ...file, commits }; }; +const cliArguments = getArgumentOptions(process.argv.slice(2)); + // eslint-disable-next-line func-names (async function() { - const output = await fetchCompareTags('v0.13.0'); + const output = await fetchCompareTags(cliArguments['old-tag']); const changedFiles = output.files.filter( ({ filename }) => !filename.match(/site\/(.*)|(.*)package\.json|tags.json/g), );