diff --git a/.github/workflows/vhs.yaml b/.github/workflows/vhs.yaml new file mode 100644 index 000000000..741a87b7a --- /dev/null +++ b/.github/workflows/vhs.yaml @@ -0,0 +1,62 @@ +name: vhs +on: + pull_request: + paths: + - '*.tape' + +env: + TERM: "xterm-256color" + COLORTERM: "truecolor" + LANG: "en_US.UTF-8" + ATMOS_LOGS_LEVEL: "Info" + +jobs: + vhs: + runs-on: ubuntu-latest + concurrency: + group: ${{ github.workflow }}-${{ github.event.pull_request.number || github.ref }} + cancel-in-progress: true + + steps: + - uses: actions/checkout@v3 + + - name: Install atmos + uses: jaxxstorm/action-install-gh-release@v1.10.0 + with: # Grab the latest version + repo: cloudposse/atmos + chmod: 0755 + extension-matching: disable + rename-to: atmos + + - name: Setup shell rc + run: | + echo "alias ls='ls --color=always'" >> ~/.bashrc + + - uses: charmbracelet/vhs-action@v1 + with: + token: ${{ secrets.GITHUB_TOKEN }} + path: demo.tape + install-fonts: true + + - uses: stefanzweifel/git-auto-commit-action@v4 + id: auto-commit + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + with: + commit_message: "chore: update demo gif" + commit_user_name: vhs-action 📼 + commit_user_email: actions@github.com + commit_author: vhs-action 📼 + file_pattern: '*.gif' + + - name: Add Image to Job Summary + if: steps.auto-commit.outputs.changes_detected == 'true' + run: | + echo "## Demo GIF" >> $GITHUB_STEP_SUMMARY + echo "![Demo GIF](https://github.com/${{ github.repository }}/blob/${{ steps.auto-commit.outputs.commit_hash }}/docs/demo.gif?raw=true)" >> $GITHUB_STEP_SUMMARY + + - name: No changes + if: steps.auto-commit.outputs.changes_detected == 'false' + run: | + echo "No changes to demo" >> $GITHUB_STEP_SUMMARY + diff --git a/README.md b/README.md index b75b76983..5bbabbb9f 100644 --- a/README.md +++ b/README.md @@ -40,6 +40,11 @@ +## Screenshots + + +![Demo](docs/demo.gif) +*
Example of running atmos to describe infrastructure.* ## Introduction @@ -189,7 +194,7 @@ under the License. All other trademarks referenced herein are the property of their respective owners. --- -Copyright © 2017-2023 [Cloud Posse, LLC](https://cpco.io/copyright) +Copyright © 2017-2024 [Cloud Posse, LLC](https://cpco.io/copyright) [![README Footer][readme_footer_img]][readme_footer_link] [![Beacon][beacon]][website] diff --git a/README.yaml b/README.yaml index 5ceef25cf..93a080ef7 100644 --- a/README.yaml +++ b/README.yaml @@ -26,6 +26,12 @@ categories: - kubernetes - aws +# Screenshots +screenshots: + - name: "Demo" + description: "
Example of running atmos to describe infrastructure." + url: "docs/demo.gif" + description: |- `atmos` - Universal Tool for DevOps and Cloud Automation. diff --git a/demo.tape b/demo.tape new file mode 100644 index 000000000..724c0d38c --- /dev/null +++ b/demo.tape @@ -0,0 +1,75 @@ +# Demo of Atmos + +Output docs/demo.gif + +Set Theme "Monokai Vivid" + +Set FontFamily "FiraCode Nerd Font" +#Set FontFamily "Hack Nerd Font" +Set FontSize 14 + +Set TypingSpeed 40ms + +Set Framerate 30 + +Set WindowBar Colorful + +Set CursorBlink true + +Set BorderRadius 8 + +Set Margin 20 +Set MarginFill "#674EFF" + +Set Padding 12 + +Set Width 1200 +Set Height 600 + +Set PlaybackSpeed 1 + +Set Shell bash + +Type "# First check you have atmos installed" Sleep 500ms Enter +Type "atmos version" Sleep 500ms Enter +Sleep 1 + +Type "# Now let's explore the quick start example" Sleep 500ms Enter +Type "cd examples/quick-start" Sleep 500ms Enter + +Type "ls -al" Sleep 500ms Enter +Sleep 1 + +Type "# Let's see what components we have available!" Sleep 500ms Enter +Type "atmos list components" Sleep 500ms Enter +Sleep 500ms + +Type "# Let's see where they can be deployed" Sleep 500ms Enter +Type "atmos list stacks" Sleep 500ms Enter + +Type "# Let's review the production VPC configuration in the ue2 region..." Sleep 500ms Enter +Type "atmos describe stacks --components=vpc --stack=plat-uw2-prod --sections=vars" Sleep 500ms Enter +Sleep 500ms + +Type "# Or checkout all VPCs" Sleep 500ms Enter +Type "atmos describe stacks --components=vpc --sections=vars | less" Sleep 500ms Enter +Sleep 500ms + +Down 25 Sleep 500ms +Down 25 Sleep 500ms +Down 25 Sleep 500ms +Down 25 Sleep 500ms + +Type "q" Sleep 500ms +Sleep 1 +Type "# atmos has a lot of documented commands" Sleep 500ms Enter +Type "atmos --help" Sleep 500ms Enter +Sleep 500ms +Type "# atmos has native workflows for terraform" Sleep 500ms Enter +Type "atmos terraform --help" Sleep 500ms Enter +Sleep 2s +Type "# check out the docs at https://atmos.tools/" Sleep 500ms Enter +Sleep 500ms +Type "# or join us in #atmos at https://slack.cloudposse.com!" Sleep 500ms Enter +Sleep 2s + diff --git a/docs/demo.gif b/docs/demo.gif new file mode 100644 index 000000000..7c4dc7459 Binary files /dev/null and b/docs/demo.gif differ