From f127d1c7e1db46c0602511a25f253f0498ddb07a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Joakim=20S=C3=B8rensen?= Date: Fri, 16 Apr 2021 15:12:58 +0200 Subject: [PATCH] Fetch stable version of HAOS on build (#17484) --- .gitignore | 1 + Rakefile | 14 ++++++++++++++ _config.yml | 1 - .../_includes/installation/operating_system.md | 17 +++++++++-------- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/.gitignore b/.gitignore index d13fff8475d..6e659a99404 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ public source/_data/analytics_data.json source/_data/blueprint_exchange_data.json +source/_data/version_data.json source/_stash source/stylesheets/screen.css source/.jekyll-cache/ diff --git a/Rakefile b/Rakefile index 9dba571e0dd..d442846e0e9 100644 --- a/Rakefile +++ b/Rakefile @@ -33,6 +33,8 @@ task :generate do abort("Generating CSS failed") unless success success = system "rake analytics_data" abort("Generating analytics data failed") unless success + success = system "rake version_data" + abort("Generating version data failed") unless success success = system "rake blueprint_exchange_data" abort("Generating blueprint exchange data failed") unless success success = system "jekyll build" @@ -71,6 +73,7 @@ task :preview, :listen do |t, args| puts "Now listening on http://localhost:#{server_port}" system "compass compile --css-dir #{source_dir}/stylesheets" unless File.exist?("#{source_dir}/stylesheets/screen.css") system "rake analytics_data" + system "rake version_data" system "rake blueprint_exchange_data" jekyllPid = Process.spawn({"OCTOPRESS_ENV"=>"preview"}, "jekyll build -t --watch --incremental") compassPid = Process.spawn("compass watch") @@ -189,6 +192,17 @@ task :analytics_data do end end +desc "Download version data from version.home-assistant.io" +task :version_data do + uri = URI('https://version.home-assistant.io/stable.json') + + remote_data = JSON.parse(Net::HTTP.get(uri)) + + File.open("#{source_dir}/_data/version_data.json", "w") do |file| + file.write(JSON.generate(remote_data)) + end +end + desc "Download data from the blueprint exchange @ community.home-assistant.io" task :blueprint_exchange_data do uri = URI('https://community.home-assistant.io/c/blueprints-exchange/53/l/top/all.json') diff --git a/_config.yml b/_config.yml index 58cfccafd12..1d69008c614 100644 --- a/_config.yml +++ b/_config.yml @@ -177,7 +177,6 @@ toc: # Configuration for installation pages installation: versions: - os: "5.13" python: "3.8" types: odroid: diff --git a/source/_includes/installation/operating_system.md b/source/_includes/installation/operating_system.md index 517aca52015..8074cd0c920 100644 --- a/source/_includes/installation/operating_system.md +++ b/source/_includes/installation/operating_system.md @@ -34,7 +34,7 @@ We will need a few things to get started with installing Home Assistant. Links b content: | ```text - {{release_url}}/{{site.installation.versions.os}}/hassos_{{ variant.key }}-{{site.installation.versions.os}}.img.xz + {{release_url}}/{{site.data.version_data.hassos[variant.key]}}/hassos_{{ variant.key }}-{{site.data.version_data.hassos[variant.key]}}.img.xz ``` {% if variant.key == "odroid-n2" %} @@ -48,7 +48,8 @@ We will need a few things to get started with installing Home Assistant. Links b {% else %} ```text -{{release_url}}/{{site.installation.versions.os}}/hassos_{{ site.installation.types[page.installation_type].variants[0].key }}-{{site.installation.versions.os}}.img.xz +{% assign board_key = site.installation.types[page.installation_type].variants[0].key %} +{{release_url}}/{{site.data.version_data.hassos[board_key]}}/hassos_{{ board_key }}-{{site.data.version_data.hassos[board_key]}}.img.xz ``` {% endif %} @@ -187,9 +188,9 @@ With the Home Assistant Operating System installed and accessible you can contin {% include getting-started/next_step.html step="Onboarding" link="/getting-started/onboarding/" %} -[intel-nuc]: {{release_url}}/{{site.installation.versions.os}}/hassos_intel-nuc-{{site.installation.versions.os}}.img.xz -[vmdk]: {{release_url}}/{{site.installation.versions.os}}/hassos_ova-{{site.installation.versions.os}}.vmdk.xz -[vhdx]: {{release_url}}/{{site.installation.versions.os}}/hassos_ova-{{site.installation.versions.os}}.vhdx.xz -[vdi]: {{release_url}}/{{site.installation.versions.os}}/hassos_ova-{{site.installation.versions.os}}.vdi.xz -[qcow2]: {{release_url}}/{{site.installation.versions.os}}/hassos_ova-{{site.installation.versions.os}}.qcow2.xz -[Virtual Appliance]: {{release_url}}/{{site.installation.versions.os}}/hassos_ova-{{site.installation.versions.os}}.ova +[intel-nuc]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/hassos_intel-nuc-{{site.data.version_data.hassos['ova']}}.img.xz +[vmdk]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/hassos_ova-{{site.data.version_data.hassos['ova']}}.vmdk.xz +[vhdx]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/hassos_ova-{{site.data.version_data.hassos['ova']}}.vhdx.xz +[vdi]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/hassos_ova-{{site.data.version_data.hassos['ova']}}.vdi.xz +[qcow2]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/hassos_ova-{{site.data.version_data.hassos['ova']}}.qcow2.xz +[Virtual Appliance]: {{release_url}}/{{site.data.version_data.hassos['ova']}}/hassos_ova-{{site.data.version_data.hassos['ova']}}.ova