From 510a46dbe7ecb09a36ec3ce679c92cbac1a0a507 Mon Sep 17 00:00:00 2001 From: Ariya Hidayat <ariya@metabase.com> Date: Tue, 27 Sep 2022 14:53:22 -0700 Subject: [PATCH] Remove website update from the release script (#25647) --- bin/release/src/release.clj | 2 - bin/release/src/release/update_website.clj | 103 --------------------- 2 files changed, 105 deletions(-) delete mode 100644 bin/release/src/release/update_website.clj diff --git a/bin/release/src/release.clj b/bin/release/src/release.clj index 076f29c7f8c..4e4d41459cb 100644 --- a/bin/release/src/release.clj +++ b/bin/release/src/release.clj @@ -13,7 +13,6 @@ [heroku :as heroku] [set-build-options :as set-build-options] [uberjar :as uberjar] - [update-website :as update-website] [version-info :as version-info]] [release.common.slack :as slack])) @@ -29,7 +28,6 @@ :publish-draft-release draft-release/create-draft-release! :update-heroku-buildpack heroku/update-heroku-buildpack! :publish-elastic-beanstalk-artifacts eb/publish-elastic-beanstalk-artifacts! - :update-docs update-website/update-website! :update-version-info version-info/update-version-info!)) (defn- do-steps! [steps] diff --git a/bin/release/src/release/update_website.clj b/bin/release/src/release/update_website.clj deleted file mode 100644 index 82e292db0e2..00000000000 --- a/bin/release/src/release/update_website.clj +++ /dev/null @@ -1,103 +0,0 @@ -(ns release.update-website - (:require [clj-http.client :as http] - [clojure.string :as str] - [metabuild-common.core :as u] - [net.cgrand.tagsoup :as tagsoup] - [release.common :as c])) - -(def ^:private website-git-repo - "metabase/metabase.github.io") - -(def ^:private website-branch "master") - -(def ^:private dir "/tmp/metabase.com") - -(defn- update-website!* [] - (let [tag (str \v (c/version))] - (u/delete-file! dir) - (u/step (format "Checkout website git repo %s to %s" website-git-repo dir) - (u/sh "git" "clone" (format "git@github.com:%s.git" website-git-repo) dir) - (u/sh {:dir dir} "git" "checkout" website-branch)) - (u/step "Install npm dependencies" - (u/sh {:dir dir} "npm" "ci")) - (u/step "Fetch release branch docs" - (u/sh {:dir dir} "./script/docs" tag "--latest")) - (u/step "Fetch master docs" - (u/sh {:dir dir} "./script/docs" "master" "--set-version" "master")) - (u/step "Commit updated docs" - (u/sh {:dir dir} "git" "add" ".") - (u/sh* {:dir dir} "git" "commit" "-m" tag)) - (u/step "delete old tags" - (u/sh* {:dir dir} "git" "push" "--delete" "origin" tag) - (u/sh* {:dir dir} "git" "tag" "--delete" "origin" tag)) - (u/step "tag it" - (u/sh {:dir dir} "git" "tag" "-a" tag "-m" tag) - (u/sh {:dir dir} "git" "push" "--follow-tags" "-u" "origin" website-branch)))) - -(defn- parse-html-from-url [url] - (let [{:keys [status ^String body]} (http/get url)] - (assert (= status 200)) - (assert (string? body)) - (with-open [is (java.io.ByteArrayInputStream. (.getBytes body "UTF-8"))] - (second (tagsoup/parser is))))) - -(defn- find-node [node pred] - (if (pred node) - node - (some - (fn [child] - (find-node child pred)) - (when (map? node) - (:content node))))) - -(defn- check-docs-version [] - (u/step "Check docs version on website" - (let [doc (parse-html-from-url "https://www.metabase.com/docs/latest") - node (find-node doc #(and (map? %) - (let [{:keys [tag], {:keys [href]} :attrs} %] - (and (= tag :a) - (= href (format "/docs/v%s/" (c/version)))))))] - (when-not node - (throw (ex-info (format "No link to /docs/v%s/ found" (c/version)) {}))) - (u/announce "Found link to /docs/v%s/" (c/version)) - (u/step "Make sure link text contains '(Latest)'" - (let [content (find-node node (fn [child] - (when (string? child) - (str/includes? child "(Latest)"))))] - (assert content) - (u/announce "Found content %s" (pr-str content))))))) - -(defn- check-jar-version [] - (u/step "Check JAR version on website" - (let [doc (parse-html-from-url "https://metabase.com/start/oss/jar") - node (find-node doc #(and (map? %) - (let [{:keys [tag], {:keys [href]} :attrs} %] - (and (= tag :a) - (= href (c/artifact-download-url "metabase.jar"))))))] - (when-not node - (throw (ex-info (format "No link to %s found" (c/artifact-download-url "metabase.jar")) - {})))))) - -(defn- validate-website [] - (u/step "Validate website updates" - (u/announce "NOTE: skipped for now, since it takes up to 10 minutes for changes to propagate.") - ;; TODO -- maybe just hard-reset the git repo to master and make sure the source files are in the correct place. - #_(check-docs-version) - #_(check-jar-version))) - -(defn update-website! [] - (u/step "Update Metabase.com with latest docs" - (cond - (c/pre-release-version?) - (u/announce "Pre-release version -- not updating Metabase docs") - - (= (c/edition) :ee) - (u/announce "EE build -- not updating Metabase docs") - - (not (c/latest-version?)) - (u/announce "Not the latest version -- not updating Metabase docs") - - :else - (do - (update-website!*) - (validate-website))))) -- GitLab