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.
- checksums.yaml +4 -4
- data/bin/twig-feature +31 -91
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 0a4e1d0e3e7de702f37f27e80ad1bb431edd06a14e8f1b441a1fb2fec992d58a
|
|
4
|
+
data.tar.gz: 2f73027a52ac7f0e1197f958bf07751d48cfe038c4494e8ed89e24b24fcf0d20
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
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
|
|
16
|
+
def initialize
|
|
17
17
|
@prima = Prima.new
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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[
|
|
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/
|
|
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: "
|
|
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 = '
|
|
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 = '
|
|
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=
|
|
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
|
|
2483
|
-
upload_artifact(artifact_path, "microservices/rogoreport/
|
|
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,
|
|
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
|
-
|
|
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.
|
|
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-
|
|
17
|
+
date: 2019-08-19 00:00:00.000000000 Z
|
|
18
18
|
dependencies:
|
|
19
19
|
- !ruby/object:Gem::Dependency
|
|
20
20
|
name: aws-sdk
|