feat(bump-version): allow bump file version without commit #266
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: "Test the action" | |
on: | |
pull_request: | |
branches: | |
- master | |
- releases/* | |
jobs: | |
test-github-output: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v1.5.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file.json" | |
- name: Show file | |
run: | | |
echo "$(<test-file.json)" | |
- name: Test output | |
run: node ./test-github-output.js | |
env: | |
TAG: ${{ steps.changelog.outputs.tag }} | |
EXPECTED_TAG: "v1.5.0" | |
test-json: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v1.5.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file.json" | |
- name: Show file | |
run: | | |
echo "$(<test-file.json)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file.json" | |
EXPECTED_VERSION: "1.5.0" | |
test-json-new: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v0.1.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file-new.json" | |
- name: Show file | |
run: | | |
echo "$(<test-file-new.json)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file-new.json" | |
EXPECTED_VERSION: "0.1.0" | |
test-json-new-prerelease: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v0.1.0-rc.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file-new-prerelease.json" | |
pre-release: true | |
- name: Show file | |
run: | | |
echo "$(<test-file-new-prerelease.json)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file-new-prerelease.json" | |
EXPECTED_VERSION: "0.1.0-rc.0" | |
test-json-empty: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- run: touch ./test-file-empty.json | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v0.1.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "./test-file-empty.json" | |
- run: echo "$(<./test-file-empty.json)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file-empty.json" | |
EXPECTED_VERSION: "0.1.0" | |
test-git: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: git tag | xargs git tag -d | |
- name: Create fake tag | |
run: "git tag -a 'v0.55.8' -m 'v0.55.8'" | |
- run: "git add . && git commit --allow-empty -m 'fix: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v0.55.9" | |
SKIPPED_COMMIT: true | |
with: | |
github-token: ${{ secrets.github_token }} | |
skip-commit: "true" | |
test-git-no-pull: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: git tag | xargs git tag -d | |
- name: Create fake tag | |
run: "git tag -a 'v0.55.8' -m 'v0.55.8'" | |
- run: "git add . && git commit --allow-empty -m 'fix: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v0.55.9" | |
SKIPPED_COMMIT: true | |
SKIPPED_PULL: true | |
with: | |
github-token: ${{ secrets.github_token }} | |
skip-commit: "true" | |
skip-git-pull: "true" | |
test-git-fallback: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- run: git tag | xargs git tag -d | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v0.1.0" | |
SKIPPED_COMMIT: true | |
with: | |
github-token: ${{ secrets.github_token }} | |
skip-commit: "true" | |
test-git-no-push: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: git tag | xargs git tag -d | |
- name: Create fake tag | |
run: "git tag -a 'v0.55.8' -m 'v0.55.8'" | |
- run: "git add . && git commit --allow-empty -m 'fix: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v0.55.9" | |
SKIPPED_COMMIT: true | |
EXPECTED_NO_PUSH: true | |
with: | |
github-token: ${{ secrets.github_token }} | |
skip-commit: "true" | |
git-push: "false" | |
test-skip-tag: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: git tag | xargs git tag -d | |
- name: Create fake tag | |
run: "git tag -a 'v0.55.8' -m 'v0.55.8'" | |
- run: "git add . && git commit --allow-empty -m 'fix: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: 'dont-use-git' | |
EXPECTED_TAG: 'v0.55.8' | |
SKIPPED_COMMIT: true | |
EXPECTED_NO_PUSH: true | |
SKIPPED_TAG: true | |
with: | |
github-token: ${{ secrets.github_token }} | |
skip-commit: 'true' | |
skip-tag: 'true' | |
git-push: 'false' | |
test-skip-bump: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'fix: Added fake file so version would be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: 'dont-use-git' | |
EXPECTED_TAG: "v1.4.5" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file.json" | |
skip-bump: "true" | |
- name: Show file | |
run: | | |
echo "$(<test-file.json)" | |
- name: Test version | |
run: node ./test-output.js | |
env: | |
FILES: "test-file.json" | |
EXPECTED_VERSION: "1.4.5" | |
test-skip-bump-with-fallback: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'fix: Added fake file so version would be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: 'dont-use-git' | |
EXPECTED_TAG: "v1.4.5" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file.json" | |
skip-bump: "true" | |
fallback-version: "6.5.0" | |
- name: Show file | |
run: | | |
echo "$(<test-file.json)" | |
- name: Test version | |
run: node ./test-output.js | |
env: | |
FILES: "test-file.json" | |
EXPECTED_VERSION: "1.4.5" | |
test-skip-bump-with-fallback-empty-version-file: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'fix: Added fake file so version would be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: 'dont-use-git' | |
EXPECTED_TAG: "v6.5.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "./test-file-empty.json" | |
skip-bump: "true" | |
fallback-version: "6.5.0" | |
# Tests that the fallback version is used in the changelog, when the version file is empty | |
# First get's the first line which contains the version string | |
# Then regEx matches for a semver version | |
# Then matches the resulting version string against our expected version | |
- name: Test changelog output | |
run: | | |
file_path="CHANGELOG.md" | |
input_version="6.5.0" | |
first_line=$(head -n 1 "$file_path") | |
[[ $first_line =~ ([0-9]+)\.([0-9]+)\.([0-9]+) ]] || exit 1 | |
extracted_version="${BASH_REMATCH[0]}" | |
[[ "$extracted_version" == "$input_version" ]] || exit 1 | |
test-yaml: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v9.5.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file.yaml" | |
version-path: "package.version" | |
- name: Generate changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v9.6.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file.yaml" | |
version-path: "package.no-quotes-version" | |
- name: Generate changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v9.7.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file.yaml" | |
version-path: "package.double-quotes-version" | |
- name: Show file | |
run: | | |
echo "$(<test-file.yaml)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file.yaml" | |
EXPECTED_VERSION: "9.5.0" | |
EXPECTED_VERSION_PATH: "package.version" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file.yaml" | |
EXPECTED_VERSION: "9.6.0" | |
EXPECTED_VERSION_PATH: "package.no-quotes-version" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file.yaml" | |
EXPECTED_VERSION: "9.7.0" | |
EXPECTED_VERSION_PATH: "package.double-quotes-version" | |
test-yaml-new: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- run: touch ./test-file-empty.yaml | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v0.1.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file-new.yaml" | |
version-path: "package.version" | |
- name: Show file | |
run: | | |
echo "$(<test-file-new.yaml)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file-new.yaml" | |
EXPECTED_VERSION: "0.1.0" | |
EXPECTED_VERSION_PATH: "package.version" | |
test-yaml-empty: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v0.1.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "./test-file-empty.yaml" | |
version-path: "package.version" | |
- name: Show file | |
run: | | |
echo "$(<test-file-empty.yaml)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file-empty.yaml" | |
EXPECTED_VERSION: "0.1.0" | |
EXPECTED_VERSION_PATH: "package.version" | |
test-mix: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v0.2.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "mix.exs" | |
- name: Show file | |
run: | | |
echo "$(<mix.exs)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "mix.exs" | |
EXPECTED_VERSION: "0.2.0" | |
test-toml: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v0.10.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file.toml" | |
version-path: "package.version" | |
- name: Show file | |
run: | | |
echo "$(<test-file.toml)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file.toml" | |
EXPECTED_VERSION: "0.10.0" | |
EXPECTED_VERSION_PATH: "package.version" | |
test-toml-new: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v0.1.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file-new.toml" | |
version-path: "package.version" | |
- name: Show file | |
run: | | |
echo "$(<test-file-new.toml)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file-new.toml" | |
EXPECTED_VERSION: "0.1.0" | |
EXPECTED_VERSION_PATH: "package.version" | |
test-toml-empty: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- run: touch ./test-file-empty.toml | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v6.5.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "./test-file-empty.toml" | |
version-path: "package.version" | |
fallback-version: "6.5.0" | |
- name: Show file | |
run: | | |
echo "$(<test-file-empty.toml)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file-empty.toml" | |
EXPECTED_VERSION: "6.5.0" | |
EXPECTED_VERSION_PATH: "package.version" | |
test-pre-commit: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- run: test -f pre-commit.test.json && (echo should not be here yet && exit 1) || exit 0 | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v1.5.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
pre-commit: "./test-pre-commit.js" | |
skip-on-empty: "false" | |
version-file: "./test-file.json" | |
- run: test -f pre-commit.test.json || (echo should be here && exit 1) | |
- run: cat pre-commit.test.json && echo "" | |
- run: cat ./package.json | |
test-pre-changelog-generation: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- run: test -f pre-changelog-generation.test.json && (echo should not be here yet && exit 1) || exit 0 | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v1.0.100-alpha" | |
with: | |
github-token: ${{ secrets.github_token }} | |
pre-changelog-generation: "./test-pre-changelog-generation.js" | |
version-file: "./test-file.toml" | |
version-path: "package.version" | |
- run: test -f pre-changelog-generation.version.test.json || (echo should be here && exit 1) | |
- run: test -f pre-changelog-generation.tag.test.json || (echo should be here && exit 1) | |
- run: cat pre-changelog-generation.version.test.json && echo "" | |
- run: cat pre-changelog-generation.tag.test.json && echo "" | |
- run: cat ./test-file.toml | |
test-multiple-files: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v1.5.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file.json, test-file-2.json, test-file.toml, test-file.yaml" | |
- name: Show files | |
run: | | |
echo "Test json file" | |
echo "$(<test-file.json)\n\n" | |
echo "Test json 2 file" | |
echo "$(<test-file-2.json)\n\n" | |
echo "Test toml file" | |
echo "$(<test-file.toml)\n\n" | |
echo "Test yaml file" | |
echo "$(<test-file.yaml)\n\n" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file.json, test-file-2.json, test-file.toml, test-file.yaml" | |
EXPECTED_VERSION: "1.5.0, 1.5.0, 1.5.0, 1.11.0" | |
test-config-file-path: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate Changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v0.1.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
skip-version-file: "true" | |
config-file-path: "./test-changelog.config.js" | |
- name: Test output | |
run: | | |
if grep -q "### New Features" "./CHANGELOG.md"; then | |
echo "Generated changelog file has config applied" | |
else | |
echo "Changelog config not applied" && exit 1 | |
fi | |
test-skip-ci: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v1.5.0" | |
SKIP_CI: "false" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file.json" | |
skip-ci: "false" | |
- name: Show file | |
run: | | |
echo "$(<test-file.json)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file.json" | |
EXPECTED_VERSION: "1.5.0" | |
test-pre-release: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v1.4.6-rc.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file.json" | |
pre-release: true | |
- name: Show file | |
run: | | |
echo "$(<test-file.json)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file.json" | |
EXPECTED_VERSION: "1.4.6-rc.0" | |
test-pre-release-identifier: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v1.4.6-alpha.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file.json" | |
pre-release: true | |
pre-release-identifier: "alpha" | |
- name: Show file | |
run: | | |
echo "$(<test-file.json)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file.json" | |
EXPECTED_VERSION: "1.4.6-alpha.0" | |
test-pre-release-to-stable: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v1.5.0" | |
with: | |
github-token: ${{ secrets.github_token }} | |
version-file: "test-file-pre-release.json" | |
pre-release: false # This is the default value, but we want to be explicit | |
- name: Show file | |
run: | | |
echo "$(<test-file-pre-release.json)" | |
- name: Test output | |
run: node ./test-output.js | |
env: | |
FILES: "test-file-pre-release.json" | |
EXPECTED_VERSION: "1.5.0" | |
test-input-file: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
- run: npm ci --prod | |
- run: npm run build | |
- run: "git config --global user.email '[email protected]'" | |
- run: "git config --global user.name 'Awesome Github action'" | |
- run: "git add . && git commit --allow-empty -m 'feat: Added fake file so version will be bumped'" | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
env: | |
ENV: "dont-use-git" | |
EXPECTED_TAG: "v6.5.0" | |
with: | |
input-file: "./test-input-file.md" | |
github-token: ${{ secrets.github_token }} | |
version-file: "./test-file-empty.toml" | |
version-path: "package.version" | |
fallback-version: "6.5.0" | |
- name: Test output | |
run: node ./test-file-content.js | |
env: | |
OUTPUT_FILE: "CHANGELOG.md" | |
EXPECTED_FILE: "test-input-file.md" | |
test-multiple-git-path: | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout code | |
uses: actions/checkout@v4 | |
with: | |
path: "./" | |
ref: ${{ github.ref == 'github.event.repository.default_branch' && github.head_ref || github.event.pull_request.head.ref }} | |
fetch-depth: 0 | |
- run: npm ci --prod | |
- run: npm run build | |
- name: Generate changelog | |
id: changelog | |
uses: ./ | |
with: | |
github-token: ${{ secrets.github_token }} | |
git-branch: ${{ github.ref == github.event.repository.default_branch && github.head_ref || github.event.pull_request.head.ref }} | |
git-path: | | |
src/helpers | |
src/version | |
.github/workflows | |
skip-commit: 'true' | |
skip-tag: 'true' | |
release-count: 0 | |
create-summary: 'true' | |
- name: Test output | |
run: | | |
echo "${{ steps.changelog.outputs.changelog }}" > change_log | |
sed "s/\(### \)\(.*\)/*\2*/g" change_log > change_log2 | |
diff change_log change_log2 > /dev/null && echo "The changelog has not been generated." || echo "The changelog has been generated." |