File tree Expand file tree Collapse file tree 10 files changed +146
-2
lines changed Expand file tree Collapse file tree 10 files changed +146
-2
lines changed Original file line number Diff line number Diff line change 17
17
- bitwarden-cli
18
18
- bitwarden-secrets-manager
19
19
- mise
20
+ - mise-python
20
21
- vault
21
22
baseImage :
22
23
- debian:latest
62
63
- bitwarden-secrets-manager
63
64
- kamal
64
65
- mise
66
+ - mise-python
65
67
- vault
66
68
steps :
67
69
- uses : actions/checkout@v4
Original file line number Diff line number Diff line change @@ -27,7 +27,7 @@ elif [[ $1 == +([0-9]) ]]; then
27
27
fi
28
28
29
29
FEATURE=" $1 "
30
- BASE_IMAGE=" ${BASE_IMAGE:- $(echo $BASE_IMAGES | jq --raw-output " .$FEATURE // empty" )} "
30
+ BASE_IMAGE=" ${BASE_IMAGE:- $(echo $BASE_IMAGES | jq --raw-output " .\" $FEATURE \" // empty" )} "
31
31
BASE_IMAGE=" ${BASE_IMAGE:- $BASE_IMAGE_DEFAULT } "
32
32
33
33
cd $BASE_PATH
Original file line number Diff line number Diff line change @@ -27,7 +27,7 @@ elif [[ $1 == +([0-9]) ]]; then
27
27
fi
28
28
29
29
FEATURE=" $1 "
30
- BASE_IMAGE=" ${BASE_IMAGE:- $(echo $BASE_IMAGES | jq --raw-output " .$FEATURE // empty" )} "
30
+ BASE_IMAGE=" ${BASE_IMAGE:- $(echo $BASE_IMAGES | jq --raw-output " .\" $FEATURE \" // empty" )} "
31
31
BASE_IMAGE=" ${BASE_IMAGE:- $BASE_IMAGE_DEFAULT } "
32
32
33
33
cd $BASE_PATH
Original file line number Diff line number Diff line change
1
+
2
+ # mise-en-place version manager (mise)
3
+
4
+ Installs mise-en-place version manager.
5
+
6
+ ## Example Usage
7
+
8
+ ``` json
9
+ "features" : {
10
+ "ghcr.io/RouL/devcontainer-features/mise:1" : {}
11
+ }
12
+ ```
13
+
14
+ ## Options
15
+
16
+ | Options Id | Description | Type | Default Value |
17
+ | -----| -----| -----| -----|
18
+ | no_ruby_dependencies | If set to true, the dependencies for building ruby won't be installed. | boolean | false |
19
+ | no_python_dependencies | If set to true, the dependencies for building python won't be installed. | boolean | false |
20
+
21
+
22
+
23
+ ---
24
+
25
+ _ Note: This file was auto-generated from the [ devcontainer-feature.json] ( https://github.com/RouL/devcontainer-features/blob/main/src/mise/devcontainer-feature.json ) . Add additional notes to a ` NOTES.md ` ._
Original file line number Diff line number Diff line change
1
+ {
2
+ "id" : " mise" ,
3
+ "version" : " 1.0.0" ,
4
+ "name" : " mise-en-place version manager" ,
5
+ "description" : " Installs mise-en-place version manager." ,
6
+ "dependsOn" : {
7
+ "ghcr.io/RouL/devcontainer-features/mise:latest" : {}
8
+ },
9
+ "options" : {
10
+ "version" : {
11
+ "description" : " Version to be installed as default." ,
12
+ "type" : " string" ,
13
+ "default" : " latest"
14
+ },
15
+ "extra_versions" : {
16
+ "description" : " Additional versions to be installed. (space separated)" ,
17
+ "type" : " string" ,
18
+ "default" : " "
19
+ }
20
+ }
21
+ }
Original file line number Diff line number Diff line change
1
+ #! /usr/bin/bash
2
+ set -e
3
+
4
+ USERNAME=" ${USERNAME:- " ${_REMOTE_USER:- " automatic" } " } "
5
+ VERSION=" ${VERSION:- latest} "
6
+
7
+ REQUIRED_PACKAGES=" build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev curl git libncursesw5-dev xz-utils tk-dev libxml2-dev libxmlsec1-dev libffi-dev liblzma-dev"
8
+
9
+ apt_get_update ()
10
+ {
11
+ if [ " $( find /var/lib/apt/lists/* | wc -l) " = " 0" ]; then
12
+ echo " Running apt-get update..."
13
+ apt-get update -y
14
+ fi
15
+ }
16
+
17
+ check_packages () {
18
+ if ! dpkg -s " $@ " > /dev/null 2>&1 ; then
19
+ apt_get_update
20
+ apt-get -y install --no-install-recommends " $@ "
21
+ fi
22
+ }
23
+
24
+ export DEBIAN_FRONTEND=noninteractive
25
+
26
+ check_packages $REQUIRED_PACKAGES
27
+
28
+ install () {
29
+ su ${USERNAME} -c " mise use --global python@${VERSION} "
30
+ }
31
+
32
+ echo " (*) Installing Python (${VERSION} ) via mise as default..."
33
+
34
+ install
35
+
36
+ for extraVersion in $EXTRA_VERSIONS
37
+ do
38
+ echo " (*) Installung Python (${extraVersion} ) via mise"
39
+ su ${USERNAME} -c " mise install python@${VERSION} "
40
+ done
41
+
42
+ # Clean up
43
+ rm -rf /var/lib/apt/lists/*
44
+
45
+ echo " Done!"
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+ set -e
3
+
4
+ source dev-container-features-test-lib
5
+
6
+ check " check default python == 3.12" bash -c " python --version | grep -E '^Python 3\\ .12\\ .'"
7
+
8
+ reportResults
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+ set -e
3
+
4
+ source dev-container-features-test-lib
5
+
6
+ check " check default python == 3.13" bash -c " python --version | grep -E '^Python 3\\ .13\\ .'"
7
+ check " check python@3.12" bash -c " mise exec python@3.12 -- python --version | grep -E '^Python 3\\ .12\\ .'"
8
+ check " check python@3.11" bash -c " mise exec python@3.11 -- python --version | grep -E '^Python 3\\ .11\\ .'"
9
+
10
+ reportResults
Original file line number Diff line number Diff line change
1
+ {
2
+ "python3.12" : {
3
+ "image" : " mcr.microsoft.com/devcontainers/base:ubuntu" ,
4
+ "features" : {
5
+ "mise-python" : {
6
+ "version" : " 3.12"
7
+ }
8
+ }
9
+ },
10
+ "python3.13_python3.12_python3.11" : {
11
+ "image" : " mcr.microsoft.com/devcontainers/base:ubuntu" ,
12
+ "features" : {
13
+ "mise-python" : {
14
+ "version" : " 3.13" ,
15
+ "extra_versions" : " 3.12 3.11"
16
+ }
17
+ }
18
+ }
19
+ }
Original file line number Diff line number Diff line change
1
+ #! /bin/bash
2
+ set -e
3
+
4
+ sudo apt-get update -y > /dev/null
5
+ sudo apt-get install -y curl jq ca-certificates > /dev/null
6
+
7
+ CURRENT_VERSION=" $( curl -L --no-progress-meter https://api.github.com/repos/jdx/mise/releases/latest | jq --raw-output ' .tag_name' ) "
8
+ CURRENT_VERSION=" ${CURRENT_VERSION# v} "
9
+
10
+ source dev-container-features-test-lib
11
+
12
+ check " check default python" bash -c " python --version | grep -E '^Python '"
13
+
14
+ reportResults
You can’t perform that action at this time.
0 commit comments