Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: Revise quickstart with code-first approach redux #7382

Merged
merged 58 commits into from
May 24, 2024

Conversation

vikram-dagger
Copy link
Contributor

@vikram-dagger vikram-dagger commented May 14, 2024

This commit revises the quickstart to use an example application and build a pipeline for it by writing bespoke Dagger Functions.

Also see #7196 and #7275

Closes #7157

@jpadams

This comment was marked as resolved.

// Returns a directory with the production build
func (m *HelloDagger) Build(source *Directory) *Directory {
return dag.Node(NodeOpts{Version: "21"}).
WithNpm().
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'll PR a new npm module + these content changes in a follow up PR. Lets get this merged like this first and worry about clean ups after! cc @shykes

@vikram-dagger vikram-dagger marked this pull request as ready for review May 20, 2024 10:51
@vikram-dagger
Copy link
Contributor Author

vikram-dagger commented May 20, 2024

Reviewers: I've created output GIFs using asciicinema. However because of the very long initialize time of appx 2-3m per snippet, I've cropped out those frames so that the user has to spend less time watching the timer. Please check if this is OK.

GIFs run at speed 6x, except the terminal, curl and docker run examples which are at 2x so they can be read clearly.

Noting also that generating the output GIFs required many manual adjustments and therefore was time-consuming. To be noted in case we change the TUI in future and need to regenerate these GIFs.

Copy link
Contributor

@shykes shykes left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Incomplete review, will continue later...

return address, nil
}

// Returns a container with the production build and an NGINX service
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// Returns a container with the production build and an NGINX service
// Build the application container

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done


type HelloDagger struct{}

// Tests, builds and publishes the application
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// Tests, builds and publishes the application
// Publish the application container after building and testing it on-the-fly

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done

Stdout(ctx)
}

// Returns a container with the build environment
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
// Returns a container with the build environment
// Build a ready-to-use dev environment

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done


// Returns a container with the build environment
func (m *HelloDagger) BuildEnv(source *Directory) *Container {
nodeCache := dag.CacheVolume("node")
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@kpenfound @levlaz is there a risk that we encounter the same concurrency problem here than we did trying to build docusaurus in that livestream?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the risk is much lower because this is a much simpler example, I don't expect users to change inputs, and I don't expect users to run this concurrently.

Comment on lines 50 to 51
dagger call \
build --source=.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
dagger call \
build --source=.
dagger call build --source=.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

When there's only one function in the chain, it looks simpler on a single line

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Done


Here's what you should see:

![Final container](/img/current_docs/quickstart/build.gif)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I owe you a function to generate this. Sorry I didn't get to it, I didn't forget!

Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Copy link
Contributor

@jpadams jpadams left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some things we'll find post merge, but I think it's good enough to ship it!

docs/current_docs/quickstart/publish.mdx Outdated Show resolved Hide resolved
Copy link
Contributor

@marcosnils marcosnils left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Structure and text-wise LGTM to ship as a first iteration.

Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Signed-off-by: Vikram Vaswani <vikram@dagger.io>
@vikram-dagger vikram-dagger merged commit 2bbdb09 into dagger:main May 24, 2024
59 checks passed
vikram-dagger added a commit to vikram-dagger/dagger that referenced this pull request May 24, 2024
* Updated content

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Lint fixes

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated conclusion

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Lint fixes

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Remove guide

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated content

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated tips

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Copy edit

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Copy edit

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Copy edit

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Copy edit

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Add feedback

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update conclusion

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update chaining example

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix lint

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix lint

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated text

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Move introductory content outside quickstart

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update conclusion, add links

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update copy

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Add speedrun

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated copy

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated text

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated text

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated text

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated copy

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated text

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Added feedback

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Rewrite quickstart

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix links

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update content

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Add code

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix lint errors

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update sidebar

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update quickstart

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update copy

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Add second option

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update caching page copy

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update caching page copy

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update diagram

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Remove diagram

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Integrate feedback

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Add images

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update code

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix linter

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix linter

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix linter

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix linter

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix linter

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update text

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update image

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update text

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix syntax

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Add feedback

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated chaining example and fixed error

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix linter

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update conclusion links

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update page link

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

---------

Signed-off-by: Vikram Vaswani <vikram@dagger.io>
vikram-dagger added a commit to vikram-dagger/dagger that referenced this pull request May 24, 2024
* Updated content

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Lint fixes

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated conclusion

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Lint fixes

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Remove guide

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated content

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated tips

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Copy edit

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Copy edit

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Copy edit

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Copy edit

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Add feedback

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update conclusion

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update chaining example

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix lint

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix lint

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated text

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Move introductory content outside quickstart

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update conclusion, add links

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update copy

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Add speedrun

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated copy

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated text

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated text

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated text

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated copy

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated text

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Added feedback

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Rewrite quickstart

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix links

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update content

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Add code

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix lint errors

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update sidebar

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update quickstart

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update copy

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Add second option

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update caching page copy

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update caching page copy

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update diagram

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Remove diagram

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Integrate feedback

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Add images

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update code

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix linter

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix linter

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix linter

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix linter

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix linter

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update text

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update image

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update text

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix syntax

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Add feedback

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Updated chaining example and fixed error

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Fix linter

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update conclusion links

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

* Update page link

Signed-off-by: Vikram Vaswani <vikram@dagger.io>

---------

Signed-off-by: Vikram Vaswani <vikram@dagger.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Docs: Building a Module Tutorial
6 participants