mirror of
https://gerrit.wikimedia.org/r/mediawiki/extensions/VisualEditor
synced 2024-12-18 01:00:45 +00:00
2aadc18105
We have a Jenkins job to take screenshots of VisualEditor and upload the result to commons.wikimedia.org. That roughly does: npm install node_modules/.bin/grunt screenshots-all bundle install bundle exec upload However on CI, the Docker container only accepts 'npm run-script XXX' or 'bundle exec rake YYY'. Add a npm script 'screenshots-all' invoking 'grunt screenshots-all'. Add a rake task 'commons_upload'. I have added a basic check to make sure environment variables are properly set before invoking the upload script. Thus on CI the usage will become: npm install npm run-script screenshots-all bundle install bundle exec rake commons_upload Which match the CI convention. Bug: T189122 Change-Id: I221ed8d6178dd036eac287f0f811834a6d4ffd22
29 lines
803 B
Ruby
29 lines
803 B
Ruby
require 'bundler/setup'
|
|
|
|
require 'rubocop/rake_task'
|
|
RuboCop::RakeTask.new(:rubocop) do |task|
|
|
# If you use mediawiki-vagrant, rubocop will by default use its .rubocop.yml.
|
|
|
|
# This line makes it explicit that you want .rubocop.yml from the directory
|
|
# where `bundle exec rake` is executed:
|
|
task.options = ['-c', '.rubocop.yml']
|
|
end
|
|
|
|
task :default => [:test]
|
|
|
|
desc 'Run all build/tests commands (CI entry point)'
|
|
task :test => [:rubocop]
|
|
|
|
desc 'Upload screenshots to commons.wikimedia.org'
|
|
task :commons_upload do
|
|
require 'commons_upload'
|
|
required_envs = %w[
|
|
MEDIAWIKI_API_UPLOAD_URL
|
|
MEDIAWIKI_USER
|
|
MEDIAWIKI_PASSWORD
|
|
]
|
|
has_all_envs = required_envs.all? { |env| ENV.key?(env) }
|
|
fail "Requires env variables:\n#{required_envs}" unless has_all_envs
|
|
CommonsUpload.images
|
|
end
|