Poseidon: Clean workspace between executions
This commit is contained in:
@ -95,7 +95,10 @@ class Runner::Strategy::Poseidon < Runner::Strategy
|
||||
}
|
||||
end
|
||||
url = "#{runner_url}/files"
|
||||
body = {copy: copy}
|
||||
|
||||
# First, clean the workspace and second, copy all files to their location.
|
||||
# This ensures that no artefacts from a previous submission remain in the workspace.
|
||||
body = {copy: copy, delete: ['./']}
|
||||
connection = Faraday.new nil, ssl: {ca_file: self.class.config[:ca_file]}
|
||||
response = connection.patch url, body.to_json, self.class.headers
|
||||
return if response.status == 204
|
||||
|
@ -319,7 +319,7 @@ describe Runner::Strategy::Poseidon do
|
||||
WebMock
|
||||
.stub_request(:patch, "#{described_class.config[:url]}/runners/#{runner_id}/files")
|
||||
.with(
|
||||
body: {copy: [{path: file.filepath, content: encoded_file_content}]},
|
||||
body: {copy: [{path: file.filepath, content: encoded_file_content}], delete: ['./']},
|
||||
headers: {'Content-Type' => 'application/json'}
|
||||
)
|
||||
.to_return(body: response_body, status: response_status)
|
||||
|
Reference in New Issue
Block a user