cargo-semver-checks/.github/workflows/test-build.yml
Predrag Gruevski 17d9392a8c
Update dependency and Node versions. (#68)
* Update dependency and Node versions.

* Re-lock.
2024-03-19 18:32:54 +00:00

61 lines
1.9 KiB
YAML

name: Test action build
on:
workflow_call:
jobs:
test-build:
name: Build the action and run TypeScript tests
runs-on: ubuntu-latest
steps:
- name: Checkout the action
uses: actions/checkout@v4
- name: Setup Node.js 20.x
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install npm-cli-login
run: npm install -g npm-cli-login
- name: Login to GitHub npm registry
# Both username and email address are irrelevant here, but they must be
# specified because otherwise npm-cli-login fails.
run: |
npm-cli-login -s @actions-rs -r https://npm.pkg.github.com \
-u does_not_matter -p ${{ secrets.GITHUB_TOKEN }} -e does_not_m@ter.com
- name: Install dependencies
run: npm ci
- name: Rebuild the action and run tests
run: npm run all
- name: Compare the expected and actual src/ directories
run: |
if [ "$(git diff src/ | wc -l)" -gt "0" ]; then
echo "Source files are not properly formatted!"
exit 1
fi
id: diff_src
- name: Upload the expected version of src/ in case of failure
uses: actions/upload-artifact@v4
if: ${{ failure() && steps.diff_src.conclusion == 'failure' }}
with:
name: expected-src
path: src/
- name: Compare the expected and actual dist/ directories
run: |
if [ "$(git diff dist/ | wc -l)" -gt "0" ]; then
echo "Built sources do not match the content of the dist/ directory!"
exit 1
fi
id: diff_dist
- name: Upload the expected version of dist/ in case of failure
uses: actions/upload-artifact@v4
if: ${{ failure() && steps.diff_dist.conclusion == 'failure' }}
with:
name: expected-dist
path: dist/