Include changelog output in action definition. #179
Workflow file for this run
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 oasdiff actions' | |
on: | |
pull_request: | |
push: | |
jobs: | |
oasdiff_diff: | |
runs-on: ubuntu-latest | |
name: Test diff action | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Running diff action | |
id: test_ete | |
uses: ./diff | |
with: | |
base: https://raw.githubusercontent.com/Tufin/oasdiff/main/data/openapi-test1.yaml | |
revision: https://raw.githubusercontent.com/Tufin/oasdiff/main/data/openapi-test3.yaml | |
format: 'text' | |
oasdiff_diff_exclude_elements: | |
runs-on: ubuntu-latest | |
name: Test diff action with exclude-elements option | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Running diff action with exclude-elements option | |
id: test_exclude_elements | |
uses: ./diff | |
with: | |
base: 'specs/base.yaml' | |
revision: 'specs/base-exclude-elements.yaml' | |
format: 'text' | |
exclude-elements: 'description,title,summary' | |
- name: Test diff action output | |
run: | | |
delimiter=$(cat /proc/sys/kernel/random/uuid | tr -d '-') | |
output=$(cat <<-$delimiter | |
${{ steps.test_exclude_elements.outputs.diff }} | |
$delimiter | |
) | |
if [ "$output" != "No changes" ]; then | |
echo "Expected output 'No changes' but got '$output'" >&2 | |
exit 1 | |
fi | |
oasdiff_breaking: | |
runs-on: ubuntu-latest | |
name: Test breaking changes | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Running breaking action | |
id: test_breaking_changes | |
uses: ./breaking | |
with: | |
base: 'specs/base.yaml' | |
revision: 'specs/revision-breaking.yaml' | |
fail-on-diff: false | |
- name: Test breaking changes action output | |
run: | | |
delimiter=$(cat /proc/sys/kernel/random/uuid | tr -d '-') | |
output=$(cat <<-$delimiter | |
${{ steps.test_breaking_changes.outputs.breaking }} | |
$delimiter | |
) | |
if [ "$output" != "1 breaking changes: 1 error, 0 warning" ]; then | |
echo "Expected output '6 breaking changes: 2 error, 4 warning' but got '$output'" >&2 | |
exit 1 | |
fi | |
oasdiff_breaking_deprecation: | |
runs-on: ubuntu-latest | |
name: Test breaking changes with deprecation | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Set date for deprecated specs | |
run: | | |
# Deprecate Beta in 14 days | |
sed -ie "s/{{SUNSET_DATE_BETA}}/$(date --date="14 day" "+%Y-%m-%d")/" specs/base-deprecation.yaml | |
# Deprecate Stable in 21 days | |
sed -ie "s/{{SUNSET_DATE_STABLE}}/$(date --date="21 day" "+%Y-%m-%d")/" specs/base-deprecation.yaml | |
- name: Running OpenAPI Spec check breaking action | |
id: test_breaking_deprecations | |
uses: ./breaking | |
with: | |
base: specs/base.yaml | |
revision: specs/base-deprecation.yaml | |
fail-on-diff: true | |
deprecation-days-beta: 14 | |
deprecation-days-stable: 21 | |
oasdiff_changelog: | |
runs-on: ubuntu-latest | |
name: Test generation of changelog | |
steps: | |
- name: checkout | |
uses: actions/checkout@v4 | |
- name: Running changelog action | |
id: test_changelog | |
uses: ./changelog | |
with: | |
base: https://raw.githubusercontent.com/Tufin/oasdiff/main/data/openapi-test1.yaml | |
revision: https://raw.githubusercontent.com/Tufin/oasdiff/main/data/openapi-test3.yaml | |
- name: Test changelog action output | |
run: | | |
readonly expected_output="20 changes: 2 error, 4 warning, 14 info" | |
output=$(echo "${{steps.test_changelog.outputs.changelog}}" | head -n 1) | |
if [[ "${output}" != "${expected_output}" ]]; then | |
echo "Expected output '20 changes: 2 error, 4 warning, 14 info' but got '${output}'" >&2 | |
exit 1 | |
fi |