diff --git a/.github/workflows/repo-visualization.yml b/.github/workflows/repo-visualization.yml new file mode 100644 index 00000000..25d5d246 --- /dev/null +++ b/.github/workflows/repo-visualization.yml @@ -0,0 +1,68 @@ +--- +############################## +############################## +## Repository Visualization ## +############################## +############################## + +# +# Documentation: +# https://help.github.com/en/articles/workflow-syntax-for-github-actions +# + +name: Repository Visualization +########################################### +# Start the job on all push or PR to main # +########################################### +on: + push: + #pull_request: + # type: [closed] + +############### +# Set the Job # +############### +jobs: + build: + # Name the Job + name: Repository Visualization + # Set the agent to run on + runs-on: ubuntu-latest + timeout-minutes: 60 + + ############### + # Steps below # + ############### + steps: + ############################ + # Checkout the source code # + ############################ + - name: Checkout Code + uses: actions/checkout@v3 + + ############################## + # Create Visualization Files # + ############################## + - name: Create Visualization + uses: githubocto/repo-visualizer@0.7.1 + with: + output_file: "./diagram.svg" + should_push: false + + ########################### + # Configure the AWS creds # + ########################### + - name: Configure AWS Credentials + if: success() + uses: aws-actions/configure-aws-credentials@v1 + with: + aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY }} + aws-secret-access-key: ${{ secrets.AWS_SECRET_KEY }} + aws-region: ${{ secrets.AWS_REGION }} + + ############################ + # Push the image to aws s3 # + ############################ + - name: Push diagram to s3 + if: success() + run: aws s3 cp diagram.svg s3://super-linter/diagram.svg diff --git a/README.md b/README.md index c723434a..0bb4e48f 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,10 @@ The super-linter finds issues and reports them to the console output. Fixes are The design of the **Super-Linter** is currently to allow linting to occur in **GitHub Actions** as a part of continuous integration occurring on pull requests as the commits get pushed. It works best when commits are being pushed early and often to a branch with an open or draft pull request. There is some desire to move this closer to local development for faster feedback on linting errors but this is not yet supported. +### Repository Visualization + +![Visualization of the codebase](https://super-linter.s3.us-west-2.amazonaws.com/diagram.svg) + ## Supported Linters Developers on **GitHub** can call the **GitHub Action** to lint their codebase with the following list of linters: