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 CI Rework for Versioned Deploy #4904

Merged
merged 10 commits into from
Dec 11, 2023

Conversation

stanbrub
Copy link
Contributor

@stanbrub stanbrub commented Nov 30, 2023

Added docs-ci-v2.yml to deploy to directory deephaven-core-v2, while docs-ci.yml remains unchanged.

  • Pull request to for main
    • Build the docs
  • Push to main
    • Build the docs
    • Upload artifacts to Github
    • Deploy docs to deephaven.io (e.g. ~/deephaven-core-v2/main)
  • Push to release/v*
    • Set symlinks for latest (pointing to newest release dir)
    • Build the docs
    • Upload artifacts to Github
    • Deploy docs to release dir (e.g. ~/deephaven-core-v2/release/v0.30.0)

New Directory structure

  • Paired down to include mostly docs directories
  • deephaven-core-v2 is what's new
├── deephaven-core
│   ├── client-api
│   ├── javadoc
│   └── pydoc
├── deephaven-core-v2
│   ├── main
│   │   ├── client-api
│   │   ├── javadoc
│   │   └── pydoc
│   ├── release
│   │   ├── v0.30.0
│   │   │   ├── client-api
│   │   │   ├── javadoc
│   │   │   └── pydoc
│   │   └── v0.31.0
│   │   │  ├── client-api
│   │   │  ├── javadoc
│   │   │  └── pydoc
│   └── symlinks
│   │   ├── latest -> ../release/v0.31.0
│   │   └── next -> ../main
├── deephaven.io
│   ├── barrage
│   │   └── docs
│   ├── core
│   │   ├── docs
│   │   └── groovy
│   ├── enterprise
│   │   ├── docs
│   │   ├── jackson
│   │   ├── powell
│   │   ├── services
│   │   ├── silverheels
│   └── grid
        ├── How-to
        └── docs

Copy link
Member

@devinrsmith devinrsmith left a comment

Choose a reason for hiding this comment

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

I did not audit the actual arguments to rsync, but we'll want other eyes to look in depth before we merge.

It would be good to see a tree of the proposed layout.

.github/workflows/docs-ci.yml Outdated Show resolved Hide resolved
.github/workflows/docs-ci.yml Outdated Show resolved Hide resolved
.github/workflows/docs-ci.yml Outdated Show resolved Hide resolved
.github/workflows/docs-ci.yml Outdated Show resolved Hide resolved
.github/workflows/docs-ci.yml Outdated Show resolved Hide resolved
.github/workflows/docs-ci.yml Outdated Show resolved Hide resolved
.github/workflows/docs-ci.yml Outdated Show resolved Hide resolved
@dsmmcken
Copy link
Contributor

dsmmcken commented Dec 1, 2023

What do these rsync options do?
-rlptDvz --force --mkpath

The rsync options you provided do the following:

-r: This option makes rsync perform a recursive directory transfer.
-l: This option makes rsync copy symbolic links as symbolic links.
-p: This option preserves file permissions.
-t: This option preserves modification times.
-D: This option is equivalent to --devices --specials, preserving devices and special files.
-v: This option increases verbosity. It causes rsync to give more information about what it's doing.
-z: This option compresses the data as it is sent to the destination machine, which reduces the amount of data being transmitted.
--force: This option forces deletion of directories even if not empty.
--mkpath: This option is not a standard rsync option. It might be specific to a certain version or variant of rsync.
Please note that I'm an AI programming assistant and my expertise is strictly limited to software development topics.

co-pilot seems to think --mkpath isn't an option, what does it do?

@stanbrub
Copy link
Contributor Author

stanbrub commented Dec 1, 2023

What do these rsync options do?
-rlptDvz --force --mkpath

The rsync options you provided do the following:
-r: This option makes rsync perform a recursive directory transfer.
-l: This option makes rsync copy symbolic links as symbolic links.
-p: This option preserves file permissions.
-t: This option preserves modification times.
-D: This option is equivalent to --devices --specials, preserving devices and special files.
-v: This option increases verbosity. It causes rsync to give more information about what it's doing.
-z: This option compresses the data as it is sent to the destination machine, which reduces the amount of data being transmitted.
--force: This option forces deletion of directories even if not empty.
--mkpath: This option is not a standard rsync option. It might be specific to a certain version or variant of rsync.
Please note that I'm an AI programming assistant and my expertise is strictly limited to software development topics.

co-pilot seems to think --mkpath isn't an option, what does it do?

In order to place versioned directories like release/v0.30.0, the remote-path action attribute has a directory that doesn't exist. --mkpath creates it. I'm not sure how we would put multiple deploy directories side-by-side with "--delete" turned on, Maybe have a 1st job that makes the version directory and doesn't do delete?

.github/workflows/docs-ci.yml Outdated Show resolved Hide resolved
.github/workflows/docs-ci.yml Outdated Show resolved Hide resolved
.github/workflows/docs-ci.yml Outdated Show resolved Hide resolved
.github/workflows/docs-ci.yml Outdated Show resolved Hide resolved
Copy link
Member

@devinrsmith devinrsmith left a comment

Choose a reason for hiding this comment

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

Looks good - I'm happy to merge this given the brand new directory on the remote_path. Please get approval from @dsmmcken before merge.

Copy link
Contributor

@dsmmcken dsmmcken left a comment

Choose a reason for hiding this comment

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

Looks good, and should be low risk to merge. I'll make whatever changes we need on the other side of the fence once deployed.

@stanbrub stanbrub merged commit 1d255d3 into deephaven:main Dec 11, 2023
18 checks passed
@stanbrub stanbrub deleted the docs-ci-versioned-deploy-directory branch December 11, 2023 19:23
@github-actions github-actions bot locked and limited conversation to collaborators Dec 11, 2023
@stanbrub stanbrub self-assigned this Dec 11, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants