-
Notifications
You must be signed in to change notification settings - Fork 9
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #62 from T-Systems-MMS/tests
Add Tests and remove error ignores
- Loading branch information
Showing
12 changed files
with
80 additions
and
58 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -45,24 +45,39 @@ jobs: | |
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }} | ||
if: github.ref == 'refs/heads/master' | ||
|
||
- name: build Dockerfile ${{ matrix.example }} | ||
- name: Render Dockerfile ${{ matrix.example }} | ||
run: cp examples/${{ matrix.example }}_build.yaml ./build.yaml && sh render.sh . | ||
|
||
- name: Build and push dmc:${{ matrix.example }} | ||
- name: Build the container dmc:${{ matrix.example }} | ||
uses: docker/[email protected] | ||
with: | ||
context: . | ||
push: false | ||
tags: dmc:${{ matrix.example }} | ||
|
||
- name: Test $IMAGE_NAME:${{ matrix.example }} | ||
- name: Test the container $IMAGE_NAME:${{ matrix.example }} | ||
run: | | ||
docker run --rm dmc:${{ matrix.example }} | ||
if: matrix.example == 'min' | ||
|
||
- name: Test the container $IMAGE_NAME:${{ matrix.example }} | ||
run: | | ||
docker run --rm dmc:${{ matrix.example }} ansible --version | ||
docker run --rm dmc:${{ matrix.example }} kubectl version --client=true -o yaml | ||
docker run --rm dmc:${{ matrix.example }} helm version | ||
docker run --rm dmc:${{ matrix.example }} terraform version | ||
docker run --rm dmc:${{ matrix.example }} nomad version | ||
docker run --rm dmc:${{ matrix.example }} consul version | ||
docker run --rm dmc:${{ matrix.example }} docker --version | ||
docker run --rm dmc:${{ matrix.example }} az version | ||
docker run --rm dmc:${{ matrix.example }} aws --version | ||
if: matrix.example == 'full' | ||
|
||
- name: Build and push dmc:${{ matrix.example }} | ||
uses: docker/[email protected] | ||
with: | ||
context: . | ||
push: true | ||
tags: ${{ matrix.example }} | ||
tags: ghcr.io/t-systems-mms/dmc/${{ matrix.example }} | ||
labels: ${{ steps.meta.outputs.labels }} | ||
if: github.ref == 'refs/heads/master' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,5 +1,6 @@ | ||
## repositories | ||
RUN test -n "${REPOSITORIES}" && \ | ||
IFS=';' && \ | ||
for REPOSITORY in ${REPOSITORIES[@]}; do declare -u REPO="${REPOSITORY}" && REPO_GPG=$(eval "echo \$REPOSITORIES_${REPO}_GPG") && REPO_ENTRY=$(eval "eval "echo \$REPOSITORIES_${REPO}_ENTRY"") && \ | ||
curl -fsSL "${REPO_GPG}" | gpg --dearmor | tee "/etc/apt/trusted.gpg.d/${REPOSITORY}.gpg" > /dev/null && apt-add-repository "deb [arch=amd64] ${REPO_ENTRY}"; done || : | ||
RUN if [ -n "${REPOSITORIES}" ]; then \ | ||
IFS=';' && \ | ||
for REPOSITORY in ${REPOSITORIES[@]}; do declare -u REPO="${REPOSITORY}" && REPO_GPG=$(eval "echo \$REPOSITORIES_${REPO}_GPG") && REPO_ENTRY=$(eval "eval "echo \$REPOSITORIES_${REPO}_ENTRY"") && \ | ||
curl -fsSL "${REPO_GPG}" | gpg --dearmor | tee "/etc/apt/trusted.gpg.d/${REPOSITORY}.gpg" > /dev/null && apt-add-repository "deb [arch=amd64] ${REPO_ENTRY}"; done; \ | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
## packages | ||
RUN test -n "${PACKAGES}" && \ | ||
IFS=';' && \ | ||
install_packages ${PACKAGES[@]} || : | ||
RUN if [ -n "${PACKAGES}" ]; then \ | ||
IFS=';' && \ | ||
install_packages ${PACKAGES[@]}; \ | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,14 +1,15 @@ | ||
## binaries | ||
RUN test -n "${BINARIES}" && \ | ||
IFS=';' && \ | ||
for BINARY in ${BINARIES[@]}; do declare -u BINARY_REPO="${BINARY}" && BINARY_URI=$(eval "echo \$BINARIES_${BINARY_REPO}_URI") && BINARY_PACKAGES=$(eval "echo \$BINARIES_${BINARY_REPO}") && \ | ||
if [ "${BINARY_REPO}" = "GITHUB" ]; then for BINARY_PACKAGE in ${BINARY_PACKAGES}; do BINARY_PACKAGE_URI=$(echo "${BINARY_URI}/${BINARY_PACKAGE}" | awk -F '=' '{ if (!$3) {version="/latest"}; printf("%s/releases%s", $1, version)}') && \ | ||
BINARY_PACKAGE_VERSION=$(echo "${BINARY_PACKAGE}" | awk -F '=' '{print $3".*"$2".tar.gz"}') && \ | ||
BINARY_PACKAGE_URL=$(curl -fsSL "${BINARY_PACKAGE_URI}" | grep -Po '"browser_download_url": "\K.*?(?=\")' | grep -P "${BINARY_PACKAGE_VERSION}") && \ | ||
mkdir -p ./github && curl -SsL --retry 5 "${BINARY_PACKAGE_URL}" | tar xz -C ./github && \ | ||
chmod -R +x ./github/* && mv ./github/* /usr/local/bin/; done; fi && \ | ||
if [ "${BINARY_REPO}" = "GOOGLE" ]; then for BINARY_PACKAGE in ${BINARY_PACKAGES}; do BINARY_PACKAGE_VERSION=$(curl -fSsL "${BINARY_URI}" | grep -P "$(echo "${BINARY_PACKAGE}" | sed 's/=/.*/g')" | cut -d '_' -f2 | sort -n | grep "$(echo "${BINARY_PACKAGE}" | cut -d '=' -f2)" | tail -n1 | cut -d '-' -f1) && \ | ||
BINARY_PACKAGE_URI="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/$(echo "${BINARY_PACKAGE}" | cut -d '=' -f1)-${BINARY_PACKAGE_VERSION}-linux-x86_64.tar.gz" && \ | ||
mkdir -p ./google && curl -SsL --retry 5 "${BINARY_PACKAGE_URI}" | tar xz -C ./google && \ | ||
chmod -R +x ./google/* && \ | ||
sh ./google/*/install.sh --quiet --command-completion true --bash-completion true --path-update true; done; fi; done || : | ||
RUN if [ -n "${BINARIES}" ]; then \ | ||
IFS=';' && \ | ||
for BINARY in ${BINARIES[@]}; do declare -u BINARY_REPO="${BINARY}" && BINARY_URI=$(eval "echo \$BINARIES_${BINARY_REPO}_URI") && BINARY_PACKAGES=$(eval "echo \$BINARIES_${BINARY_REPO}") && \ | ||
if [ "${BINARY_REPO}" = "GITHUB" ]; then for BINARY_PACKAGE in ${BINARY_PACKAGES}; do BINARY_PACKAGE_URI=$(echo "${BINARY_URI}/${BINARY_PACKAGE}" | awk -F '=' '{ if (!$3) {version="/latest"}; printf("%s/releases%s", $1, version)}') && \ | ||
BINARY_PACKAGE_VERSION=$(echo "${BINARY_PACKAGE}" | awk -F '=' '{print $3".*"$2".tar.gz"}') && \ | ||
BINARY_PACKAGE_URL=$(curl -fsSL "${BINARY_PACKAGE_URI}" | grep -Po '"browser_download_url": "\K.*?(?=\")' | grep -P "${BINARY_PACKAGE_VERSION}") && \ | ||
mkdir -p ./github && curl -SsL --retry 5 "${BINARY_PACKAGE_URL}" | tar xz -C ./github && \ | ||
chmod -R +x ./github/* && mv ./github/* /usr/local/bin/; done; fi && \ | ||
if [ "${BINARY_REPO}" = "GOOGLE" ]; then for BINARY_PACKAGE in ${BINARY_PACKAGES}; do BINARY_PACKAGE_VERSION=$(curl -fSsL "${BINARY_URI}" | grep -P "${BINARY_PACKAGE//=/.*}" | cut -d '_' -f2 | sort -n | grep "$(echo "${BINARY_PACKAGE}" | cut -d '=' -f2)" | tail -n1 | cut -d '-' -f1) && \ | ||
BINARY_PACKAGE_URI="https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/$(echo "${BINARY_PACKAGE}" | cut -d '=' -f1)-${BINARY_PACKAGE_VERSION}-linux-x86_64.tar.gz" && \ | ||
mkdir -p ./google && curl -SsL --retry 5 "${BINARY_PACKAGE_URI}" | tar xz -C ./google && \ | ||
chmod -R +x ./google/* && \ | ||
sh ./google/*/install.sh --quiet --command-completion true --bash-completion true --path-update true; done; fi; done \ | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -6,4 +6,4 @@ ARG EXTENSIONS | |
# ARG REQUIREMENTS_N | ||
# ARG EXTENSIONS_N | ||
|
||
WORKDIR ${WORKDIR} | ||
WORKDIR "${WORKDIR}" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,9 @@ | ||
## requirements | ||
RUN test -n "${REQUIREMENTS}" && \ | ||
IFS=';' && \ | ||
for REQUIREMENT in ${REQUIREMENTS[@]}; do IFS='' && declare -u REQ="${REQUIREMENT}" && REQUIREMENTS_REQ=$(eval "echo \$REQUIREMENTS_${REQ}") && \ | ||
IFS=';' && \ | ||
if [ "${REQ}" = "PIP" ]; then for REQUIREMENT_REQ in ${REQUIREMENTS_REQ[@]}; do pip3 install --no-cache-dir $(echo "${REQUIREMENT_REQ}" | sed 's/=/==/g');done; fi && \ | ||
if [ "${REQ}" = "ANSIBLE" ]; then for REQUIREMENT_REQ in ${REQUIREMENTS_ANSIBLE_ROLES[@]}; do ansible-galaxy install $(echo "${REQUIREMENT_REQ}" | sed 's/=/,/g'); done && \ | ||
for REQUIREMENT_REQ in ${REQUIREMENTS_ANSIBLE_COLLECTIONS[@]}; do ansible-galaxy collection install $(echo "${REQUIREMENT_REQ}" | sed 's/=/:/g'); done; fi; done || : | ||
RUN if [ -n "${REQUIREMENTS}" ]; then \ | ||
IFS=';' && \ | ||
for REQUIREMENT in ${REQUIREMENTS[@]}; do IFS='' && declare -u REQ="${REQUIREMENT}" && REQUIREMENTS_REQ=$(eval "echo \$REQUIREMENTS_${REQ}") && \ | ||
IFS=';' && \ | ||
if [ "${REQ}" = "PIP" ]; then for REQUIREMENT_REQ in ${REQUIREMENTS_REQ[@]}; do pip3 install --no-cache-dir "${REQUIREMENT_REQ//=/==}";done; fi && \ | ||
if [ "${REQ}" = "ANSIBLE" ]; then for REQUIREMENT_REQ in ${REQUIREMENTS_ANSIBLE_ROLES[@]}; do ansible-galaxy install "${REQUIREMENT_REQ//=/,}"; done && \ | ||
for REQUIREMENT_REQ in ${REQUIREMENTS_ANSIBLE_COLLECTIONS[@]}; do ansible-galaxy collection install "${REQUIREMENT_REQ//=/:}"; done; fi; done \ | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,9 @@ | ||
## extensions | ||
RUN test -n "${EXTENSIONS}" && \ | ||
IFS=';' && \ | ||
for EXTENSION in ${EXTENSIONS[@]}; do IFS='' && declare -u EXT="${EXTENSION}" && EXTENSIONS_EXT=$(eval "echo \$EXTENSIONS_${EXT}") && \ | ||
IFS=';' && \ | ||
if [ "${EXT}" = "AZ" ]; then for EXTENSION_EXT in ${EXTENSIONS_EXT[@]}; do az extension add -y --name $(echo "${EXTENSION_EXT}" | sed 's/=/ --version /g'); done; fi && \ | ||
if [ "${EXT}" = "GOOGLE" ]; then for EXTENSION_EXT in ${EXTENSIONS_EXT[@]}; do ./google/*/bin/gcloud components install "${EXTENSION_EXT}" && $(echo "${EXTENSION_EXT}" | sed 's/.*=/gcloud components update --version /g'); done; fi && \ | ||
if [ "${EXT}" = "HELM" ]; then for EXTENSION_EXT in ${EXTENSIONS_EXT[@]}; do helm plugin install $(echo "${EXTENSION_EXT}" | sed 's/=/ --version=/g'); done; fi; done || : | ||
RUN if [ -n "${EXTENSIONS}" ]; then \ | ||
IFS=';' && \ | ||
for EXTENSION in ${EXTENSIONS[@]}; do IFS='' && declare -u EXT="${EXTENSION}" && EXTENSIONS_EXT=$(eval "echo \$EXTENSIONS_${EXT}") && \ | ||
IFS=';' && \ | ||
if [ "${EXT}" = "AZ" ]; then for EXTENSION_EXT in ${EXTENSIONS_EXT[@]}; do az extension add -y --name "${EXTENSION_EXT//=/ --version }"; done; fi && \ | ||
if [ "${EXT}" = "GOOGLE" ]; then for EXTENSION_EXT in ${EXTENSIONS_EXT[@]}; do ./google/*/bin/gcloud components install "${EXTENSION_EXT}" && "${EXTENSION_EXT//.*=/gcloud components update --version }"; done; fi && \ | ||
if [ "${EXT}" = "HELM" ]; then for EXTENSION_EXT in ${EXTENSIONS_EXT[@]}; do helm plugin install "${EXTENSION_EXT//=/ --version}"; done; fi; done \ | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,5 +5,5 @@ ARG POST_BUILD_COMMANDS | |
|
||
# ARG PROFILES_N | ||
|
||
WORKDIR ${WORKDIR} | ||
WORKDIR "${WORKDIR}" | ||
CMD ["/bin/bash"] |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,7 @@ | ||
## profiles | ||
RUN test -n "${PROFILES}" && \ | ||
IFS=';' && \ | ||
for PROFILE in ${PROFILES[@]}; do IFS='' && PR_PROFILE=$(echo "${PROFILE}" | tr '.' '_') && declare -u PR="${PR_PROFILE}" && PROFILES_PR=$(eval "echo \$PROFILES_${PR}") && \ | ||
IFS=';' && \ | ||
for PROFILE_PR in ${PROFILES_PR[@]}; do echo "${PROFILE_PR}" >> "${PROFILE}"; done; done || : | ||
RUN if [ -n "${PROFILES}" ]; then \ | ||
IFS=';' && \ | ||
for PROFILE in ${PROFILES[@]}; do IFS='' && declare -u PR="${PROFILE//./_}" && PROFILES_PR=$(eval "echo \$PROFILES_${PR}") && \ | ||
IFS=';' && \ | ||
for PROFILE_PR in ${PROFILES_PR[@]}; do echo "${PROFILE_PR}" >> "${PROFILE}"; done; done \ | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,5 @@ | ||
## post_build_commands | ||
RUN test -n "${POST_BUILD_COMMANDS}" && \ | ||
IFS=';' && \ | ||
for POST_BUILD_COMMAND in ${POST_BUILD_COMMANDS[@]}; do bash -c "${POST_BUILD_COMMAND}"; done || : | ||
RUN if [ -n "${POST_BUILD_COMMANDS}" ]; then \ | ||
IFS=';' && \ | ||
for POST_BUILD_COMMAND in "${POST_BUILD_COMMANDS[@]}"; do bash -c "${POST_BUILD_COMMAND}"; done \ | ||
fi |