prima-twig 0.49.35 → 0.50.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/bin/twig-feature +31 -91
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f85699f5d5a195b45cc290ccf87f762f15e09e4ee57c61e4d332e4587f67a276
4
- data.tar.gz: 0a77ba4933b6f2990b9f90150c12bbb56d88a803c928ee948d2e08889e8e8910
3
+ metadata.gz: 0a4e1d0e3e7de702f37f27e80ad1bb431edd06a14e8f1b441a1fb2fec992d58a
4
+ data.tar.gz: 2f73027a52ac7f0e1197f958bf07751d48cfe038c4494e8ed89e24b24fcf0d20
5
5
  SHA512:
6
- metadata.gz: f9e09d9d7ffea5db307dbb3a2e58d06690e6e03fe6c0dbc03ccbcfd536b4646937cd6f300558417dff75ef57eba14fa8742046f8e54f22e21e89edab85fa745b
7
- data.tar.gz: 681ede79d8f40480048bc33c2e2d6d688e88686248aabf72538affa3f82afb4df4e7d3a38c31880add6b3d80a93710aa12e466af645f85333f08ec7d77537418
6
+ metadata.gz: cec8c66e49808f00d8bea459f238e984eaf155720ef35b18cae4c82e9c2ded0fdfceb4cf598a70ec217db2714529dfa802dcda86a9e4203483ba705a8ec2c955
7
+ data.tar.gz: 27f480ddc81500ba59148049c9ba994d87be8551fa0e0d13b71d985f3716466ff167569a24dc9de0458c3d5fb78c0479254ac78c2befa3c0d33a19b8591b99fe
data/bin/twig-feature CHANGED
@@ -13,14 +13,12 @@ class Release
13
13
  include Command
14
14
  include PrimaAwsClient
15
15
 
16
- def initialize(update_gem=true)
16
+ def initialize
17
17
  @prima = Prima.new
18
- if update_gem
19
- output 'Controllo se ci sono aggiornamenti da fare (potrebbe richiedere qualche minuto)'
20
- unless `gem update prima-twig`=="Updating installed gems\nNothing to update\n"
21
- output 'Gemma prima-twig aggiornata'
22
- exec "twig feature #{ARGV.join ' '}"
23
- end
18
+ output 'Controllo se ci sono aggiornamenti da fare (potrebbe richiedere qualche minuto)'
19
+ unless `gem update prima-twig`=="Updating installed gems\nNothing to update\n"
20
+ output 'Gemma prima-twig aggiornata'
21
+ exec "twig feature #{ARGV.join ' '}"
24
22
  end
25
23
  @cf = Aws::CloudFormation::Client.new
26
24
  @alb = Aws::ElasticLoadBalancingV2::Client.new
@@ -55,8 +53,7 @@ class Release
55
53
  'skynet' => {},
56
54
  'roger' => {},
57
55
  'rachele' => {},
58
- 'leftorium' => {},
59
- 'pyxis-npm' => {}
56
+ 'leftorium' => {}
60
57
  }
61
58
  @base_stack_name_alb = 'ecs-alb-http-public-qa-'
62
59
  @base_stack_name_alb_ws = 'ecs-alb-ws-public-qa-'
@@ -764,9 +761,7 @@ class Release
764
761
  asg_stack_name = "ecs-asg-allinone-qa-#{deploy_id}"
765
762
  create_asg_stack(asg_stack_name, tags) unless stack_exists?(asg_stack_name)
766
763
 
767
- deploy_id = calculate_deploy_id
768
- create_pyxis_artifact(@projects["pyxis-npm"][:revision], deploy_id)
769
- create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name], deploy_id, true) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}.tar.gz")
764
+ create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name], true) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}.tar.gz")
770
765
 
771
766
  wait_for_stack_ready(stack_name_alb) unless stack_ready?(stack_name_alb)
772
767
  wait_for_stack_ready(stack_name_alb_ws) unless stack_ready?(stack_name_alb_ws)
@@ -938,9 +933,7 @@ class Release
938
933
  ]
939
934
  create_stack(stack_name_db, stack_body, parameters, tags, @cf_role) unless stack_exists?(stack_name_db) # creazione asincrona stack dei db (~4 min)
940
935
 
941
- output "check pyxis \n".yellow
942
- create_pyxis_artifact(@projects["pyxis-npm"][:revision], deploy_id)# deve essere creato prima di quello di prima, per avere la versione
943
- create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name], deploy_id) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}.tar.gz")
936
+ create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name]) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}.tar.gz")
944
937
  # l'artefatto di prima viene creato sempre (puntamenti all'ambiente compilati nel js) e richiede molto più di 4 minuti
945
938
  wait_for_stack_ready(stack_name_db) unless stack_ready?(stack_name_db) # dovrebbe essere istantaneo
946
939
  db_task = ''
@@ -952,10 +945,10 @@ class Release
952
945
  create_ermes_artifact(@projects["ermes"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/ermes/#{@projects["ermes"][:revision]}-qa.tar.gz")
953
946
  create_bburago_artifact(@projects["bburago"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/bburago/#{@projects["bburago"][:revision]}-qa.tar.gz")
954
947
  create_hal9000_artifact(@projects["hal9000"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/hal9000/#{@projects["hal9000"][:revision]}-qa.tar.gz")
955
- create_rachele_artifact(@projects["rachele"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/rachele/#{@projects["rachele"][:revision]}-qa.tar.gz")
948
+ create_rachele_artifact(@projects['rachele'][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/crash/#{@projects['rachele'][:revision]}-qa.tar.gz")
956
949
  create_fidaty_artifact(@projects["fidaty"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/fidaty/#{@projects["fidaty"][:revision]}-qa.tar.gz")
957
950
  create_peano_artifact(@projects["peano"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/peano/#{@projects["peano"][:revision]}-qa.tar.gz")
958
- create_rogoreport_artifact(@projects["rogoreport"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/rogoreport/rogoreport-#{@projects["rogoreport"][:revision]}-qa.tar.gz")
951
+ create_rogoreport_artifact(@projects["rogoreport"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/rogoreport/rogoreport_qa-#{@projects["rogoreport"][:revision]}-qa.tar.gz")
959
952
  create_assange_artifact(@projects["assange"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/assange/#{@projects["assange"][:revision]}-qa.tar.gz")
960
953
  create_borat_artifact(@projects["borat"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/borat/#{@projects["borat"][:revision]}-qa.tar.gz")
961
954
  create_activia_artifact(@projects["activia"][:revision]) unless artifact_exists?('prima-artifacts-encrypted', "microservices/activia/#{@projects["activia"][:revision]}-qa.tar.gz")
@@ -1331,7 +1324,7 @@ class Release
1331
1324
  },
1332
1325
  {
1333
1326
  parameter_key: "ReleaseName",
1334
- parameter_value: "rogoreport"
1327
+ parameter_value: "rogoreport_qa"
1335
1328
  },
1336
1329
  {
1337
1330
  parameter_key: "ECSClusterName",
@@ -1986,7 +1979,7 @@ class Release
1986
1979
  when stack_name.include?('rogoreport')
1987
1980
  logical_resource_id = 'ECSServiceRogoreport'
1988
1981
  when stack_name.include?('assange')
1989
- logical_resource_id = 'ECSServiceAssangeQA'
1982
+ logical_resource_id = 'ECSServiceAssange'
1990
1983
  when stack_name.include?('borat')
1991
1984
  logical_resource_id = 'ECSServiceBorat'
1992
1985
  when stack_name.include?('leftorium')
@@ -1994,7 +1987,7 @@ class Release
1994
1987
  when stack_name.include?('rachele')
1995
1988
  logical_resource_id = 'ECSServiceRacheleQA'
1996
1989
  when stack_name.include?('crash')
1997
- logical_resource_id = 'ECSServiceCrashQA'
1990
+ logical_resource_id = 'ECSServiceCrash'
1998
1991
  else
1999
1992
  raise "Service name non gestito per lo stack #{stack_name}"
2000
1993
  end
@@ -2155,22 +2148,6 @@ class Release
2155
2148
  Dir.chdir '../../'
2156
2149
  end
2157
2150
 
2158
- def deploy_pyxis?
2159
- output "deploy_pyxis: #{@deploy_pyxis}".yellow
2160
- if defined? @deploy_pyxis
2161
- @deploy_pyxis
2162
- else
2163
- output `git log -p -1 --unified=0 | grep pyxis-npm:`.yellow
2164
- pyxis_updated = `git log -p -1 --unified=0 | grep pyxis-npm:`.length > 0
2165
- output "pyxis empty: #{!@projects['pyxis-npm'].empty?} pyxis name: #{@projects['pyxis-npm'][:name] != 'master'} pyxis updated: #{pyxis_updated}".yellow
2166
- update_pyxis = !@projects['pyxis-npm'].empty? && @projects['pyxis-npm'][:name] != 'master' && pyxis_updated
2167
- output "update_pyxis: #{@update_pyxis}".yellow
2168
- @deploy_pyxis = update_pyxis
2169
- output "deploy_pyxis: #{@deploy_pyxis}".yellow
2170
- return update_pyxis
2171
- end
2172
- end
2173
-
2174
2151
  def deploy_crash?
2175
2152
  crash_present = !@projects['crash'].empty? && @projects['crash'][:name] != 'master' && !@projects['crash'][:default_branch]
2176
2153
  leftorium_present = !@projects['leftorium'].empty? && @projects['leftorium'][:name] != 'master' && !@projects['leftorium'][:default_branch]
@@ -2459,7 +2436,7 @@ class Release
2459
2436
  '-c' 'mix local.hex --force && mix hex.info && \
2460
2437
  mix deps.get && mix compile && mix deps.compile && \
2461
2438
  rm -rf _build/qa/rel/ && \
2462
- mix release --name=rogoreport --env=qa'"
2439
+ mix release --name=rogoreport_qa --env=qa'"
2463
2440
  ].each do |cmd|
2464
2441
  execute_command cmd
2465
2442
  end
@@ -2473,14 +2450,14 @@ class Release
2473
2450
  mix local.hex --force && mix hex.info && \
2474
2451
  mix deps.get && mix compile && mix deps.compile && \
2475
2452
  rm -rf _build/qa/rel/ && \
2476
- mix release --env=qa'"
2453
+ mix release --name=rogoreport_qa --env=qa'"
2477
2454
  ].each do |cmd|
2478
2455
  execute_command cmd
2479
2456
  end
2480
2457
  end
2481
2458
 
2482
- artifact_path = Dir.glob("_build/qa/rel/rogoreport/releases/*/rogoreport.tar.gz").first
2483
- upload_artifact(artifact_path, "microservices/rogoreport/rogoreport-#{revision}-qa.tar.gz", "#{@s3_bucket}-encrypted")
2459
+ artifact_path = Dir.glob("_build/qa/rel/rogoreport*/releases/*/rogoreport*.tar.gz").first
2460
+ upload_artifact(artifact_path, "microservices/rogoreport/rogoreport_qa-#{revision}-qa.tar.gz", "#{@s3_bucket}-encrypted")
2484
2461
 
2485
2462
  Dir.chdir '../../'
2486
2463
  end
@@ -2715,7 +2692,8 @@ class Release
2715
2692
  Dir.chdir '../../'
2716
2693
  end
2717
2694
 
2718
- def create_prima_artifact(revision, branch_name, deploy_id, minimal = false)
2695
+ def create_prima_artifact(revision, branch_name, minimal = false)
2696
+ # @projects["prima"][:revision], @projects["prima"][:name], deploy_id, true
2719
2697
  output "Preparo l'artifact prima .zip\n".yellow
2720
2698
 
2721
2699
  git_checkout_version('prima', revision)
@@ -2730,11 +2708,21 @@ class Release
2730
2708
  end
2731
2709
  end
2732
2710
 
2711
+ # backoffice_qa_host = get_route53_hostname("ecs-task-borat-qa-notneeded")
2712
+ # # backoffice-staging.prima.it
2713
+ # web_qa_host = get_route53_hostname("ecs-task-web-qa-notneeded")
2714
+ # # staging.prima.it
2715
+ # assange_qa_host = get_route53_hostname("ecs-task-assange-qa-notneeded")
2716
+ # # assange-staging.prima.it
2717
+ # if minimal
2718
+ # backoffice_qa_host = 'backoffice-staging.prima.it'
2719
+ # assange_qa_host = 'assange-staging.prima.it'
2720
+ # end
2721
+
2733
2722
  if @qainit
2734
2723
  exec_step 'mv docker-compose-ci.yml docker-compose.yml'
2735
2724
  exec_step 'prepare-docker-compose --directory prima'
2736
2725
  exec_step 'sed -i "s/\\/home\\/app/\\/root/g" docker-compose.yml'
2737
- `sed -i 's/"@prima-assicurazioni/pyxis-npm": ".*",/"@prima-assicurazioni/pyxis-npm": "#{@pyxis_version}",/' package.json` if deploy_pyxis?
2738
2726
  [
2739
2727
  "bin/qa_build_artifact.sh #{branch_name} #{'update' if @deploy_update}"
2740
2728
  ].each do |cmd|
@@ -2753,47 +2741,6 @@ class Release
2753
2741
  Dir.chdir "../../"
2754
2742
  end
2755
2743
 
2756
- def create_pyxis_artifact(revision, deploy_id)
2757
- if (deploy_pyxis?)
2758
- output "Preparo l'artifact pyxis\n".yellow
2759
-
2760
- git_checkout_version('pyxis-npm', revision)
2761
-
2762
- Dir.chdir 'projects/pyxis-npm'
2763
-
2764
- decrypt_secrets()
2765
-
2766
- exec_step 'mv .fakenpmrc .npmrc'
2767
- exec_step 'cp docker-compose.yml docker-compose-ci.yml'
2768
- exec_step 'prepare-docker-compose --directory pyxis-npm && cp docker-compose-qainit.yml docker-compose.yml'
2769
- exec_step 'docker-compose build web'
2770
-
2771
- exec_step "docker-compose run -w $PWD -u root -e NPM_TOKEN=$NPM_TOKEN --entrypoint /bin/sh web \
2772
- '-c' 'npm view prima-assicurazioni/pyxis-npm versions --json > versions.json'" # posso recuperare le versioni pubblicate solo da dentro al container, scrivo su un file che leggo subito dopo
2773
- published_versions = `cat versions.json`
2774
- qa_versions = JSON.parse(published_versions).select{ |version| version.include? get_pyxis_version(deploy_id) }
2775
-
2776
- @pyxis_version = "0.#{get_pyxis_version(deploy_id)}.#{qa_versions.size}"
2777
-
2778
- `sed -i '3s/".*/"version": "#{@pyxis_version}",/' package.json`
2779
- [
2780
- "docker-compose run -w $PWD -u root -e NPM_TOKEN=$NPM_TOKEN --entrypoint /bin/sh web \
2781
- '-c' 'yarn install && \
2782
- yarn build:prod && \
2783
- npm publish'"
2784
- ].each do |cmd|
2785
- execute_command cmd
2786
- end
2787
-
2788
- cleanup_containers
2789
- Dir.chdir '../../'
2790
- end
2791
- end
2792
-
2793
- def get_pyxis_version(deploy_id)
2794
- (deploy_id.delete '[a-z0]')[0..9]
2795
- end
2796
-
2797
2744
  def cleanup_containers
2798
2745
  `docker-compose kill && docker-compose down -v --remove-orphans`
2799
2746
  `docker rm $(docker ps -q -f status=exited)`
@@ -3157,11 +3104,4 @@ if args.include?('--help')
3157
3104
  exit
3158
3105
  end
3159
3106
 
3160
- gem_update = true
3161
- if args.include?('no-gem-update')
3162
- gem_update = false
3163
- end
3164
-
3165
- args.delete('no-gem-update')
3166
-
3167
- Release.new(gem_update).execute!(args)
3107
+ Release.new.execute!(args)
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prima-twig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.49.35
4
+ version: 0.50.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matteo Giachino
@@ -14,7 +14,7 @@ authors:
14
14
  autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
- date: 2019-09-05 00:00:00.000000000 Z
17
+ date: 2019-08-19 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: aws-sdk