name: 'Test' on: push: branches: - main paths-ignore: - '*.md' pull_request: paths-ignore: - '*.md' concurrency: group: ${{ github.workflow }}-${{ github.ref }} jobs: test: runs-on: ${{ matrix.os }} strategy: matrix: os: - 'ubuntu-22.04' - 'ubuntu-20.04' - 'ubuntu-latest' - 'macos-latest' - 'windows-latest' permissions: contents: write steps: - uses: actions/checkout@v4 - uses: peaceiris/workflows/setup-node@v0.19.1 with: node-version: "18" # node-version-file: ".nvmrc" - name: Dump version run: | node -v npm --version git --version - run: npm ci --ignore-scripts - name: npm audit if: startsWith(matrix.os, 'ubuntu-22.04') run: | npm audit > ./audit.log || true if ! [ "$(cat ./audit.log | wc -l)" = 1 ]; then echo "::warning::$(cat ./audit.log)" fi rm ./audit.log - name: Run prettier if: startsWith(matrix.os, 'ubuntu-22.04') run: npm run format:check - name: Run eslint if: startsWith(matrix.os, 'ubuntu-22.04') run: npm run lint - run: npm test - name: Upload test coverage as artifact uses: actions/upload-artifact@v4 with: name: coverage-${{ matrix.os }} path: coverage - uses: codecov/codecov-action@v3 - name: Run ncc run: npm run build - name: Remove lint-staged husky if: ${{ github.ref == 'refs/heads/main' }} run: | npm uninstall lint-staged husky git checkout package-lock.json package.json - name: Setup mdBook if: ${{ github.ref == 'refs/heads/main' }} uses: peaceiris/actions-mdbook@v1.2.0 with: mdbook-version: '0.4.5' - name: Build site if: ${{ github.ref == 'refs/heads/main' }} working-directory: ./test_projects/mdbook run: mdbook build - name: Deploy if: | startsWith(matrix.os, 'ubuntu-latest') && github.ref == 'refs/heads/main' && github.event.repository.fork == false uses: ./ with: # deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} github_token: ${{ secrets.GITHUB_TOKEN }} # publish_branch: gh-pages publish_dir: ./test_projects/mdbook/book # external_repository: '' allow_empty_commit: true # keep_files: true # force_orphan: true user_name: 'github-actions[bot]' user_email: 'github-actions[bot]@users.noreply.github.com' # commit_message: ${{ github.event.head_commit.message }} cname: 'actions-gh-pages.peaceiris.com' - name: Deploy if: | startsWith(matrix.os, 'macos') && github.ref == 'refs/heads/main' && github.event.repository.fork == false uses: ./ with: deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} # github_token: ${{ secrets.GITHUB_TOKEN }} # personal_token: ${{ secrets.PERSONAL_TOKEN }} publish_branch: gh-pages-macos publish_dir: ./test_projects/mdbook/book # external_repository: '' allow_empty_commit: true # keep_files: true # force_orphan: true user_name: 'github-actions[bot]' user_email: 'github-actions[bot]@users.noreply.github.com' # commit_message: ${{ github.event.head_commit.message }} - name: Deploy if: | startsWith(matrix.os, 'windows') && github.ref == 'refs/heads/main' && github.event.repository.fork == false uses: ./ with: # deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} github_token: ${{ secrets.GITHUB_TOKEN }} # personal_token: ${{ secrets.PERSONAL_TOKEN }} publish_branch: gh-pages-windows publish_dir: ./test_projects/mdbook/book # external_repository: '' allow_empty_commit: true # keep_files: true # force_orphan: true user_name: 'github-actions[bot]' user_email: 'github-actions[bot]@users.noreply.github.com' # commit_message: ${{ github.event.head_commit.message }} - name: Deploy if: | startsWith(matrix.os, 'ubuntu-20.04') && github.ref == 'refs/heads/main' && github.event.repository.fork == false uses: ./ with: # deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} github_token: ${{ secrets.GITHUB_TOKEN }} publish_branch: gh-pages-ubuntu-20.04 publish_dir: ./test_projects/mdbook/book # external_repository: '' allow_empty_commit: true # keep_files: true # force_orphan: true user_name: 'github-actions[bot]' user_email: 'github-actions[bot]@users.noreply.github.com' # commit_message: ${{ github.event.head_commit.message }} - name: Deploy if: | startsWith(matrix.os, 'ubuntu-22.04') && github.ref == 'refs/heads/main' && github.event.repository.fork == false uses: ./ with: # deploy_key: ${{ secrets.ACTIONS_DEPLOY_KEY }} github_token: ${{ secrets.GITHUB_TOKEN }} publish_branch: gh-pages-ubuntu-22.04 publish_dir: ./test_projects/mdbook/book # external_repository: '' allow_empty_commit: true # keep_files: true # force_orphan: true user_name: 'github-actions[bot]' user_email: 'github-actions[bot]@users.noreply.github.com' # commit_message: ${{ github.event.head_commit.message }}