mirror of
https://github.com/woodpecker-ci/woodpecker.git
synced 2024-11-26 20:01:02 +00:00
hooked up websockets to stream output
This commit is contained in:
parent
ac88f3a9e8
commit
abdcd60dac
4 changed files with 10 additions and 9 deletions
|
@ -354,7 +354,7 @@ func (b *Builder) run() error {
|
||||||
b.BuildState.Finished = time.Now().UTC().Unix()
|
b.BuildState.Finished = time.Now().UTC().Unix()
|
||||||
|
|
||||||
// get the exit code if possible
|
// get the exit code if possible
|
||||||
b.BuildState.ExitCode = wait.StatusCode //b.container.State.ExitCode
|
b.BuildState.ExitCode = wait.StatusCode
|
||||||
|
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
@ -404,6 +404,7 @@ func (b *Builder) writeDockerfile(dir string) error {
|
||||||
dockerfile.WriteEnv("GOPATH", "/var/cache/drone")
|
dockerfile.WriteEnv("GOPATH", "/var/cache/drone")
|
||||||
dockerfile.WriteAdd("id_rsa", "/root/.ssh/id_rsa")
|
dockerfile.WriteAdd("id_rsa", "/root/.ssh/id_rsa")
|
||||||
dockerfile.WriteRun("chmod 600 /root/.ssh/id_rsa")
|
dockerfile.WriteRun("chmod 600 /root/.ssh/id_rsa")
|
||||||
|
dockerfile.WriteRun("echo 'StrictHostKeyChecking no' > /root/.ssh/config")
|
||||||
}
|
}
|
||||||
|
|
||||||
dockerfile.WriteAdd("proxy.sh", "/etc/drone.d/")
|
dockerfile.WriteAdd("proxy.sh", "/etc/drone.d/")
|
||||||
|
|
|
@ -48,7 +48,7 @@ func CommitShow(w http.ResponseWriter, r *http.Request, u *User, repo *Repo) err
|
||||||
|
|
||||||
// generate a token to connect with the websocket
|
// generate a token to connect with the websocket
|
||||||
// handler and stream output, if the build is running.
|
// handler and stream output, if the build is running.
|
||||||
data.Token = channel.Token(fmt.Sprintf(
|
data.Token = channel.CreateStream(fmt.Sprintf(
|
||||||
"%s/commit/%s/builds/%s", repo.Slug, commit.Hash, builds[0].Slug))
|
"%s/commit/%s/builds/%s", repo.Slug, commit.Hash, builds[0].Slug))
|
||||||
|
|
||||||
// render the repository template.
|
// render the repository template.
|
||||||
|
|
|
@ -106,9 +106,9 @@ func (b *BuildTask) execute() error {
|
||||||
|
|
||||||
// make sure a channel exists for the repository,
|
// make sure a channel exists for the repository,
|
||||||
// the commit, and the commit output (TODO)
|
// the commit, and the commit output (TODO)
|
||||||
reposlug := fmt.Sprintf("%s/%s/%s", b.Repo.Host, b.Repo.Owner, b.Repo.Slug)
|
reposlug := fmt.Sprintf("%s/%s/%s", b.Repo.Host, b.Repo.Owner, b.Repo.Name)
|
||||||
commitslug := fmt.Sprintf("%s/%s/%s/commit/%s", b.Repo.Host, b.Repo.Owner, b.Repo.Slug, b.Commit.Hash)
|
commitslug := fmt.Sprintf("%s/%s/%s/commit/%s", b.Repo.Host, b.Repo.Owner, b.Repo.Name, b.Commit.Hash)
|
||||||
consoleslug := fmt.Sprintf("%s/%s/%s/commit/%s/builds/%s", b.Repo.Host, b.Repo.Owner, b.Repo.Slug, b.Commit.Hash, b.Build.Slug)
|
consoleslug := fmt.Sprintf("%s/%s/%s/commit/%s/builds/%s", b.Repo.Host, b.Repo.Owner, b.Repo.Name, b.Commit.Hash, b.Build.Slug)
|
||||||
channel.Create(reposlug)
|
channel.Create(reposlug)
|
||||||
channel.Create(commitslug)
|
channel.Create(commitslug)
|
||||||
channel.CreateStream(consoleslug)
|
channel.CreateStream(consoleslug)
|
||||||
|
@ -223,7 +223,7 @@ func updateGitHubStatus(repo *Repo, commit *Commit) error {
|
||||||
}
|
}
|
||||||
|
|
||||||
client := github.New(user.GithubToken)
|
client := github.New(user.GithubToken)
|
||||||
return client.Repos.CreateStatus(repo.Owner, repo.Slug, status, settings.URL().String(), message, commit.Hash)
|
return client.Repos.CreateStatus(repo.Owner, repo.Name, status, settings.URL().String(), message, commit.Hash)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (t *BuildTask) sendEmail(c *notification.Context) error {
|
func (t *BuildTask) sendEmail(c *notification.Context) error {
|
||||||
|
@ -250,7 +250,7 @@ func (t *BuildTask) sendFailureEmail(c *notification.Context) error {
|
||||||
|
|
||||||
// loop through and email recipients
|
// loop through and email recipients
|
||||||
for _, email := range t.Script.Notifications.Email.Recipients {
|
for _, email := range t.Script.Notifications.Email.Recipients {
|
||||||
if err := mail.SendFailure(t.Repo.Slug, email, c); err != nil {
|
if err := mail.SendFailure(t.Repo.Name, email, c); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -263,7 +263,7 @@ func (t *BuildTask) sendSuccessEmail(c *notification.Context) error {
|
||||||
|
|
||||||
// loop through and email recipients
|
// loop through and email recipients
|
||||||
for _, email := range t.Script.Notifications.Email.Recipients {
|
for _, email := range t.Script.Notifications.Email.Recipients {
|
||||||
if err := mail.SendSuccess(t.Repo.Slug, email, c); err != nil {
|
if err := mail.SendSuccess(t.Repo.Name, email, c); err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -64,7 +64,7 @@
|
||||||
outputWS.onclose = function (e) { window.location.reload(); };
|
outputWS.onclose = function (e) { window.location.reload(); };
|
||||||
outputWS.onmessage = function (e) {
|
outputWS.onmessage = function (e) {
|
||||||
outputBox.innerHTML += formatLine(e.data);
|
outputBox.innerHTML += formatLine(e.data);
|
||||||
window.scrollTo(0, document.body.scrollHeight)
|
//window.scrollTo(0, document.body.scrollHeight)
|
||||||
};
|
};
|
||||||
var re = /\u001B\[([0-9]+;?)*[Km]/g;
|
var re = /\u001B\[([0-9]+;?)*[Km]/g;
|
||||||
var styles = new Array();
|
var styles = new Array();
|
||||||
|
|
Loading…
Reference in a new issue