Skip to content

chore(deps): update node.js to v24.10.0 #636

chore(deps): update node.js to v24.10.0

chore(deps): update node.js to v24.10.0 #636

Workflow file for this run

# SPDX-License-Identifier: MIT
name: Test
on:
pull_request:
branches:
- main
push:
branches:
- main
paths-ignore:
- '**.md'
- .gitignore
permissions:
contents: read
jobs:
build:
runs-on: ubuntu-24.04
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Setup Node.js
uses: actions/setup-node@a0853c24544627f65ddf259abe73b1d18a591444 # v5.0.0
with:
node-version-file: .node-version
cache: npm
- name: Install packages
run: |
npm ci
- name: Compile Node.js module
run: |
npm run all
- name: Verify no untracked files and unstaged changes
if: github.event_name != 'pull_request'
run: |
if [[ -n "$(git status --porcelain)" ]]; then
echo ----------------------------------------
echo git status
echo ----------------------------------------
git status
echo ----------------------------------------
echo git diff
echo ----------------------------------------
git diff
echo ----------------------------------------
echo "::error::Untracked files or unstaged changes detected!"
exit 1
fi
intergration-test-1:
strategy:
matrix:
os: ['ubuntu-24.04', 'macos-14', 'windows-2022']
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Run action
id: extract-release-notes
uses: ./
- name: Assert that release_notes output is not empty
shell: bash
env:
RELEASE_NOTES: ${{ steps.extract-release-notes.outputs.release_notes }}
run: |
test -n "${RELEASE_NOTES}"
intergration-test-2:
strategy:
matrix:
os: ['ubuntu-24.04', 'macos-14', 'windows-2022']
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Run action
uses: ./
with:
release_notes_file: RELEASE_NOTES.md
- name: Assert that RELEASE_NOTES.md exists
shell: bash
run: |
test -f RELEASE_NOTES.md
intergration-test-3:
strategy:
matrix:
os: ['windows-2022']
test:
- changelog_file: CHANGELOG_1.md
expected_release_notes_file: RELEASE_NOTES_1.md
prerelease: false
- changelog_file: CHANGELOG_2.md
expected_release_notes_file: RELEASE_NOTES_2.md
prerelease: false
- changelog_file: CHANGELOG_3.md
expected_release_notes_file: RELEASE_NOTES_3.md
prerelease: false
- changelog_file: CHANGELOG_4.md
expected_release_notes_file: RELEASE_NOTES_4.md
prerelease: true
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Run action
id: extract-release-notes
uses: ./
with:
changelog_file: test/testdata/${{ matrix.test.changelog_file }}
prerelease: ${{ matrix.test.prerelease }}
- name: Assert that release_notes output contains expected content
shell: bash
env:
RELEASE_NOTES: ${{ steps.extract-release-notes.outputs.release_notes }}
run: |
diff <(echo -n "${RELEASE_NOTES}") test/testdata/expected/${{ matrix.test.expected_release_notes_file }}
intergration-test-4:
strategy:
matrix:
os: ['windows-2022']
test:
- changelog_file: CHANGELOG_1.md
expected_release_notes_file: RELEASE_NOTES_1.md
prerelease: false
- changelog_file: CHANGELOG_2.md
expected_release_notes_file: RELEASE_NOTES_2.md
prerelease: false
- changelog_file: CHANGELOG_3.md
expected_release_notes_file: RELEASE_NOTES_3.md
prerelease: false
- changelog_file: CHANGELOG_4.md
expected_release_notes_file: RELEASE_NOTES_4.md
prerelease: true
runs-on: ${{ matrix.os }}
steps:
- name: Checkout
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
- name: Run action
id: extract-release-notes
uses: ./
with:
changelog_file: test/testdata/${{ matrix.test.changelog_file }}
release_notes_file: RELEASE_NOTES.md
prerelease: ${{ matrix.test.prerelease }}
- name: Assert that RELEASE_NOTES.md contains expected content
shell: bash
run: |
diff RELEASE_NOTES.md test/testdata/expected/${{ matrix.test.expected_release_notes_file }}