Skip to content

Commit

Permalink
Add ecosystem test (#1)
Browse files Browse the repository at this point in the history
  • Loading branch information
ybiquitous authored Jul 11, 2024
1 parent 6fba527 commit 63b054a
Showing 1 changed file with 131 additions and 0 deletions.
131 changes: 131 additions & 0 deletions .github/workflows/test-ecosystem.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,131 @@
name: Test Ecosystem

on:
push:
branches: [main]
pull_request:
workflow_dispatch:
schedule:
- cron: '0 0 * * *' # Every day at 00:00 UTC

concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true

jobs:
test:
runs-on: ubuntu-latest
timeout-minutes: 30
strategy:
fail-fast: false
matrix:
# Based on https://www.npmjs.com/search?q=keywords%3Astylelint-plugin&ranking=popularity
# The following snippet on a browser dev console is helpful to create this list.
#
# [...document.querySelectorAll('a[href^="/package"][target="_self"]')].map(a => a.href.replace(/.+\/package\/(.+)$/, "- '$1'")).sort().join("\n")
#
package:
# In alphabetical order
- '@1024pix/stylelint-config-rational-order'
- '@double-great/stylelint-a11y'
- '@mozaic-ds/stylelint-plugin-mozaic'
- '@namics/stylelint-bem'
- '@o3r/stylelint-plugin'
- '@ronilaukkarinen/stylelint-a11y'
- '@shopify/stylelint-plugin'
- '@stylistic/stylelint-plugin'
- 'stylelint-8-point-grid'
- 'stylelint-a11y'
- 'stylelint-at-rule-no-children'
- 'stylelint-browser-compat'
- 'stylelint-color-format'
- 'stylelint-config-rational-order'
- 'stylelint-config-rational-order-fix'
- 'stylelint-csstree-validator'
- 'stylelint-declaration-block-no-ignored-properties'
- 'stylelint-declaration-strict-value'
- 'stylelint-declaration-use-variable'
- 'stylelint-file-max-lines'
- 'stylelint-gamut'
- 'stylelint-group-selectors'
- 'stylelint-high-performance-animation'
- 'stylelint-images'
- 'stylelint-less'
- 'stylelint-max-lines'
- 'stylelint-media-use-custom-media'
- 'stylelint-no-browser-hacks'
- 'stylelint-no-indistinguishable-colors'
- 'stylelint-no-nested-media'
- 'stylelint-no-px'
- 'stylelint-no-restricted-syntax'
- 'stylelint-no-unresolved-module'
- 'stylelint-no-unsupported-browser-features'
- 'stylelint-no-unused-selectors'
- 'stylelint-number-z-index-constraint'
- 'stylelint-order'
- 'stylelint-performance-animation'
- 'stylelint-plugin-defensive-css'
- 'stylelint-plugin-logical-css'
- 'stylelint-plugin-stylus'
- 'stylelint-prettier'
- 'stylelint-react-native'
- 'stylelint-rem-over-px'
- 'stylelint-rscss'
- 'stylelint-scss'
- 'stylelint-selector-bem-pattern'
- 'stylelint-selector-no-empty'
- 'stylelint-selector-pseudo-class-lvhfa'
- 'stylelint-selector-tag-no-without-class'
- 'stylelint-semantic-groups'
- 'stylelint-stylus'
- 'stylelint-suitcss'
- 'stylelint-taro-rn'
- 'stylelint-use-logical'
- 'stylelint-use-logical-spec'
- 'stylelint-use-nesting'
- 'stylelint-value-list-box-shadow-inset-first'
- 'stylelint-value-no-unknown-custom-properties'
- 'stylelint-z-index-value-constraint'
stylelint-version:
- 'stylelint/stylelint'
- 'stylelint@latest'
steps:
- name: Get 'owner/repo' from ${{ matrix.package }}
id: owner-repo
env:
PACKAGE: ${{ matrix.package }}
run: |
npm view "${PACKAGE}" 'repository.url' \
| sed -E 's/.*github.com\/([^/]+\/[^/]+).*/\1/' \
| sed -E 's/\.git$//' \
| xargs -I {} echo 'value={}' \
>> "${GITHUB_OUTPUT}"
- name: Checkout ${{ steps.owner-repo.outputs.value }}
uses: actions/checkout@v4
with:
repository: ${{ steps.owner-repo.outputs.value }}

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version: 'lts/*'

- name: Install latest npm
run: |
npm install --global npm@latest
echo "npm: $(npm --version)"
- name: Install pnpm
run: |
npm install --global pnpm
echo "pnpm: $(pnpm --version)"
- name: Install dependencies
run: npm install --no-audit

- name: Install Stylelint ${{ matrix.stylelint-version }}
run: npm install --no-audit --no-save ${{ matrix.stylelint-version }}

- name: Run test
run: npm test

0 comments on commit 63b054a

Please sign in to comment.