From ef379441edd975634ea71e5c0707df5527eccc56 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 22 May 2026 16:50:44 +0000 Subject: [PATCH 1/2] Bump deprecated GitHub Actions to current major versions The Apr 13 deploy run flagged Node 20 actions as deprecated. Bumping all actions to their current latest major versions which run on Node 24: - actions/checkout v4 -> v6 - actions/setup-python v4 -> v6 - actions/setup-node v4 -> v6 - actions/configure-pages v4 -> v6 - actions/upload-artifact v4 -> v7 - actions/download-artifact v4 -> v8 - actions/upload-pages-artifact v3 -> v5 - actions/deploy-pages v4 -> v5 --- .github/workflows/ci.yaml | 12 ++++++------ .github/workflows/deploy.yml | 14 +++++++------- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 81f61dc..ff18da1 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -32,10 +32,10 @@ jobs: build: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v4 + - uses: actions/checkout@v6 - name: Set up Python # This is the version of the action for setting up Python, not the Python version. - uses: actions/setup-python@v4 + uses: actions/setup-python@v6 with: # Semantic version range syntax or exact version of a Python version python-version: '3.10' @@ -46,7 +46,7 @@ jobs: # You can test your matrix by printing the current Python version - name: Run Scrapers run: python run_scrapers.py - - uses: actions/upload-artifact@v4 + - uses: actions/upload-artifact@v7 with: name: hop_database path: | @@ -57,8 +57,8 @@ jobs: runs-on: ubuntu-latest if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/copilot/tag-release-v') steps: - - uses: actions/checkout@v4 - + - uses: actions/checkout@v6 + - name: Generate version tag id: version run: | @@ -101,7 +101,7 @@ jobs: fi - name: Download artifact - uses: actions/download-artifact@v4 + uses: actions/download-artifact@v8 with: name: hop_database path: ./data diff --git a/.github/workflows/deploy.yml b/.github/workflows/deploy.yml index c8a725c..3b50e48 100644 --- a/.github/workflows/deploy.yml +++ b/.github/workflows/deploy.yml @@ -22,10 +22,10 @@ jobs: steps: - name: Checkout - uses: actions/checkout@v4 - + uses: actions/checkout@v6 + - name: Setup Node.js - uses: actions/setup-node@v4 + uses: actions/setup-node@v6 with: node-version: '18' cache: 'npm' @@ -42,10 +42,10 @@ jobs: npm run build:prod - name: Setup Pages - uses: actions/configure-pages@v4 - + uses: actions/configure-pages@v6 + - name: Upload artifact - uses: actions/upload-pages-artifact@v3 + uses: actions/upload-pages-artifact@v5 with: path: ./website/build @@ -59,4 +59,4 @@ jobs: steps: - name: Deploy to GitHub Pages id: deployment - uses: actions/deploy-pages@v4 + uses: actions/deploy-pages@v5 From 2d84aeb7fb4f282302b9e08e188ee3b33fc26376 Mon Sep 17 00:00:00 2001 From: Claude Date: Fri, 22 May 2026 16:55:15 +0000 Subject: [PATCH 2/2] Remove scraper CI workflow The Python Scripts CI workflow has been failing because yakimavalleyhops.com started returning 403 to GitHub-runner IPs. Per the user's direction, drop the scraper from CI entirely and rely on the already-checked-in static dataset at website/public/data/hops.json for deploys. The deploy workflow consumes that file directly via the React build, so the live site is unaffected. If data needs refreshing in the future, the scrapers can be run locally and the result committed. --- .github/workflows/ci.yaml | 119 -------------------------------------- 1 file changed, 119 deletions(-) delete mode 100644 .github/workflows/ci.yaml diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml deleted file mode 100644 index ff18da1..0000000 --- a/.github/workflows/ci.yaml +++ /dev/null @@ -1,119 +0,0 @@ -name: Python Scripts CI - -on: - schedule: - # Run on the 1st day of every month at 00:00 UTC - - cron: '0 0 1 * *' - push: - # Sequence of patterns matched against refs/tags - tags: - - 'v*' # Push events to matching v*, i.e. v1.0, v20.15.10 - branches: - - 'claude/*' # Trigger on claude/* branch pushes for CI validation - - 'copilot/tag-release-v*' # Trigger release when Copilot creates a release branch - workflow_dispatch: # Allow manual trigger - inputs: - version: - description: 'Release version (e.g., v1.2.0). Leave empty for auto-generated version.' - required: false - type: string - release_name: - description: 'Custom release name. Leave empty for default.' - required: false - type: string - prerelease: - description: 'Mark as pre-release' - required: false - type: boolean - default: false - - -jobs: - build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v6 - - name: Set up Python - # This is the version of the action for setting up Python, not the Python version. - uses: actions/setup-python@v6 - with: - # Semantic version range syntax or exact version of a Python version - python-version: '3.10' - - name: Install dependencies - run: | - python -m pip install --upgrade pip - pip install -r requirements.txt - # You can test your matrix by printing the current Python version - - name: Run Scrapers - run: python run_scrapers.py - - uses: actions/upload-artifact@v7 - with: - name: hop_database - path: | - data/hops.json - data/combined.json - release: - needs: build - runs-on: ubuntu-latest - if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || startsWith(github.ref, 'refs/tags/') || startsWith(github.ref, 'refs/heads/copilot/tag-release-v') - steps: - - uses: actions/checkout@v6 - - - name: Generate version tag - id: version - run: | - if [[ "${{ github.event_name }}" == "workflow_dispatch" && "${{ github.event.inputs.version }}" != "" ]]; then - # Use custom version from manual trigger - echo "tag_name=${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT - if [[ "${{ github.event.inputs.release_name }}" != "" ]]; then - echo "release_name=${{ github.event.inputs.release_name }}" >> $GITHUB_OUTPUT - else - echo "release_name=Release ${{ github.event.inputs.version }}" >> $GITHUB_OUTPUT - fi - elif [[ "${{ github.ref }}" == refs/heads/copilot/tag-release-v* ]]; then - # Extract version from Copilot release branch name: copilot/tag-release-vX.Y.Z -> vX.Y.Z - VERSION="${GITHUB_REF#refs/heads/copilot/tag-release-}" - echo "tag_name=$VERSION" >> $GITHUB_OUTPUT - echo "release_name=Release $VERSION" >> $GITHUB_OUTPUT - elif [[ "${{ github.event_name }}" == "schedule" || "${{ github.event_name }}" == "workflow_dispatch" ]]; then - # Generate version based on current date (YYYY.MM format) - VERSION="v$(date +'%Y.%m')" - echo "tag_name=$VERSION" >> $GITHUB_OUTPUT - echo "release_name=Monthly Release $VERSION" >> $GITHUB_OUTPUT - else - # Use the pushed tag - echo "tag_name=${{ github.ref_name }}" >> $GITHUB_OUTPUT - echo "release_name=Release ${{ github.ref_name }}" >> $GITHUB_OUTPUT - fi - - - name: Create and push tag (for scheduled/dispatch/release-branch runs) - if: github.event_name == 'schedule' || github.event_name == 'workflow_dispatch' || startsWith(github.ref, 'refs/heads/copilot/tag-release-v') - run: | - git config --local user.email "action@github.com" - git config --local user.name "GitHub Action" - git fetch origin main - # Only create and push the tag if it does not already exist - if git ls-remote --tags origin "${{ steps.version.outputs.tag_name }}" | grep -q .; then - echo "Tag ${{ steps.version.outputs.tag_name }} already exists, skipping tag creation." - else - git tag ${{ steps.version.outputs.tag_name }} $(git rev-parse origin/main) - git push origin ${{ steps.version.outputs.tag_name }} - fi - - - name: Download artifact - uses: actions/download-artifact@v8 - with: - name: hop_database - path: ./data - - - name: Create Release - id: create_release - uses: softprops/action-gh-release@v2 - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - with: - tag_name: ${{ steps.version.outputs.tag_name }} - name: ${{ steps.version.outputs.release_name }} - draft: false - prerelease: ${{ github.event.inputs.prerelease == 'true' }} - files: ./data/combined.json \ No newline at end of file