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.
dagger/pkg/alpha.dagger.io/git/tests/git/git.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

112 lines
1.9 KiB
CUE

package git
import (
"strings"
"alpha.dagger.io/alpine"
"alpha.dagger.io/dagger"
"alpha.dagger.io/os"
)
repo: #Repository & {
remote: "https://github.com/blocklayerhq/acme-clothing.git"
ref: "master"
keepGitDir: true
}
repoSubDir: #Repository & {
remote: "https://github.com/dagger/examples.git"
ref: "main"
subdir: "todoapp"
keepGitDir: true
}
branch: #CurrentBranch & {
repository: repo
}
tagsList: #Tags & {
repository: repo
}
TestRepository: os.#Container & {
image: alpine.#Image & {
package: bash: true
package: git: true
}
mount: "/repo1": from: repo
dir: "/repo1"
command: """
[ -d .git ]
"""
}
TestSubRepository: os.#Container & {
image: alpine.#Image & {
package: bash: true
package: git: true
}
mount: "/repo1": from: repoSubDir
dir: "/repo1"
command: """
[ -d src ]
"""
}
TestCurrentBranch: os.#Container & {
image: alpine.#Image & {
package: bash: true
package: git: true
}
env: BRANCH_NAME: branch.name
command: """
[ $BRANCH_NAME = "master" ]
"""
}
TestCurrentTags: os.#Container & {
image: alpine.#Image & {
package: bash: true
package: git: true
}
env: TAGS: strings.Join([ for k, v in tagsList.tags {"\(k)=\(v)"}], "\n")
command: """
[ $TAGS = "0=master" ]
"""
}
// Test fetching a private repo
TestPAT: dagger.#Input & {dagger.#Secret}
privateRepo: #Repository & {
remote: "https://github.com/dagger/dagger.git"
ref: "main"
keepGitDir: true
authToken: TestPAT
}
TestPrivateRepository: os.#Container & {
image: alpine.#Image & {
package: bash: true
package: git: true
}
mount: "/repo1": from: privateRepo
dir: "/repo1"
command: """
[ -d .git ]
"""
}
TestReferenceFormat: os.#Container & {
image: alpine.#Image & {
package: bash: true
package: git: true
}
mount: "/repo1": from: privateRepo
dir: "/repo1"
command: """
URL="$(git ls-remote --get-url origin)"
[[ "$URL" = "https://github.com/dagger/dagger.git" ]]
"""
}