# syntax = starlord.inscloudgate.net/jenkins/dockerfile:1.5.2 FROM starlord.inscloudgate.net/jenkins/core:focal SHELL ["/usr/bin/bash", "-c"] WORKDIR /tmp/src RUN --mount=target=/tmp/src \ mkdir -p /tmp/dst && \ set -o errexit -o errtrace -o nounset -o pipefail && \ shopt -s globstar && \ tar --sort=name --mtime='1970-01-01' --owner=0 --group=0 --numeric-owner --mode='a+rwX' -cf - \ config/canvas_rails_switcher.rb \ Gemfile \ Gemfile*.lock \ Gemfile.d \ gems/**/Gemfile \ gems/**/Gemfile.lock \ gems/**/*.gemspec \ gems/**/gem_version.rb \ gems/**/version.rb \ gems/plugins/**/Gemfile.d \ vendor/gems/bundler-multilock \ \ | tee /tmp/dst/ruby-runner.tar | md5sum > /tmp/dst/ruby-runner.tar.md5 && \ \ tar --sort=name --mtime='1970-01-01' --owner=0 --group=0 --numeric-owner --mode='a+rwX' -cf - \ package.json \ yarn.lock \ gems/plugins/**/package.json \ ui/engine/**/package.json \ ui/shared/**/package.json \ packages/**/package.json \ \ | tee /tmp/dst/yarn-runner.tar | md5sum > /tmp/dst/yarn-runner.tar.md5 && \ \ tar --sort=name --mtime='1970-01-01' --owner=0 --group=0 --numeric-owner --mode='a+rwX' -cf - \ --exclude='**/__mocks__' \ --exclude='**/__tests__' \ --exclude='**/*.test.js' \ ui/engine \ packages \ \ | tee /tmp/dst/webpack-builder.tar | md5sum > /tmp/dst/webpack-builder.tar.md5 && \ \ tar --sort=name --mtime='1970-01-01' --owner=0 --group=0 --numeric-owner --mode='a+rwX' -cf - \ bin \ config/environments \ gems/{autoextend,canvas_color,canvas_text_helper,config_file,i18n_extraction,i18n_tasks,utf8_cleaner}/lib \ lib/canvas/cdn \ lib/rake \ lib/tasks \ 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/canvas/cdn.rb \ lib/base/canvas/reloader.rb \ .i18nignore \ .i18nrc \ Rakefile \ gulpfile.js \ webpack.config.js \ \ | tee /tmp/dst/webpack-runner-dependencies.tar | md5sum > /tmp/dst/webpack-runner-dependencies.tar.md5 && \ \ tar --sort=name --mtime='1970-01-01' --owner=0 --group=0 --numeric-owner --mode='a+rwX' -cf - \ --exclude='**/__mocks__' \ --exclude='**/__tests__' \ app/stylesheets \ config/locales \ gems/**/config/locales \ gems/plugins/**/app/coffeescripts \ gems/plugins/**/app/jsx \ gems/plugins/**/app/stylesheets \ gems/plugins/**/app/views/jst \ gems/plugins/**/public \ public \ ui \ \ | tee /tmp/dst/webpack-runner.tar | md5sum > /tmp/dst/webpack-runner.tar.md5 && \ \ tar --sort=name --mtime='1970-01-01' --owner=0 --group=0 --numeric-owner --mode='a+rwX' -cf - \ --exclude='vendor/qti_migration_tool' \ vendor \ \ | tee /tmp/dst/webpack-runner-vendor.tar | md5sum > /tmp/dst/webpack-runner-vendor.tar.md5 && \ \ { \ if [ -d 'spec' ]; then \ tar --sort=name --mtime='1970-01-01' --owner=0 --group=0 --numeric-owner --mode='a+rwX' -cf - \ app/stylesheets \ config/brandable_css.yml \ config/browsers.yml \ gems/plugins/**/app/coffeescripts \ gems/plugins/**/app/jsx \ gems/plugins/**/app/stylesheets \ gems/plugins/**/public \ gems/plugins/**/spec_canvas/coffeescripts \ 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 \ \ | tee /tmp/dst/js.tar | md5sum > /tmp/dst/js.tar.md5; \ fi \ } && \ touch /tmp/dst/environment.sh && \ echo "RUBY_RUNNER_MD5=$(cat /tmp/dst/ruby-runner.tar.md5 | cut -d' ' -f1)" >> /tmp/dst/environment.sh && \ echo "YARN_RUNNER_MD5=$(cat /tmp/dst/yarn-runner.tar.md5 | cut -d' ' -f1)" >> /tmp/dst/environment.sh && \ echo "WEBPACK_BUILDER_MD5=$(cat /tmp/dst/webpack-builder.tar.md5 | cut -d' ' -f1)" >> /tmp/dst/environment.sh && \ echo "WEBPACK_RUNNER_MD5=$(cat /tmp/dst/webpack-runner.tar.md5 | cut -d' ' -f1)" >> /tmp/dst/environment.sh && \ echo "WEBPACK_RUNNER_DEPENDENCIES_MD5=$(cat /tmp/dst/webpack-runner-dependencies.tar.md5 | cut -d' ' -f1)" >> /tmp/dst/environment.sh && \ echo "WEBPACK_RUNNER_VENDOR_MD5=$(cat /tmp/dst/webpack-runner-vendor.tar.md5 | cut -d' ' -f1)" >> /tmp/dst/environment.sh