mirror of
https://github.com/harvester/harvester-ui-extension.git
synced 2025-12-13 05:01:43 +00:00
74 lines
2.2 KiB
YAML
74 lines
2.2 KiB
YAML
name: Tests
|
|
|
|
on:
|
|
workflow_call: # This tells GH that the workflow is reusable
|
|
push:
|
|
branches:
|
|
- main
|
|
- 'release-*'
|
|
pull_request:
|
|
types: [opened, reopened, edited, synchronize]
|
|
branches:
|
|
- main
|
|
- 'release-*'
|
|
|
|
jobs:
|
|
lint:
|
|
runs-on: ubuntu-latest
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
with:
|
|
fetch-depth: 0 # Need full history for commit-lint
|
|
|
|
- name: Run tests
|
|
uses: ./.github/actions/lint
|
|
|
|
- name: Validate PR title lint
|
|
if: github.event_name == 'pull_request'
|
|
shell: bash
|
|
run: echo "${{ github.event.pull_request.title }}" | npx commitlint
|
|
|
|
- name: Validate commit messages
|
|
shell: bash
|
|
run: |
|
|
echo "GITHUB_EVENT_NAME=$GITHUB_EVENT_NAME"
|
|
echo "GITHUB_BASE_SHA=$GITHUB_BASE_SHA"
|
|
echo "GITHUB_HEAD_SHA=$GITHUB_HEAD_SHA"
|
|
echo "GITHUB_BEFORE=$GITHUB_BEFORE"
|
|
echo "GITHUB_AFTER=$GITHUB_AFTER"
|
|
|
|
if [ "$GITHUB_EVENT_NAME" = "pull_request" ] && [ -n "$GITHUB_BASE_SHA" ] && [ -n "$GITHUB_HEAD_SHA" ]; then
|
|
FROM="$GITHUB_BASE_SHA"
|
|
TO="$GITHUB_HEAD_SHA"
|
|
elif [ -n "$GITHUB_BEFORE" ] && [ -n "$GITHUB_AFTER" ]; then
|
|
if [ "$GITHUB_BEFORE" = "0000000000000000000000000000000000000000" ]; then
|
|
# first push to HEAD
|
|
FROM=""
|
|
TO="$GITHUB_AFTER"
|
|
else
|
|
FROM="$GITHUB_BEFORE"
|
|
TO="$GITHUB_AFTER"
|
|
fi
|
|
else
|
|
echo "No valid commit range found, skipping commitlint."
|
|
exit 0
|
|
fi
|
|
|
|
echo "FROM=$FROM"
|
|
echo "TO=$TO"
|
|
|
|
if [ -z "$FROM" ]; then
|
|
echo "Linting last commit $TO"
|
|
npx commitlint --last --verbose
|
|
|
|
else
|
|
echo "Linting commits from $FROM to $TO"
|
|
npx commitlint --from "$FROM" --to "$TO" --verbose
|
|
fi
|
|
env:
|
|
GITHUB_EVENT_NAME: ${{ github.event_name }}
|
|
GITHUB_BASE_SHA: ${{ github.event.pull_request.base.sha }}
|
|
GITHUB_HEAD_SHA: ${{ github.event.pull_request.head.sha }}
|
|
GITHUB_BEFORE: ${{ github.event.before }}
|
|
GITHUB_AFTER: ${{ github.event.after }}
|