prima-twig 0.48.24 → 0.49.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 +44 -4
  3. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 81b1821aa1f510b2c27f9913d2c3ee0a2524aced57aaa791c9db91a8ee69663b
4
- data.tar.gz: 7d8ea04edd342dbfdf7f629f824607e4ad6172bc3f43e03e1d80638138cc1251
3
+ metadata.gz: 689dc7530aa1af3aacea4cdaf6d2dd511cd2045f838bc0502a54684c6192cef5
4
+ data.tar.gz: 581473d8e53c5e2a16a0740fa635015b925168bf97540f2f0cecd82f276be1c2
5
5
  SHA512:
6
- metadata.gz: 9d2d0c88785801240b9ae7e3a6e9025448858fb3d73d559ba3d1ac03510fad257e013b7c1d24d7e6ee87dcf258bdea070502e74d475ffa800f7a8eddafcab602
7
- data.tar.gz: db466ae69f49d8f331d213d01dca497a1b8d1a0299dde02ffdbed3eafcc6e0fb591a453b1c4f76f51286f8c5016144208817568e2de9bc3424d10bc64b89b6be
6
+ metadata.gz: 4f50af1cff4d76e85198976c0ae7710daf4c7b77f62ec910a73a8126557ae81172b7236cb8fe7d4bd5bca836b55afe08483218d79272afa95dd964726623b8c0
7
+ data.tar.gz: 5d0626c48c1e8d1ca07806595e10be80ee8cc032abb167379cd3faa81b3dd7cd3be2e1ce92e5e368264c1693a4b9f2517985dcb7deb5c9a7c426bc932fd3bdba
@@ -53,7 +53,8 @@ class Release
53
53
  'skynet' => {},
54
54
  'roger' => {},
55
55
  'rachele' => {},
56
- 'leftorium' => {}
56
+ 'leftorium' => {},
57
+ 'pyxis-npm' => {}
57
58
  }
58
59
  @base_stack_name_alb = 'ecs-alb-http-public-qa-'
59
60
  @base_stack_name_alb_ws = 'ecs-alb-ws-public-qa-'
@@ -761,7 +762,9 @@ class Release
761
762
  asg_stack_name = "ecs-asg-allinone-qa-#{deploy_id}"
762
763
  create_asg_stack(asg_stack_name, tags) unless stack_exists?(asg_stack_name)
763
764
 
764
- create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name], true) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}.tar.gz")
765
+ deploy_id = calculate_deploy_id
766
+ create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name], deploy_id, true) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}.tar.gz")
767
+ create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name], deploy_id, true) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}.tar.gz")
765
768
 
766
769
  wait_for_stack_ready(stack_name_alb) unless stack_ready?(stack_name_alb)
767
770
  wait_for_stack_ready(stack_name_alb_ws) unless stack_ready?(stack_name_alb_ws)
@@ -933,7 +936,8 @@ class Release
933
936
  ]
934
937
  create_stack(stack_name_db, stack_body, parameters, tags, @cf_role) unless stack_exists?(stack_name_db) # creazione asincrona stack dei db (~4 min)
935
938
 
936
- create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name]) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}.tar.gz")
939
+ create_pyxis_artifact(@projects["pyxis"][:revision], deploy_id)
940
+ create_prima_artifact(@projects["prima"][:revision], @projects["prima"][:name], deploy_id) unless artifact_exists?('prima-artifacts-encrypted', "prima/#{@projects["prima"][:revision]}.tar.gz")
937
941
  # l'artefatto di prima viene creato sempre (puntamenti all'ambiente compilati nel js) e richiede molto più di 4 minuti
938
942
  wait_for_stack_ready(stack_name_db) unless stack_ready?(stack_name_db) # dovrebbe essere istantaneo
939
943
  db_task = ''
@@ -2692,7 +2696,7 @@ class Release
2692
2696
  Dir.chdir '../../'
2693
2697
  end
2694
2698
 
2695
- def create_prima_artifact(revision, branch_name, minimal = false)
2699
+ def create_prima_artifact(revision, branch_name, deploy_id, minimal = false)
2696
2700
  # @projects["prima"][:revision], @projects["prima"][:name], deploy_id, true
2697
2701
  output "Preparo l'artifact prima .zip\n".yellow
2698
2702
 
@@ -2723,6 +2727,7 @@ class Release
2723
2727
  exec_step 'mv docker-compose-ci.yml docker-compose.yml'
2724
2728
  exec_step 'prepare-docker-compose --directory prima'
2725
2729
  exec_step 'sed -i "s/\\/home\\/app/\\/root/g" docker-compose.yml'
2730
+ `sed -i 's/"@prima-assicurazioni/pyxis-npm": ".*",/"@prima-assicurazioni/pyxis-npm": "#{get_pyxis_version(deploy_id)}",/' package.json`
2726
2731
  [
2727
2732
  "bin/qa_build_artifact.sh #{branch_name} #{'update' if @deploy_update}"
2728
2733
  ].each do |cmd|
@@ -2741,6 +2746,41 @@ class Release
2741
2746
  Dir.chdir "../../"
2742
2747
  end
2743
2748
 
2749
+ def create_pyxis_artifact(revision, deploy_id)
2750
+ output "Preparo l'artifact pyxis\n".yellow
2751
+
2752
+ git_checkout_version('pyxis', revision)
2753
+
2754
+ Dir.chdir 'projects/pyxis'
2755
+
2756
+ decrypt_secrets()
2757
+
2758
+ exec_step 'cp docker-compose.yml docker-compose-ci.yml'
2759
+ exec_step 'prepare-docker-compose --directory pyxis && cp docker-compose-qainit.yml docker-compose.yml && mv .fakenpmrc .npmrc'
2760
+ `sed -i '3s/".*/"version": "#{get_pyxis_version(deploy_id)}",/' package.json`
2761
+ [
2762
+ "docker-compose build web",
2763
+ "docker-compose run -w $PWD -u root -e NPM_TOKEN=$NPM_TOKEN --entrypoint /bin/sh web \
2764
+ '-c' 'yarn install && \
2765
+ yarn build:site && \
2766
+ yarn build:css && \
2767
+ npm publish'"
2768
+ ].each do |cmd|
2769
+ execute_command cmd
2770
+ end
2771
+
2772
+ cleanup_containers
2773
+
2774
+ artifact_path = Dir.glob("_build/qa/rel/pyxis/releases/*/pyxis.tar.gz").first
2775
+ upload_artifact(artifact_path, "microservices/pyxis/#{revision}-qa.tar.gz", "#{@s3_bucket}-encrypted")
2776
+
2777
+ Dir.chdir '../../'
2778
+ end
2779
+
2780
+ def get_pyxis_version(deploy_id)
2781
+ "0.0.#{deploy_id.delete '[a-z]'}"
2782
+ end
2783
+
2744
2784
  def cleanup_containers
2745
2785
  `docker-compose kill && docker-compose down -v --remove-orphans`
2746
2786
  `docker rm $(docker ps -q -f status=exited)`
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.48.24
4
+ version: 0.49.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-08-19 00:00:00.000000000 Z
17
+ date: 2019-08-14 00:00:00.000000000 Z
18
18
  dependencies:
19
19
  - !ruby/object:Gem::Dependency
20
20
  name: aws-sdk