diff --git a/README.md b/README.md index 9e40fe39bd0e5f30df48f56d65bb3a9e151d2e5b..f8f38364598c1c59f4553e6fc9791620cc9bcd62 100644 --- a/README.md +++ b/README.md @@ -9,6 +9,16 @@ npm run dev Open [http://localhost:3211](http://localhost:3211) with your browser to see the result. +## Updating the list of environments + +This application uses a generated config to show the available configuration for the environments. +It relies on the environments-recipes repository, and the configuration can be generated like this: + +```bash +RUBYLIB=/path/to/environments-recipes +ruby scripts/gen_available_config.rb +``` + ## Authentication This application leverages OpenConnect through Gitlab's authentication provider to authenticate the user and get a token to perform actions on their behalf. diff --git a/scripts/gen_available_config.rb b/scripts/gen_available_config.rb new file mode 100755 index 0000000000000000000000000000000000000000..890cef6efe46f556c8acf28720dbc159c2363db2 --- /dev/null +++ b/scripts/gen_available_config.rb @@ -0,0 +1,17 @@ +# frozen_string_literal: true + +require 'json' +require 'ci/gitlab/config-env' + +environments = Hash[ENV_CONFIG.map do |os, versions| + versions.keys.map { |version| ["#{os}#{version}", ENV_CONFIG[os][version]] } +end.flatten(1)] + + +config = { + environments: environments, + architectures: ARCHS_ALL, + variants: VARIANTS_ALL, +} + +puts config.to_json diff --git a/src/generated/config.json b/src/generated/config.json index 5dc677405d229daf812b6c64b71aa944a791f860..df103df6917d40c274540d395ba08719068777e2 100644 --- a/src/generated/config.json +++ b/src/generated/config.json @@ -1 +1 @@ -{"environments":{"debian10":{"archs":["x64","arm64","ppc64"],"variants":["min","base","nfs","big"]},"debian11":{"archs":["x64","arm64","ppc64"],"variants":["min","base","nfs","big","std"]},"debian12":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs","big"]},"debiantesting":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"debianl4t1135":{"archs":["arm64"],"variants":["std"]},"ubuntu2004":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"ubuntu2204":{"archs":["x64","arm64"],"variants":["min","nfs"]},"ubuntu2404":{"archs":["x64","arm64"],"variants":["min","nfs"]},"ubuntul4t200435":{"archs":["arm64"],"variants":["big"]},"centosstream8":{"archs":["x64","arm64"],"variants":["min","nfs"]},"centosstream9":{"archs":["x64","arm64"],"variants":["min","nfs"]},"rocky8":{"archs":["x64","arm64"],"variants":["min","nfs"]},"rocky9":{"archs":["x64","arm64"],"variants":["min","nfs"]},"centos7":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"centos8":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"almalinux9":{"archs":["x64","arm64"],"variants":["min","nfs"]}},"architectures":["x64","arm64","ppc64"],"variants":["min","base","nfs","big","std"]} +{"environments":{"debian10":{"archs":["x64","arm64","ppc64"],"variants":["min","base","nfs","big"]},"debian11":{"archs":["x64","arm64","ppc64"],"variants":["min","base","nfs","big","std"]},"debian12":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs","big"]},"debiantesting":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"debianl4t1135":{"archs":["arm64"],"variants":["std"]},"debiangh11":{"archs":["arm64"],"variants":["std"]},"ubuntu2004":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"ubuntu2204":{"archs":["x64","arm64"],"variants":["min","nfs"]},"ubuntu2404":{"archs":["x64","arm64"],"variants":["min","nfs"]},"ubuntul4t200435":{"archs":["arm64"],"variants":["big"]},"centosstream8":{"archs":["x64","arm64"],"variants":["min","nfs"]},"centosstream9":{"archs":["x64","arm64"],"variants":["min","nfs"]},"rocky8":{"archs":["x64","arm64"],"variants":["min","nfs"]},"rocky9":{"archs":["x64","arm64"],"variants":["min","nfs"]},"centos7":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"centos8":{"archs":["x64","arm64","ppc64"],"variants":["min","nfs"]},"almalinux9":{"archs":["x64","arm64"],"variants":["min","nfs"]}},"architectures":["x64","arm64","ppc64"],"variants":["min","base","nfs","big","std"]}