diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c60674c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "cSpell.words": ["elif", "kaniko"] +} diff --git a/action.yml b/action.yml index 3d61d87..53f469a 100644 --- a/action.yml +++ b/action.yml @@ -1,17 +1,17 @@ --- - name: Kaniko description: Build a container image using Kaniko inputs: - Dockerfile: + dockerfile: description: The Dockerfile to pass to Kaniko - required: true + required: false image: description: Name and tag under which to upload the image required: true registry: description: Domain of the registry. Should be the same as the first path component of the tag. - required: true + required: false + default: https://index.docker.io/v1/ username: description: Username for the container registry required: true @@ -27,7 +27,16 @@ runs: - | mkdir -p /kaniko/.docker echo '{"auths":{"${{ inputs.registry }}":{"auth":"'$(printf "%s:%s" "${{ inputs.username }}" "${{ inputs.password }}" | base64 | tr -d '\n')'"}}}' > /kaniko/.docker/config.json - cat > Dockerfile < Dockerfile + elif [ -f "./Dockerfile" ]; then + echo "Using existing ./Dockerfile from workspace" + cp ./Dockerfile Dockerfile + else + echo "ERROR: No Dockerfile provided and no ./Dockerfile found in workspace" + exit 1 + fi + + /kaniko/executor --dockerfile Dockerfile --destination "${{ inputs.image }}"