cargo-semver-checks/.github/workflows/test-build.yml
Mieszko Grodzicki ca4682c48b
Use folder-hash instead of hash-files. (#45)
* Use folder-hash instead of hash-files.

* Fix indentation in jest.config.js

* awaits in separate lines
2023-04-30 15:37:33 -04:00

54 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@v3
- name: Setup Node.js 16.x
uses: actions/setup-node@v3
with:
node-version: 16
- 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@v3
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@v3
if: ${{ failure() && steps.diff_dist.conclusion == 'failure' }}
with:
name: expected-dist
path: dist/