fix: use find for cross-platform test glob expansion #2
This file contains hidden or 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: CI | |
| on: | |
| push: | |
| branches: [main, master] | |
| pull_request: | |
| branches: [main, master] | |
| jobs: | |
| test: | |
| runs-on: ubuntu-latest | |
| strategy: | |
| matrix: | |
| node-version: [18.x, 20.x, 22.x] | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Use Node.js ${{ matrix.node-version }} | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: ${{ matrix.node-version }} | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Run tests | |
| run: npm test | |
| - name: Test CLI | |
| run: | | |
| node src/cli.js --version | |
| node src/cli.js licenses | |
| node src/cli.js scan --format json | |
| lint: | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| cache: 'npm' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Run linter | |
| run: npm run lint || true # Don't fail on lint warnings initially | |
| publish: | |
| needs: [test, lint] | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'push' && github.ref == 'refs/heads/main' | |
| steps: | |
| - uses: actions/checkout@v4 | |
| - name: Use Node.js | |
| uses: actions/setup-node@v4 | |
| with: | |
| node-version: '20' | |
| registry-url: 'https://registry.npmjs.org' | |
| - name: Install dependencies | |
| run: npm ci | |
| - name: Check if version changed | |
| id: version | |
| run: | | |
| PUBLISHED=$(npm view license-guard version 2>/dev/null || echo "0.0.0") | |
| CURRENT=$(node -p "require('./package.json').version") | |
| if [ "$PUBLISHED" != "$CURRENT" ]; then | |
| echo "should_publish=true" >> $GITHUB_OUTPUT | |
| echo "Version changed: $PUBLISHED -> $CURRENT" | |
| else | |
| echo "should_publish=false" >> $GITHUB_OUTPUT | |
| echo "Version unchanged: $CURRENT" | |
| fi | |
| - name: Publish to npm | |
| if: steps.version.outputs.should_publish == 'true' | |
| run: npm publish | |
| env: | |
| NODE_AUTH_TOKEN: ${{ secrets.NPM_TOKEN }} |