mirror of
https://github.com/dgtlmoon/changedetection.io.git
synced 2025-11-15 05:56:10 +00:00
Compare commits
4 Commits
history-pr
...
more-build
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
948903dea5 | ||
|
|
fe383018d8 | ||
|
|
6b0327d716 | ||
|
|
e3c33503e8 |
16
.github/workflows/containers.yml
vendored
16
.github/workflows/containers.yml
vendored
@@ -104,8 +104,12 @@ jobs:
|
|||||||
tags: |
|
tags: |
|
||||||
${{ secrets.DOCKER_HUB_USERNAME }}/changedetection.io:dev,ghcr.io/${{ github.repository }}:dev
|
${{ secrets.DOCKER_HUB_USERNAME }}/changedetection.io:dev,ghcr.io/${{ github.repository }}:dev
|
||||||
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v8
|
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v8
|
||||||
cache-from: type=gha
|
cache-from: |
|
||||||
cache-to: type=gha,mode=max
|
type=gha,scope=buildkit-master
|
||||||
|
type=registry,ref=${{ secrets.DOCKER_HUB_USERNAME }}/changedetection.io:buildcache
|
||||||
|
cache-to: |
|
||||||
|
type=gha,mode=max,scope=buildkit-master
|
||||||
|
type=registry,ref=${{ secrets.DOCKER_HUB_USERNAME }}/changedetection.io:buildcache,mode=max
|
||||||
|
|
||||||
# Looks like this was disabled
|
# Looks like this was disabled
|
||||||
# provenance: false
|
# provenance: false
|
||||||
@@ -142,8 +146,12 @@ jobs:
|
|||||||
push: true
|
push: true
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: ${{ steps.meta.outputs.tags }}
|
||||||
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v8
|
platforms: linux/amd64,linux/arm64,linux/arm/v7,linux/arm/v8
|
||||||
cache-from: type=gha
|
cache-from: |
|
||||||
cache-to: type=gha,mode=max
|
type=gha,scope=buildkit-release
|
||||||
|
type=registry,ref=${{ secrets.DOCKER_HUB_USERNAME }}/changedetection.io:buildcache
|
||||||
|
cache-to: |
|
||||||
|
type=gha,mode=max,scope=buildkit-release
|
||||||
|
type=registry,ref=${{ secrets.DOCKER_HUB_USERNAME }}/changedetection.io:buildcache,mode=max
|
||||||
# Looks like this was disabled
|
# Looks like this was disabled
|
||||||
# provenance: false
|
# provenance: false
|
||||||
|
|
||||||
|
|||||||
4
.github/workflows/test-only.yml
vendored
4
.github/workflows/test-only.yml
vendored
@@ -28,7 +28,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: '3.10'
|
python-version: '3.10'
|
||||||
|
|
||||||
|
|
||||||
test-application-3-11:
|
test-application-3-11:
|
||||||
# Always run
|
# Always run
|
||||||
needs: lint-code
|
needs: lint-code
|
||||||
@@ -52,4 +51,5 @@ jobs:
|
|||||||
uses: ./.github/workflows/test-stack-reusable-workflow.yml
|
uses: ./.github/workflows/test-stack-reusable-workflow.yml
|
||||||
with:
|
with:
|
||||||
python-version: '3.13'
|
python-version: '3.13'
|
||||||
skip-pypuppeteer: true
|
skip-pypuppeteer: true
|
||||||
|
|
||||||
|
|||||||
@@ -28,19 +28,23 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
python-version: ${{ env.PYTHON_VERSION }}
|
python-version: ${{ env.PYTHON_VERSION }}
|
||||||
|
|
||||||
- name: Cache pip packages
|
- name: Set up Docker Buildx
|
||||||
uses: actions/cache@v4
|
uses: docker/setup-buildx-action@v3
|
||||||
with:
|
|
||||||
path: ~/.cache/pip
|
|
||||||
key: ${{ runner.os }}-pip-py${{ env.PYTHON_VERSION }}-${{ hashFiles('requirements.txt') }}
|
|
||||||
restore-keys: |
|
|
||||||
${{ runner.os }}-pip-py${{ env.PYTHON_VERSION }}-
|
|
||||||
${{ runner.os }}-pip-
|
|
||||||
|
|
||||||
- name: Build changedetection.io container for testing under Python ${{ env.PYTHON_VERSION }}
|
- name: Build changedetection.io container for testing under Python ${{ env.PYTHON_VERSION }}
|
||||||
|
uses: docker/build-push-action@v6
|
||||||
|
with:
|
||||||
|
context: .
|
||||||
|
build-args: |
|
||||||
|
PYTHON_VERSION=${{ env.PYTHON_VERSION }}
|
||||||
|
LOGGER_LEVEL=TRACE
|
||||||
|
tags: test-changedetectionio
|
||||||
|
load: true
|
||||||
|
cache-from: type=gha
|
||||||
|
cache-to: type=gha,mode=max
|
||||||
|
|
||||||
|
- name: Verify pip packages installed
|
||||||
run: |
|
run: |
|
||||||
echo "---- Building for Python ${{ env.PYTHON_VERSION }} -----"
|
|
||||||
docker build --build-arg PYTHON_VERSION=${{ env.PYTHON_VERSION }} --build-arg LOGGER_LEVEL=TRACE -t test-changedetectionio .
|
|
||||||
docker run test-changedetectionio bash -c 'pip list'
|
docker run test-changedetectionio bash -c 'pip list'
|
||||||
|
|
||||||
- name: We should be Python ${{ env.PYTHON_VERSION }} ...
|
- name: We should be Python ${{ env.PYTHON_VERSION }} ...
|
||||||
|
|||||||
@@ -4,6 +4,10 @@ ARG PYTHON_VERSION=3.11
|
|||||||
|
|
||||||
FROM python:${PYTHON_VERSION}-slim-bookworm AS builder
|
FROM python:${PYTHON_VERSION}-slim-bookworm AS builder
|
||||||
|
|
||||||
|
# Declare platform variables for cache mount IDs
|
||||||
|
ARG TARGETARCH
|
||||||
|
ARG TARGETVARIANT
|
||||||
|
|
||||||
# See `cryptography` pin comment in requirements.txt
|
# See `cryptography` pin comment in requirements.txt
|
||||||
|
|
||||||
RUN apt-get update && apt-get install -y --no-install-recommends \
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
||||||
@@ -34,7 +38,7 @@ ENV OPENSSL_LIB_DIR="/usr/lib/arm-linux-gnueabihf"
|
|||||||
ENV OPENSSL_INCLUDE_DIR="/usr/include/openssl"
|
ENV OPENSSL_INCLUDE_DIR="/usr/include/openssl"
|
||||||
# Additional environment variables for cryptography Rust build
|
# Additional environment variables for cryptography Rust build
|
||||||
ENV CRYPTOGRAPHY_DONT_BUILD_RUST=1
|
ENV CRYPTOGRAPHY_DONT_BUILD_RUST=1
|
||||||
RUN --mount=type=cache,id=pip,sharing=locked,target=/tmp/pip-cache \
|
RUN --mount=type=cache,id=pip-$TARGETARCH$TARGETVARIANT,sharing=locked,target=/tmp/pip-cache \
|
||||||
pip install \
|
pip install \
|
||||||
--prefer-binary \
|
--prefer-binary \
|
||||||
--extra-index-url https://www.piwheels.org/simple \
|
--extra-index-url https://www.piwheels.org/simple \
|
||||||
@@ -47,7 +51,7 @@ RUN --mount=type=cache,id=pip,sharing=locked,target=/tmp/pip-cache \
|
|||||||
# Playwright is an alternative to Selenium
|
# Playwright is an alternative to Selenium
|
||||||
# Excluded this package from requirements.txt to prevent arm/v6 and arm/v7 builds from failing
|
# Excluded this package from requirements.txt to prevent arm/v6 and arm/v7 builds from failing
|
||||||
# https://github.com/dgtlmoon/changedetection.io/pull/1067 also musl/alpine (not supported)
|
# https://github.com/dgtlmoon/changedetection.io/pull/1067 also musl/alpine (not supported)
|
||||||
RUN --mount=type=cache,id=pip,sharing=locked,target=/tmp/pip-cache \
|
RUN --mount=type=cache,id=pip-$TARGETARCH$TARGETVARIANT,sharing=locked,target=/tmp/pip-cache \
|
||||||
pip install \
|
pip install \
|
||||||
--prefer-binary \
|
--prefer-binary \
|
||||||
--cache-dir=/tmp/pip-cache \
|
--cache-dir=/tmp/pip-cache \
|
||||||
|
|||||||
Reference in New Issue
Block a user