diff --git a/.github/workflows/docker-cleanup.yml b/.github/workflows/docker-cleanup.yml index 34069d3..b032cf1 100644 --- a/.github/workflows/docker-cleanup.yml +++ b/.github/workflows/docker-cleanup.yml @@ -17,7 +17,7 @@ jobs: steps: - name: Delete PR Docker images - uses: actions/github-script@v9 + uses: actions/github-script@3a2844b7e9c422d3c10d287c895573f7108da1b3 # v9 with: script: | const owner = context.repo.owner.toLowerCase(); diff --git a/.github/workflows/docker-publish.yml b/.github/workflows/docker-publish.yml index 7ef231d..63c8694 100644 --- a/.github/workflows/docker-publish.yml +++ b/.github/workflows/docker-publish.yml @@ -54,14 +54,14 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v4 + uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4 - name: Test id: test - uses: docker/build-push-action@v7 + uses: docker/build-push-action@c3c9e263c25d99ce0380d002d59b67737d91b0dc # v7 with: context: . platforms: linux/amd64 @@ -88,7 +88,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 - name: Prepare variables id: vars @@ -104,11 +104,11 @@ jobs: fi - name: Set up QEMU - uses: docker/setup-qemu-action@v4 + uses: docker/setup-qemu-action@99012661954931238ded8c8b007157a8430204e1 # v4 # Set up BuildKit Docker container builder - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v4 + uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4 # Log into registry - name: Log into registry ${{ env.REGISTRY }} @@ -121,7 +121,7 @@ jobs: # Extract metadata (tags, labels) for Docker - name: Extract Docker metadata id: meta - uses: docker/metadata-action@v6 + uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6 with: tags: type=raw,value=${{ steps.vars.outputs.LOCAL_TAG }} images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} @@ -129,7 +129,7 @@ jobs: # Build and push Docker image for each platform - name: Build Docker image id: build - uses: docker/build-push-action@v7 + uses: docker/build-push-action@c3c9e263c25d99ce0380d002d59b67737d91b0dc # v7 with: context: . pull: true @@ -153,7 +153,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@v7 + uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7 # Install the cosign tool - name: Install cosign @@ -161,7 +161,7 @@ jobs: # Set up Docker Buildx - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v4 + uses: docker/setup-buildx-action@f87e5991a6d7451dcb8d9637bfbc97413f497069 # v4 # Log into registry - name: Log into registry ${{ env.REGISTRY }} @@ -174,7 +174,7 @@ jobs: # Extract Docker metadata for tagging - name: Extract Docker metadata id: meta - uses: docker/metadata-action@v6 + uses: docker/metadata-action@dc802804100637a589fabce1cb79ff13a1411302 # v6 with: tags: | type=ref,event=branch diff --git a/Dockerfile b/Dockerfile index b4ea63f..64e511b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ # Ubuntu is required by playwright. # Pin to 24.04 LTS: ubuntu:latest floats to 26.04, which Playwright 1.58 # cannot install firefox deps for (no libgtk-3 -> camoufox fails to launch). -FROM ubuntu:26.04 AS base +FROM ubuntu:26.04@sha256:6a06111c3b0a8600feadb270aec771dc239bf407b25625f93f44ab00e11f4d3c AS base ARG GITHUB_BUILD=false @@ -18,7 +18,7 @@ RUN apt-get update &&\ apt-get install -y --no-install-recommends curl ca-certificates git tini &&\ apt-get clean &&\ rm -rf /var/lib/apt/lists/* -COPY --from=ghcr.io/astral-sh/uv:latest /uv /uvx /bin/ +COPY --from=ghcr.io/astral-sh/uv:latest@sha256:96f40d3904aad8d0bd010539001d36c8e2188b981e1334471a90c4a1d93bb490 /uv /uvx /bin/ FROM base AS devcontainer RUN apt-get update &&\ diff --git a/main.py b/main.py index 18c86d2..1f00f2c 100644 --- a/main.py +++ b/main.py @@ -27,7 +27,7 @@ async def lifespan(_: FastAPI) -> AsyncGenerator[None]: yield -app = FastAPI(debug=LOG_LEVEL == logging.DEBUG, log_level=LOG_LEVEL, lifespan=lifespan) +app = FastAPI(debug=LOG_LEVEL == logging.DEBUG, lifespan=lifespan) app.add_middleware(GZipMiddleware) app.add_middleware(LogRequest) diff --git a/pyproject.toml b/pyproject.toml index cca8d91..8f43fb9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -8,7 +8,7 @@ version = "0.1.0" description = "API for getting cookies for Cloudflare challenges" readme = "README.md" dependencies = [ - "fastapi[standard]==0.143.*", + "fastapi[standard]==0.162.*", "invisible-playwright>=0.15.0", "playwright==1.64.*", "playwright-captcha==0.1.*", diff --git a/uv.lock b/uv.lock index c8cb457..25ba2bb 100644 --- a/uv.lock +++ b/uv.lock @@ -105,7 +105,7 @@ test = [ [package.metadata] requires-dist = [ - { name = "fastapi", extras = ["standard"], specifier = "==0.143.*" }, + { name = "fastapi", extras = ["standard"], specifier = "==0.162.*" }, { name = "invisible-playwright", specifier = ">=0.15.0" }, { name = "playwright", specifier = "==1.64.*" }, { name = "playwright-captcha", specifier = "==0.1.*" }, @@ -312,7 +312,7 @@ wheels = [ [[package]] name = "fastapi" -version = "0.143.5" +version = "0.162.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "annotated-doc" }, @@ -322,9 +322,9 @@ dependencies = [ { name = "typing-extensions" }, { name = "typing-inspection" }, ] -sdist = { url = "https://files.pythonhosted.org/packages/8f/6a/ac6ec87026038fb7583018e0905f6c9d55bc8ee07d30d44c743f18b19435/fastapi-0.143.5.tar.gz", hash = "sha256:0b5c8e52d243cd2f015376b41e78db5bee585578782481abd145e1ab5a62a3ba", size = 470247, upload-time = "2026-10-18T09:12:55.556Z" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/eb/2cf8c80abf09b2800aef0a83b41066fbfda8ee5495b7a08b9d1af40f7046/fastapi-0.162.0.tar.gz", hash = "sha256:6a22c1e2e6e32e0633ee7e170f00009a29b8228b16feb219ee42f32fd8d88a8f", size = 527867, upload-time = "2026-10-23T18:47:33.264Z" } wheels = [ - { url = "https://files.pythonhosted.org/packages/eb/4e/5f7d1268900eb14a6697a42d94c8f7e3b8450d27301761f231672f928419/fastapi-0.143.5-py3-none-any.whl", hash = "sha256:09cc38ed8c6a95f407783ef4d98ceeb350e192fe8fbb8ed711070bcd5208fdfa", size = 144894, upload-time = "2026-10-18T09:12:54.125Z" }, + { url = "https://files.pythonhosted.org/packages/b4/4f/3f2c25c9b43970b5e9a08beb5e04776247edea684ddc0930f4f02f0bb6cb/fastapi-0.162.0-py3-none-any.whl", hash = "sha256:3785963de305dd09912426cb81f2d230fce98ab3521cdfe97265c8d14983128c", size = 148912, upload-time = "2026-10-23T18:47:31.734Z" }, ] [package.optional-dependencies]