Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ jobs:
build_push_to_dockerhub:
strategy:
matrix:
base_container: ["php:7.4-bullseye", "php:8.0-bullseye", "php:8.1-bullseye", "php:8.2-bullseye", "php:8.3-bullseye", "php:8.4-bullseye"]
base_container: ["php:7.4-bullseye", "php:8.0-bullseye", "php:8.1-bullseye", "php:8.2-bookworm", "php:8.3-bookworm", "php:8.4-bookworm"]
runs-on: ubuntu-latest

steps:
Expand Down Expand Up @@ -43,19 +43,19 @@ jobs:
echo "COMPOSER_VERSION=2" >> $GITHUB_ENV

- name: Set PHP 8.2 settings
if: ${{ matrix.base_container == 'php:8.2-bullseye' }}
if: ${{ matrix.base_container == 'php:8.2-bookworm' }}
run: |
echo "BUILD_TAGS=10up/wordpress-ci:php-8.2" >> $GITHUB_ENV
echo "COMPOSER_VERSION=2" >> $GITHUB_ENV

- name: Set PHP 8.3 settings
if: ${{ matrix.base_container == 'php:8.3-bullseye' }}
if: ${{ matrix.base_container == 'php:8.3-bookworm' }}
run: |
echo "BUILD_TAGS=10up/wordpress-ci:php-8.3" >> $GITHUB_ENV
echo "COMPOSER_VERSION=2" >> $GITHUB_ENV

- name: Set PHP 8.4 settings
if: ${{ matrix.base_container == 'php:8.4-bullseye' }}
if: ${{ matrix.base_container == 'php:8.4-bookworm' }}
run: |
echo "BUILD_TAGS=10up/wordpress-ci:php-8.4" >> $GITHUB_ENV
echo "COMPOSER_VERSION=2" >> $GITHUB_ENV
Expand Down Expand Up @@ -104,7 +104,7 @@ jobs:
with:
action: docker/build-push-action@v6
attempt_limit: 3
attempt_delay: 5000
attempt_delay: 30
with: |
push: false # set to false for testing
no-cache: true
Expand Down
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,3 +29,5 @@ config.codekit

id_rsa
id_rsa.pub

.claude/settings.local.json
10 changes: 5 additions & 5 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# base image should be a PHP Debian container, such as php:7.4-buster
ARG PHP_IMG
FROM $PHP_IMG

Check warning on line 3 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.1-bullseye)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $PHP_IMG results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 3 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:7.4-bullseye)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $PHP_IMG results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 3 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.2-bookworm)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $PHP_IMG results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 3 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.0-bullseye)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $PHP_IMG results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 3 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.4-bookworm)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $PHP_IMG results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

Check warning on line 3 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.3-bookworm)

Default value for global ARG results in an empty or invalid base image name

InvalidDefaultArgInFrom: Default value for ARG $PHP_IMG results in empty or invalid base image name More info: https://docs.docker.com/go/dockerfile/rule/invalid-default-arg-in-from/

RUN apt-get update && \
apt-get install -y \
Expand Down Expand Up @@ -89,7 +89,7 @@
rm -rf /var/lib/apt/lists/* && \
localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8

ENV LANG en_US.utf8

Check warning on line 92 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.1-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 92 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:7.4-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 92 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.2-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 92 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.0-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 92 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.4-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 92 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.3-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

RUN echo "memory_limit=-1" > "$PHP_INI_DIR/conf.d/memory-limit.ini" && \
echo "date.timezone=${PHP_TIMEZONE:-UTC}" > "$PHP_INI_DIR/conf.d/date_timezone.ini"
Expand All @@ -102,12 +102,12 @@

## set up NVM and install node ##

ENV NVM_DIR /tmp/.nvm

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.1-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:7.4-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.2-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.0-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.4-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 105 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.3-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
RUN mkdir ${NVM_DIR}
RUN curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash

# Workaround - Cypress installation
ENV CYPRESS_CACHE_FOLDER /tmp/cypress/cache

Check warning on line 110 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.1-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 110 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:7.4-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 110 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.2-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 110 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.0-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 110 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.4-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 110 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.3-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
RUN mkdir -p ${CYPRESS_CACHE_FOLDER} && chmod 777 ${CYPRESS_CACHE_FOLDER}

ARG NODE_VERSION=16
Expand All @@ -121,16 +121,16 @@

## Ansible, awscli, other Python tools ##

COPY requirements.txt /tmp/requirements.txt
RUN python3 -m pip -V && \
python3 -m pip install -r /tmp/requirements.txt
#RUN pip3 install --upgrade pip && pip3 --no-cache-dir install -r /tmp/requirements.txt
COPY requirements.txt /tmp/requirements.txt
RUN PIP_BREAK_SYSTEM_PACKAGES=1 python3 -m pip -V && \
PIP_BREAK_SYSTEM_PACKAGES=1 python3 -m pip install --upgrade pip && \
PIP_BREAK_SYSTEM_PACKAGES=1 python3 -m pip install -r /tmp/requirements.txt

## Composer ##
ARG COMPOSER_VERSION 1

ENV COMPOSER_ALLOW_SUPERUSER 1

Check warning on line 132 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.1-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 132 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:7.4-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 132 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.2-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 132 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.0-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 132 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.4-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 132 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.3-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/
ENV COMPOSER_HOME /tmp

Check warning on line 133 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.1-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 133 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:7.4-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 133 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.2-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 133 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.0-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 133 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.4-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 133 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.3-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

COPY build/install-composer.sh /tmp/install-composer.sh
RUN /tmp/install-composer.sh && \
Expand Down Expand Up @@ -197,11 +197,11 @@
# Create SSH directory
# SSH keys for deploys or auth are set in entrypoint.sh

RUN mkdir /root/.ssh && \
RUN mkdir -p /root/.ssh && \
chmod 700 /root/.ssh

# force CI jobs to source root's .bashrc, which will enable NVM
ENV BASH_ENV "/root/.bashrc"

Check warning on line 204 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.1-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 204 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:7.4-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 204 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.2-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 204 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.0-bullseye)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 204 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.4-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

Check warning on line 204 in Dockerfile

View workflow job for this annotation

GitHub Actions / build_push_to_dockerhub (php:8.3-bookworm)

Legacy key/value format with whitespace separator should not be used

LegacyKeyValueFormat: "ENV key=value" should be used instead of legacy "ENV key value" format More info: https://docs.docker.com/go/dockerfile/rule/legacy-key-value-format/

COPY ./entrypoint.sh /entrypoint.sh
RUN chmod +x /entrypoint.sh
Expand Down
8 changes: 7 additions & 1 deletion build/install-node.sh
Original file line number Diff line number Diff line change
Expand Up @@ -29,10 +29,16 @@ npm install -g \
bower \
yarn \
lighthouse@~10.4 \
serverless \
firebase-tools \
cypress@~13.1

# TEMP FIX for issues with installing node 16
# will be addressed in an upcoming version update
if [[ "${NODE_VERSION}" != "16" ]];
then
npm install -g serverless
fi

npm cache clean --force

echo "node ${NODE_VERSION} build completed..."
Expand Down
2 changes: 1 addition & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ yq
python-gitlab
awesome-codename
cryptography
ansible-core==2.17.6
ansible-core==2.15.13
dnspython
Loading