prima-twig 0.49.35 → 0.50.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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