canvas-lms/Dockerfile.jenkins-cache

163 lines
4.2 KiB
Docker

# syntax = starlord.inscloudgate.net/jenkins/dockerfile:1.0-experimental
FROM starlord.inscloudgate.net/jenkins/busybox AS cache-helper-collect-gems
WORKDIR /tmp/src
RUN --mount=target=/tmp/src \
mkdir -p /tmp/dst && \
cp --parents -rf \
config/canvas_rails_switcher.rb \
Gemfile \
Gemfile.d \
\
/tmp/dst && \
find gems \( \
-name "Gemfile" -o \
-name "*.gemspec" -o \
-name "gem_version.rb" -o \
-name "version.rb" \
\) -exec cp --parents -rf {} /tmp/dst \; && \
find gems/plugins \( \
-name "Gemfile.d" \
\) -exec cp --parents -rf {} /tmp/dst \; && \
find engines \( \
-name "Gemfile" -o \
-name "*.gemspec" -o \
-name "gem_version.rb" -o \
-name "version.rb" \
\) -exec cp --parents -rf {} /tmp/dst \; && \
find vendor -type d \( \
-not -name "qti_migration_tool" \
-maxdepth 1 \
-mindepth 1 \
\) -exec cp --parents -rf {} /tmp/dst \;
FROM starlord.inscloudgate.net/jenkins/busybox AS cache-helper-collect-yarn
WORKDIR /tmp/src
RUN --mount=target=/tmp/src \
mkdir -p /tmp/dst && \
cp --parents -rf \
script/fix_inst_esm.js \
package.json \
yarn.lock \
\
/tmp/dst && \
find \
gems/plugins/* \
ui/engine \
ui/shared/* \
packages/* \
\
-name 'package.json' \
-exec cp --parents {} /tmp/dst \;
FROM starlord.inscloudgate.net/jenkins/busybox AS cache-helper-collect-packages
WORKDIR /tmp/src
RUN --mount=target=/tmp/src \
mkdir -p /tmp/dst && \
cp --parents -rf \
ui/engine \
packages \
\
/tmp/dst
FROM starlord.inscloudgate.net/jenkins/busybox AS cache-helper-collect-webpack
WORKDIR /tmp/src
RUN --mount=target=/tmp/src \
mkdir -p /tmp/dst && \
find gems -type d \
-not -path "gems" \
-not -path "gems/plugins" \
-maxdepth 2 \
-path "gems/*/lib" \
-exec cp -rf --parents {} /tmp/dst \; && \
find gems \( \
-path "*/config/locales" \
\) -exec cp -rf --parents {} /tmp/dst \; && \
find gems/plugins \( \
-path "*/app/coffeescripts" -o \
-path "*/app/jsx" -o \
-path "*/app/stylesheets" -o \
-path "*/app/views/jst" -o \
-path "*/public" -o \
\) -exec cp -rf --parents {} /tmp/dst \; && \
find gems/config_file \
-not -path "gems/config_file" \
-not -path "gems/config_file/spec" \
-not -path "gems/config_file/spec/*" \
-exec cp -rf --parents {} /tmp/dst \; && \
cp --parents -rf \
app/stylesheets \
bin \
config/environments \
config/locales \
lib/canvas/cdn \
lib/rake \
lib/tasks \
public \
ui \
ui-build \
\
config/application.rb \
config/boot.rb \
config/brandable_css.yml \
config/browsers.yml \
config/canvas_rails_switcher.rb \
config/environment.rb \
config/initializers/json.rb \
config/initializers/revved_asset_urls.rb \
db/migrate/*_regenerate_brand_files_based_on_new_defaults_*.rb \
gems/plugins/.i18n* \
lib/brandable_css.rb \
lib/canvas_logger.rb \
lib/logging_filter.rb \
lib/request_cache.rb \
lib/temp_cache.rb \
lib/canvas/cdn.rb \
lib/base/canvas/reloader.rb \
.i18nignore \
.i18nrc \
Rakefile \
gulpfile.js \
webpack.config.js \
\
/tmp/dst && \
find /tmp/dst/ui /tmp/dst/gems/plugins \
-regex ".*__mocks__\|.*__tests__" -prune \
-exec rm -rf {} \;
FROM starlord.inscloudgate.net/jenkins/busybox AS cache-helper-collect-js
WORKDIR /tmp/src
RUN --mount=target=/tmp/src \
mkdir -p /tmp/dst && \
find gems/plugins \( \
-path "*/app/coffeescripts" -o \
-path "*/app/jsx" -o \
-path "*/app/stylesheets" -o \
-path "*/public" -o \
-path "*/spec_canvas/coffeescripts" -o \
\) -exec cp -rf --parents {} /tmp/dst \; && \
cp --parents -rf \
app/stylesheets \
config/brandable_css.yml \
config/browsers.yml \
jest \
packages \
public \
spec/coffeescripts \
spec/javascripts \
spec/selenium/helpers/jquery.simulate.js \
tmp \
ui \
ui-build \
jest.config.js \
karma.conf.js \
package.json \
tsconfig.json \
yarn.lock \
\
/tmp/dst
FROM local/cache-helper-collect-js AS cache-helper-collect-js-graphql
RUN --mount=target=/tmp/src \
cp /tmp/src/schema.graphql /tmp/dst/schema.graphql