ci: copy theme assets from Docker container
This commit is contained in:
parent
c898f4da4f
commit
8953de7dbd
|
@ -50,7 +50,11 @@ services:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
|
|
||||||
node:
|
node:
|
||||||
image: node:14-alpine
|
build:
|
||||||
|
context: .
|
||||||
|
dockerfile: tools/docker/Dockerfile
|
||||||
|
target: assets
|
||||||
|
image: ghcr.io/opdavies/oliverdavies-uk-assets:node-14
|
||||||
working_dir: /node
|
working_dir: /node
|
||||||
entrypoint: sh
|
entrypoint: sh
|
||||||
volumes:
|
volumes:
|
||||||
|
|
13
run
13
run
|
@ -7,6 +7,19 @@ if [[ ! -t 1 ]]; then
|
||||||
TTY="-T"
|
TTY="-T"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
function task:build-and-push-images {
|
||||||
|
export DOCKER_BUILDKIT=1
|
||||||
|
|
||||||
|
docker-compose build assets
|
||||||
|
docker-compose push assets
|
||||||
|
}
|
||||||
|
|
||||||
|
function task:copy-theme-assets {
|
||||||
|
docker container run --entrypoint sh --name oliverdavies-uk-assets oliverdavies-uk-assets
|
||||||
|
docker cp oliverdavies-uk-assets:/node/build web/themes/custom/opdavies
|
||||||
|
docker container rm oliverdavies-uk-assets
|
||||||
|
}
|
||||||
|
|
||||||
function task:bash {
|
function task:bash {
|
||||||
task:exec bash "${@}"
|
task:exec bash "${@}"
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
---
|
---
|
||||||
|
- include: ../includes/build-theme-assets.yml
|
||||||
|
|
||||||
- name: Install Composer dependencies
|
- name: Install Composer dependencies
|
||||||
composer:
|
composer:
|
||||||
command: install
|
command: install
|
||||||
|
@ -34,5 +36,3 @@
|
||||||
chdir={{ release_web_path }}
|
chdir={{ release_web_path }}
|
||||||
register: config_import_result
|
register: config_import_result
|
||||||
changed_when: "'There are no changes to import' not in config_import_result.stderr"
|
changed_when: "'There are no changes to import' not in config_import_result.stderr"
|
||||||
|
|
||||||
- include: ../includes/build-theme-assets.yml
|
|
||||||
|
|
|
@ -1,19 +1,8 @@
|
||||||
---
|
---
|
||||||
- name: Install theme dependencies
|
- name: Copy theme dependencies from the Docker container.
|
||||||
command: >
|
command: |
|
||||||
npm ci
|
pwd
|
||||||
chdir={{ release_theme_path }}
|
ls
|
||||||
creates={{ release_theme_path }}/node_modules
|
docker-compose pull
|
||||||
|
./run copy-theme-assets
|
||||||
- name: Generate front-end assets
|
creates={{ release_theme_path }}/build
|
||||||
command: >
|
|
||||||
npm run production
|
|
||||||
chdir={{ release_theme_path }}
|
|
||||||
creates={{ release_theme_path }}/dist
|
|
||||||
|
|
||||||
- name: Remove files that are no longer needed
|
|
||||||
file:
|
|
||||||
path: "{{ release_theme_path }}/{{ item }}"
|
|
||||||
state: absent
|
|
||||||
with_items:
|
|
||||||
- node_modules
|
|
||||||
|
|
|
@ -55,3 +55,23 @@ COPY composer.json composer.lock /app/
|
||||||
COPY assets /app/assets
|
COPY assets /app/assets
|
||||||
COPY tools/patches /app/tools/patches
|
COPY tools/patches /app/tools/patches
|
||||||
RUN composer install
|
RUN composer install
|
||||||
|
|
||||||
|
###
|
||||||
|
|
||||||
|
FROM node:14-alpine AS assets
|
||||||
|
|
||||||
|
WORKDIR /node
|
||||||
|
|
||||||
|
COPY web/themes/custom/opdavies/package*.json ./
|
||||||
|
|
||||||
|
RUN npm install
|
||||||
|
|
||||||
|
COPY web/themes/custom/opdavies/postcss.config.js .
|
||||||
|
COPY web/themes/custom/opdavies/webpack.config.js .
|
||||||
|
COPY web/themes/custom/opdavies/tailwind.config.js .
|
||||||
|
COPY web/themes/custom/opdavies/tailwindcss tailwindcss
|
||||||
|
COPY web/themes/custom/opdavies/assets assets
|
||||||
|
COPY web/themes/custom/opdavies/templates templates
|
||||||
|
|
||||||
|
RUN npm run prod \
|
||||||
|
&& rm -fr node_modules
|
||||||
|
|
Loading…
Reference in a new issue