feat: Add templates to create working release (#422)

* Add templates

* Move API structs to codersdk

* Back to green tests!

* It all works, but now with tea! 🧋

* It works!

* Add cancellation to provisionerd

* Tests pass!

* Add deletion of workspaces and projects

* Fix agent lock

* Add clog

* Fix linting errors

* Remove unused CLI tests

* Rename daemon to start

* Fix leaking command

* Fix promptui test

* Update agent connection frequency

* Skip login tests on Windows

* Increase tunnel connect timeout

* Fix templater

* Lower test requirements

* Fix embed

* Disable promptui tests for Windows

* Fix write newline

* Fix PTY write newline

* Fix CloseReader

* Fix compilation on Windows

* Fix linting error

* Remove bubbletea

* Cleanup readwriter

* Use embedded templates instead of serving over API

* Move templates to examples

* Improve workspace create flow

* Fix Windows build

* Fix tests

* Fix linting errors

* Fix untar with extracting max size

* Fix newline char
This commit is contained in:
Kyle Carberry
2022-03-22 13:17:50 -06:00
committed by GitHub
parent 2818b3ce6d
commit c451f4e685
138 changed files with 7317 additions and 2334 deletions
+12 -7
View File
@@ -3,7 +3,6 @@ package ptytest
import (
"bufio"
"bytes"
"fmt"
"io"
"os"
"os/exec"
@@ -27,6 +26,7 @@ var (
func New(t *testing.T) *PTY {
ptty, err := pty.New()
require.NoError(t, err)
return create(t, ptty)
}
@@ -92,11 +92,16 @@ func (p *PTY) ExpectMatch(str string) string {
return buffer.String()
}
func (p *PTY) WriteLine(str string) {
newline := "\n"
if runtime.GOOS == "windows" {
newline = "\r\n"
}
_, err := fmt.Fprintf(p.PTY.Input(), "%s%s", str, newline)
func (p *PTY) Write(r rune) {
_, err := p.Input().Write([]byte{byte(r)})
require.NoError(p.t, err)
}
func (p *PTY) WriteLine(str string) {
newline := []byte{'\r'}
if runtime.GOOS == "windows" {
newline = append(newline, '\n')
}
_, err := p.Input().Write(append([]byte(str), newline...))
require.NoError(p.t, err)
}