From 6047b61c47b4b8070d3effc11b4a92bb43eb9407 Mon Sep 17 00:00:00 2001 From: Peter Hedenskog Date: Wed, 16 Sep 2026 22:31:10 +0200 Subject: [PATCH] Fix the Windows and upload CI jobs The Windows job installs FFmpeg from BtbN's rolling "latest" release, which only keeps the two newest branches. 7.1 dropped out of it, so the download 404s on every run. Move to 8.1 and the current action release, and leave a note that this needs a bump roughly once a year. The upload job tested S3 against MinIO, but MinIO archived the open source project and pulled its images from Docker Hub, so the compose setup can no longer start. The test only needs an endpoint that accepts an upload, so replace it with adobe/s3mock: a small Apache-2 mock that pre-creates the bucket from an env var and accepts any credentials, which also removes the mc sidecar and the compose file. Co-authored-by: Claude Fable 5.1 noreply@anthropic.com --- .github/workflows/upload.yml | 13 ++++++++--- .github/workflows/windowsFull.yml | 8 +++++-- test/docker/docker-compose.minio.yml | 32 ---------------------------- 3 files changed, 16 insertions(+), 37 deletions(-) delete mode 100644 test/docker/docker-compose.minio.yml diff --git a/.github/workflows/upload.yml b/.github/workflows/upload.yml index 0f72300335..39400cc2c3 100644 --- a/.github/workflows/upload.yml +++ b/.github/workflows/upload.yml @@ -56,9 +56,16 @@ jobs: curl -X POST -H "Content-Type: application/json" \ -d '{"name": "sitespeed"}' \ http://127.0.0.1:8081/storage/v1/b?project=sitespeed - - name: Setup minio/S3 container + - name: Setup S3 container + # MinIO archived the open source project in 2026 and removed the + # minio/minio and minio/mc images from Docker Hub, so the old + # docker-compose setup can't pull anymore. s3mock is a small + # Apache-2 S3 mock that accepts any credentials and region, which + # is all this upload smoke test needs. run: | - docker compose -f test/docker/docker-compose.minio.yml up -d + docker run -d -p 9090:9090 \ + -e COM_ADOBE_TESTING_S3MOCK_STORE_INITIAL_BUCKETS=sitespeedio \ + adobe/s3mock:5.2.2 - name: Install local HTTP server run: npm install serve -g - name: Start local HTTP server @@ -72,4 +79,4 @@ jobs: - name: Run Chrome test sending data to GCS run: STORAGE_EMULATOR_HOST="http://localhost:8081" node bin/sitespeed.js http://127.0.0.1:3001/simple/ --xvfb -n 1 --gcs.bucketname sitespeed --gcs.projectId sitespeed - name: Run Chrome test sending data to S3 - run: node bin/sitespeed.js http://127.0.0.1:3001/simple/ --xvfb -n 1 --s3.endpoint http://127.0.0.1:9000 --s3.bucketname sitespeedio --s3.key user --s3.secret password --s3.region motown \ No newline at end of file + run: node bin/sitespeed.js http://127.0.0.1:3001/simple/ --xvfb -n 1 --s3.endpoint http://127.0.0.1:9090 --s3.bucketname sitespeedio --s3.key user --s3.secret password --s3.region motown \ No newline at end of file diff --git a/.github/workflows/windowsFull.yml b/.github/workflows/windowsFull.yml index 7508c62f84..c306017531 100644 --- a/.github/workflows/windowsFull.yml +++ b/.github/workflows/windowsFull.yml @@ -36,9 +36,13 @@ jobs: env: GECKODRIVER_SKIP_DOWNLOAD: true - name: Install ffmpeg - uses: AnimMouse/setup-ffmpeg@ae28d57dabbb148eff63170b6bf7f2b60062cbae # v1.2.3 + # The action downloads the Windows build from BtbN/FFmpeg-Builds' + # rolling "latest" release, which only keeps the two newest release + # branches. When a branch drops out of it the download 404s and this + # job fails, so expect to bump this version every ~year. + uses: AnimMouse/setup-ffmpeg@178e0b4a408f06ce40d896c3cd79f50fa6f8b0c3 # v1.2.5 with: - version: '7.1' + version: '8.1' - name: Set up Python uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # v6 with: diff --git a/test/docker/docker-compose.minio.yml b/test/docker/docker-compose.minio.yml deleted file mode 100644 index 02b64b767f..0000000000 --- a/test/docker/docker-compose.minio.yml +++ /dev/null @@ -1,32 +0,0 @@ -services: - minio: - image: minio/minio:RELEASE.2024-05-10T01-41-38Z - volumes: - - minio-data:/data - ports: - - "9000:9000" - environment: - - MINIO_ROOT_USER=user - - MINIO_ROOT_PASSWORD=password - command: server /data --console-address ":9001" - networks: - - skynet - mc: - image: minio/mc:RELEASE.2024-10-08T09-37-26Z - depends_on: - - minio - networks: - - skynet - entrypoint: > - /bin/sh -c " - /usr/bin/mc alias set sitespeedio http://minio:9000 user password && - (/usr/bin/mc mb --region=motown sitespeedio/sitespeedio || echo 'Bucket already exists') && - /usr/bin/mc ilm rule add --expire-days 30 sitespeedio/sitespeedio && - /usr/bin/mc anonymous set public sitespeedio/sitespeedio && - /usr/bin/mc admin config set sitespeedio compression extensions=\".html,.css,.js\" && - echo 'MinIO and lifecycle policy setup complete.'" -volumes: - minio-data: -networks: - skynet: - name: skynet \ No newline at end of file