name: Build on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: runs-on: ubuntu-latest steps: - name: Checkout uses: actions/checkout@v2 - name: Setup uses: actions/setup-node@v1 with: node-version: 15.x - name: Install run: npm ci - name: Build run: npm run build - name: Test run: npm test analyze: runs-on: ubuntu-latest needs: <%- JSON.stringify(releases.map(release => `test-${release}`)) %> steps: - name: Checkout uses: actions/checkout@v2 - name: Setup uses: github/codeql-action/init@v1 with: languages: javascript config-file: ./.github/config/codeql.yml - name: Analyze uses: github/codeql-action/analyze@v1 # Tests cases below are auto generated through `npm run build` # Edit utils/workflow.yml instead if you need to update workflow <% for (const release of releases) { %> test-<%- release %>: needs: build runs-on: ubuntu-latest strategy: matrix: template: <%- JSON.stringify(templates) %> steps: - name: ${{ matrix.template }} > Base uses: lowlighter/metrics@<%- release %> <%- testcase({ base: "header, activity, community, repositories, metadata", }) %> - name: ${{ matrix.template }} > Plugin > PageSpeed uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_pagespeed: true, plugin_pagespeed_token: "${{ secrets.PAGESPEED_TOKEN }}", }) %> - name: ${{ matrix.template }} > Plugin > PageSpeed (detailed) uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_pagespeed: true, plugin_pagespeed_detailed: true, plugin_pagespeed_token: "${{ secrets.PAGESPEED_TOKEN }}", }) %> - name: ${{ matrix.template }} > Plugin > Music (playlist - apple) uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_music: true, plugin_music_playlist: "${{ secrets.MUSIC_PLAYLIST_APPLE }}", }) %> - name: ${{ matrix.template }} > Plugin > Music (playlist - spotify) uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_music: true, plugin_music_playlist: "${{ secrets.MUSIC_PLAYLIST_SPOTIFY }}", }) %> - name: ${{ matrix.template }} > Plugin > Music (recent - spotify) uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_music: true, plugin_music_provider: "spotify", plugin_music_token: "${{ secrets.SPOTIFY_TOKENS }}", }) %> - name: ${{ matrix.template }} > Plugin > Posts (dev.to) uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_posts: true, plugin_posts_source: "dev.to", }) %> - name: ${{ matrix.template }} > Plugin > Isocalendar uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_isocalendar: true, }) %> - name: ${{ matrix.template }} > Plugin > Isocalendar (full year) uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_isocalendar: true, plugin_isocalendar_duration: "full-year", }) %> - name: ${{ matrix.template }} > Plugin > Habits uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_habits: true, }) %> - name: ${{ matrix.template }} > Plugin > Languages uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_languages: true, }) %> - name: ${{ matrix.template }} > Plugin > Follow-up uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_followup: true, }) %> - name: ${{ matrix.template }} > Plugin > Lines uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_lines: true, }) %> - name: ${{ matrix.template }} > Plugin > Traffic uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_traffic: true, }) %> - name: ${{ matrix.template }} > Plugin > Gists uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_gists: true, }) %> - name: ${{ matrix.template }} > Plugin > Topics (stars) uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_topics: true, plugin_topics_sort: "stars", }) %> - name: ${{ matrix.template }} > Plugin > Topics (activity) uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_topics: true, plugin_topics_sort: "activity", }) %> - name: ${{ matrix.template }} > Plugin > Topics (starred) uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_topics: true, plugin_topics_sort: "starred", }) %> - name: ${{ matrix.template }} > Plugin > Topics (random) uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_topics: true, plugin_topics_sort: "random", }) %> - name: ${{ matrix.template }} > Plugin > Projects uses: lowlighter/metrics@<%- release %> <%- testcase({ plugin_projects: true, plugin_projects_limit: 2, }) %> <% } -%>