diff --git a/.github/workflows/check-urls.yml b/.github/workflows/check-urls.yml index 448977241..6cff02a70 100644 --- a/.github/workflows/check-urls.yml +++ b/.github/workflows/check-urls.yml @@ -37,7 +37,7 @@ jobs: echo "fetch_depth=0" >> $GITHUB_OUTPUT fi - name: Checkout - uses: actions/checkout@v7 + uses: actions/checkout@v4 with: fetch-depth: ${{ steps.set-params.outputs.fetch-depth }} - name: Get changed files @@ -75,7 +75,7 @@ jobs: steps: - name: Checkout if: ${{ endsWith(matrix.file, '.yml') || endsWith(matrix.file, '.md') }} - uses: actions/checkout@v7 + uses: actions/checkout@v4 with: fetch-depth: ${{ needs.get-changed-files.outputs.fetch-depth }} - name: Setup Ruby v2.6 @@ -107,7 +107,7 @@ jobs: if: ${{ endsWith(matrix.file, '.yml') || endsWith(matrix.file, '.md') }} run: | awesome_bot "${{ matrix.file }}" --allow-redirect --allow-dupe --allow-ssl || true; - - uses: actions/upload-artifact@v7 + - uses: actions/upload-artifact@v4 with: name: ${{ steps.set-output.outputs.FILEPATH }} path: ${{ github.workspace }}/ab-results-*.json @@ -119,10 +119,10 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout # for having the sources of the local action - uses: actions/checkout@v7 + uses: actions/checkout@v4 # download and unzip the ab-results-*.json generated by job-matrix: check-urls - name: Download artifacts - uses: actions/download-artifact@v8 + uses: actions/download-artifact@v4 - name: Generate Summary Report uses: ./.github/actions/awesomebot-gh-summary-action with: diff --git a/.github/workflows/comment-pr.yml b/.github/workflows/comment-pr.yml index 679b7cb26..847344fe2 100644 --- a/.github/workflows/comment-pr.yml +++ b/.github/workflows/comment-pr.yml @@ -15,7 +15,7 @@ jobs: ${{ github.event.workflow_run.event == 'pull_request' }} steps: - name: 'Download artifact' - uses: actions/github-script@v9 + uses: actions/github-script@v7 with: script: | let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ diff --git a/.github/workflows/fpb-lint.yml b/.github/workflows/fpb-lint.yml index 443067987..9a284f508 100644 --- a/.github/workflows/fpb-lint.yml +++ b/.github/workflows/fpb-lint.yml @@ -11,9 +11,9 @@ jobs: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v7 + - uses: actions/checkout@v4 - name: Use Node.js - uses: actions/setup-node@v6 + uses: actions/setup-node@v4 - run: npm install -g free-programming-books-lint - name: Run linter @@ -28,7 +28,7 @@ jobs: cat output.log | sed -E 's:/home/runner/work/free-programming-books/|⚠.+::' | uniq > ./pr/error.log - name: Upload artifact - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@v4 if: always() with: name: pr diff --git a/.github/workflows/rtl-ltr-linter.yml b/.github/workflows/rtl-ltr-linter.yml index 288c2685d..7d01cb407 100644 --- a/.github/workflows/rtl-ltr-linter.yml +++ b/.github/workflows/rtl-ltr-linter.yml @@ -12,7 +12,7 @@ jobs: steps: # Checkout the repository code - name: Checkout code - uses: actions/checkout@v7 + uses: actions/checkout@v4 # Fetch the full history of 'main' for accurate git diff in PRs - name: Fetch all history for main @@ -20,7 +20,7 @@ jobs: # Set up the required Python version for the linter - name: Set up Python - uses: actions/setup-python@v6 + uses: actions/setup-python@v5 with: python-version: '3.11' # Use a recent Python version for compatibility @@ -94,7 +94,7 @@ jobs: # Only if the linter step was executed (success or failure) - name: Upload linter output artifact if: steps.run_linter.conclusion == 'success' || steps.run_linter.conclusion == 'failure' - uses: actions/upload-artifact@v7 + uses: actions/upload-artifact@v4 with: name: rtl-linter-output # Name of the artifact path: rtl-linter-output.log # Path to the output file diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml index 2261c3ad4..aa36480d4 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -19,7 +19,7 @@ jobs: stale: runs-on: ubuntu-latest steps: - - uses: actions/stale@v10 + - uses: actions/stale@v9 with: days-before-issue-stale: -1 # Don't mark issues as stale days-before-issue-close: -1 # Don't close issues diff --git a/books/free-programming-books-langs.md b/books/free-programming-books-langs.md index e5674caad..19f4a1d29 100644 --- a/books/free-programming-books-langs.md +++ b/books/free-programming-books-langs.md @@ -1382,6 +1382,7 @@ Books on general-purpose programming that don't focus on a specific language are * [How To Code in React.js](https://www.digitalocean.com/community/books/how-to-code-in-react-js-ebook) - Joe Morgan * [Intro to the React Framework](http://code.tutsplus.com/tutorials/intro-to-the-react-framework--net-35660) * [Learning React.js: Getting Started and Concepts](https://scotch.io/tutorials/learning-react-getting-started-and-concepts) +* [Patterns.dev](https://www.patterns.dev/) - Lydia Hallie, Addy Osmani * [Quick Start](https://react.dev/learn) * [React-Bits](https://github.com/vasanthk/react-bits) * [React Book, your beginner guide to React](https://github.com/softchris/react-book/) - Chris Noring