implement volume mount for container job (#1101)
* implement volume mount for container job * Update pkg/runner/run_context.go Co-authored-by: Ryan <me@hackerc.at> * add tests for container volume mount options * remove unused code * prefer if-else instead of if-continue * remove continue * add some tests Co-authored-by: Ryan <me@hackerc.at> Co-authored-by: mergify[bot] <37929162+mergify[bot]@users.noreply.github.com>
This commit is contained in:
19
pkg/model/testdata/container-volumes/push.yml
vendored
Normal file
19
pkg/model/testdata/container-volumes/push.yml
vendored
Normal file
@@ -0,0 +1,19 @@
|
||||
name: Job Container
|
||||
on: push
|
||||
|
||||
jobs:
|
||||
with-volumes:
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: node:16-buster-slim
|
||||
volumes:
|
||||
- my_docker_volume:/path/to/volume
|
||||
- /path/to/nonexist/directory
|
||||
- /proc/sys/kernel/random/boot_id:/current/boot_id
|
||||
steps:
|
||||
- run: |
|
||||
set -e
|
||||
test -d /path/to/volume
|
||||
test "$(cat /proc/sys/kernel/random/boot_id)" = "$(cat /current/boot_id)"
|
||||
test -d /path/to/nonexist/directory
|
||||
|
@@ -112,6 +112,10 @@ jobs:
|
||||
password: registry-password
|
||||
env:
|
||||
HOME: /home/user
|
||||
volumes:
|
||||
- my_docker_volume:/volume_mount
|
||||
- /data/my_data
|
||||
- /source/directory:/destination/directory
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- uses: ./actions/docker-url
|
||||
@@ -127,6 +131,11 @@ jobs:
|
||||
assert.Contains(t, container.Env["HOME"], "/home/user")
|
||||
assert.Contains(t, container.Credentials["username"], "registry-username")
|
||||
assert.Contains(t, container.Credentials["password"], "registry-password")
|
||||
assert.ElementsMatch(t, container.Volumes, []string{
|
||||
"my_docker_volume:/volume_mount",
|
||||
"/data/my_data",
|
||||
"/source/directory:/destination/directory",
|
||||
})
|
||||
}
|
||||
|
||||
func TestReadWorkflow_StepsTypes(t *testing.T) {
|
||||
|
Reference in New Issue
Block a user