Skip to content

ci: Updated test for multi git path #263

ci: Updated test for multi git path

ci: Updated test for multi git path #263

Workflow file for this run

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: "./"
- 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."