This repository has been archived on 2024-04-08. You can view files and clone it, but cannot push or open issues or pull requests.
Files
dagger/pkg/alpha.dagger.io/git/tests/commit/commit.cue
Andrea Luzzardi 282759c0e5 cue modules: move stdlib to pkg/alpha.dagger.io
In preparation for Europa, we will vendor multiple CUE modules:

- `pkg/alpha.dagger.io`: legacy non-europa packages
- `pkg/dagger.io`: core Europa packages
- `pkg/universe.dagger.io`: Europa universe

Signed-off-by: Andrea Luzzardi <aluzzardi@gmail.com>
2022-01-11 13:16:37 -08:00

80 lines
1.5 KiB
CUE

package git
import (
"alpha.dagger.io/alpine"
"alpha.dagger.io/dagger"
"alpha.dagger.io/os"
"alpha.dagger.io/random"
)
TestAuthToken: dagger.#Input & {dagger.#Secret}
TestRemote: dagger.#Input & {*"https://github.com/dagger/test.git" | string}
TestRepository: #Repository & {
remote: TestRemote
ref: "main"
keepGitDir: true
authToken: TestAuthToken
}
TestData: {
random.#String & {
seed: "git-commit"
}
}.out
TestFile: os.#Dir & {
from: os.#Container & {
image: alpine.#Image
command: #"""
mkdir -p /output
echo "$MESSAGE" >> /output/test.md
"""#
env: MESSAGE: TestData
}
path: "/output"
}
TestCommit: #Commit & {
repository: {
remote: TestRemote
authToken: TestAuthToken
source: TestRepository
branch: "ci/test-commit"
}
content: TestFile
message: "This is a commit from the CI to test the repository"
name: "Dagger CI"
email: "daggerci@dagger.io"
force: true
}
TestCheck: {
_TestRepo: #Repository & {
remote: TestRemote
ref: "ci/test-commit"
keepGitDir: true
authToken: TestAuthToken
}
_ctr: os.#Container & {
image: #Image
command: #"""
# Check commit
git rev-parse --verify HEAD | grep "$GIT_HASH"
# Check file
echo -n "$EXPECTED_MESSAGE" >> expect.md
diff test.md expect.md
"""#
dir: "/input/repo"
mount: "/input/repo": from: _TestRepo
env: {
EXPECTED_MESSAGE: TestData
// Force dependency with interpolation
GIT_HASH: "\(TestCommit.hash)"
}
}
}