From a61d53cd3cad35723a50257a425b073b906977f9 Mon Sep 17 00:00:00 2001 From: Ella Bronson <111298136+ebronson68@users.noreply.github.com> Date: Mon, 14 Aug 2023 15:50:09 -0500 Subject: [PATCH] Initial commit --- .gitattributes | 64 ++ .github/.templatesyncignore | 4 + .github/CODEOWNERS | 53 ++ .github/CONTRIBUTING.md | 21 + .github/PULL_REQUEST_TEMPLATE.md | 17 + .github/dependabot.yml | 84 ++ .github/labeler.yml | 78 ++ .github/release.yml | 17 + .github/workflows/dependabot-automations.yml | 32 + .github/workflows/pr-checks.yml | 35 + .github/workflows/pr-clean-caches.yml | 12 + .github/workflows/template-sync.yml | 36 + .github/workflows/update-major-release.yaml | 40 + .gitignore | 762 +++++++++++++++++++ .prettierignore | 43 ++ README.md | 23 + action.yaml | 12 + 17 files changed, 1333 insertions(+) create mode 100644 .gitattributes create mode 100644 .github/.templatesyncignore create mode 100644 .github/CODEOWNERS create mode 100644 .github/CONTRIBUTING.md create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .github/dependabot.yml create mode 100644 .github/labeler.yml create mode 100644 .github/release.yml create mode 100644 .github/workflows/dependabot-automations.yml create mode 100644 .github/workflows/pr-checks.yml create mode 100644 .github/workflows/pr-clean-caches.yml create mode 100644 .github/workflows/template-sync.yml create mode 100644 .github/workflows/update-major-release.yaml create mode 100644 .gitignore create mode 100644 .prettierignore create mode 100644 README.md create mode 100644 action.yaml diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..08920ec --- /dev/null +++ b/.gitattributes @@ -0,0 +1,64 @@ +############################################################################### +# Set default behavior to automatically normalize line endings. +############################################################################### +* text=auto + +############################################################################### +# Set default behavior for command prompt diff. +# +# This is need for earlier builds of msysgit that does not have it on by +# default for csharp files. +# Note: This is only used by command line +############################################################################### +#*.cs diff=csharp + +############################################################################### +# Set the merge driver for project and solution files +# +# Merging from the command prompt will add diff markers to the files if there +# are conflicts (Merging from VS is not affected by the settings below, in VS +# the diff markers are never inserted). Diff markers may cause the following +# file extensions to fail to load in VS. An alternative would be to treat +# these files as binary and thus will always conflict and require user +# intervention with every merge. To do so, just uncomment the entries below +############################################################################### +#*.sln merge=binary +#*.csproj merge=binary +#*.vbproj merge=binary +#*.vcxproj merge=binary +#*.vcproj merge=binary +#*.dbproj merge=binary +#*.fsproj merge=binary +#*.lsproj merge=binary +#*.wixproj merge=binary +#*.modelproj merge=binary +#*.sqlproj merge=binary +#*.wwaproj merge=binary + +############################################################################### +# behavior for image files +# +# image files are treated as binary by default. +############################################################################### +#*.jpg binary +#*.png binary +#*.gif binary +*.gpg -diff + +############################################################################### +# diff behavior for common document formats +# +# Convert binary document formats to text before diffing them. This feature +# is only available from the command line. Turn it on by uncommenting the +# entries below. +############################################################################### +#*.doc diff=astextplain +#*.DOC diff=astextplain +#*.docx diff=astextplain +#*.DOCX diff=astextplain +#*.dot diff=astextplain +#*.DOT diff=astextplain +#*.pdf diff=astextplain +#*.PDF diff=astextplain +#*.rtf diff=astextplain +#*.RTF diff=astextplain diff --git a/.github/.templatesyncignore b/.github/.templatesyncignore new file mode 100644 index 0000000..0e1644b --- /dev/null +++ b/.github/.templatesyncignore @@ -0,0 +1,4 @@ +.github/CODEOWNERS +*.ps1 +README.md +Secrets-example.json \ No newline at end of file diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..b020a31 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1,53 @@ +# General +* @Andrews-McMeel-Universal/devops-engineers + +# Front-end Engineering +# *.html @Andrews-McMeel-Universal/front-end-engineers +# *.lock @Andrews-McMeel-Universal/front-end-engineers +# *.js @Andrews-McMeel-Universal/front-end-engineers +# *.jsx @Andrews-McMeel-Universal/front-end-engineers +# *.ts @Andrews-McMeel-Universal/front-end-engineers +# *.tsx @Andrews-McMeel-Universal/front-end-engineers +# *.css @Andrews-McMeel-Universal/front-end-engineers +# *.less @Andrews-McMeel-Universal/front-end-engineers +# *.scss @Andrews-McMeel-Universal/front-end-engineers +# *.sass @Andrews-McMeel-Universal/front-end-engineers +# *.otf @Andrews-McMeel-Universal/front-end-engineers +# *.eot @Andrews-McMeel-Universal/front-end-engineers +# *.ttf @Andrews-McMeel-Universal/front-end-engineers +# *.woff* @Andrews-McMeel-Universal/front-end-engineers +# *.svg @Andrews-McMeel-Universal/front-end-engineers +# *.jpg @Andrews-McMeel-Universal/front-end-engineers +# *.jpeg @Andrews-McMeel-Universal/front-end-engineers +# *.gif @Andrews-McMeel-Universal/front-end-engineers +# *.png @Andrews-McMeel-Universal/front-end-engineers +# *.ico @Andrews-McMeel-Universal/front-end-engineers +# public/** @Andrews-McMeel-Universal/front-end-engineers +# src/** @Andrews-McMeel-Universal/front-end-engineers +# .storybook/** @Andrews-McMeel-Universal/front-end-engineers +# .browserslistrc @Andrews-McMeel-Universal/front-end-engineers +# **eslint** @Andrews-McMeel-Universal/front-end-engineers +# **jest** @Andrews-McMeel-Universal/front-end-engineers +# **prettier** @Andrews-McMeel-Universal/front-end-engineers +# **stylelint** @Andrews-McMeel-Universal/front-end-engineers +# **/src/assets/** @Andrews-McMeel-Universal/front-end-engineers +# **/src/src/** @Andrews-McMeel-Universal/front-end-engineers +# **/src/amu/** @Andrews-McMeel-Universal/front-end-engineers + +# Back-end Engineering +# **.cs @Andrews-McMeel-Universal/back-end-engineers +# **.csproj @Andrews-McMeel-Universal/back-end-engineers +# **.sln @Andrews-McMeel-Universal/back-end-engineers +# data/** @Andrews-McMeel-Universal/back-end-engineers +# *.Library/ @Andrews-McMeel-Universal/back-end-engineers +# *.Tests/ @Andrews-McMeel-Universal/back-end-engineers +# *.WebAPI/ @Andrews-McMeel-Universal/back-end-engineers +# *.UnitTests/ @Andrews-McMeel-Universal/back-end-engineers + +# DevOps +.github/ @Andrews-McMeel-Universal/devops-engineers +deployments/ @Andrews-McMeel-Universal/devops-engineers +*-Secrets.ps1 @Andrews-McMeel-Universal/devops-engineers +Dockerfile @Andrews-McMeel-Universal/devops-engineers +docker-compose.yml @Andrews-McMeel-Universal/devops-engineers +.nvmrc* @Andrews-McMeel-Universal/devops-engineers diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md new file mode 100644 index 0000000..39ab30d --- /dev/null +++ b/.github/CONTRIBUTING.md @@ -0,0 +1,21 @@ +# Contributing + +New branches should always be associated with a Jira ticket. The branch should be prefixed with the issue key and a short description, like so: `jiraIssueType/AMUPRODUCT-1234/hyphenated-issue-summary`. + +## Jira Smart Commits + +In scenarios where creating a separate branch for each Jira ticket is not exactly feasible, you can still trigger our automation by using what are called [smart commits](https://confluence.atlassian.com/fisheye/using-smart-commits-960155400.html). + +To use Jira smart commits, you would include the Jira issue key for each commit like so: `[AMUPRODUCT-1234], [AMUPRODUCT-1235] Knocked out the 4 copy edits needed` + +## Creating Pull Requests + +Once you have committed your effort in a separate branch, you will need to raise a pull request in Github. While filling out the Pull Request, **Please** follow the pull request template format and write a brief description of any technical details and Jira tickets that are related to the PR. + +The recommended title for the pull request is typically just the branch name. Again, if a single issue per branch is not feasible, including a brief title of the effort is acceptable. + +You do not need to fill in the reviewers or assignees. Our CODEOWNERS automation takes care of who will need to review it. As long as a AMU software engineer reviews it and the other checks pass, they will take care of merging the pull request into staging and production. + +> NOTE: On every PR, we do run tests and automatically format the code with Prettier. + +> NOTE: A PR will not be able to be merged until at least 1 reviewer with write access has approved it and all tests are passing. If a PR is updated with a new commit, stale reviews will be dismissed. diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..8ac8526 --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,17 @@ + + +## Description + + + +## Related Issues + + + +- Jira Issue: PROJECT- diff --git a/.github/dependabot.yml b/.github/dependabot.yml new file mode 100644 index 0000000..2d8d3bb --- /dev/null +++ b/.github/dependabot.yml @@ -0,0 +1,84 @@ +# Please see the documentation for all configuration options: +# https://docs.github.com/github/administering-a-repository/configuration-options-for-dependency-updates + +version: 2 +updates: + - package-ecosystem: "github-actions" + directory: ".github/" + schedule: + interval: "monthly" + day: "monday" + labels: + - "devops" + - "dependencies" + open-pull-requests-limit: 10 + commit-message: + # Prefix all commit messages with 'github-actions' + prefix: "github-actions" + + - package-ecosystem: "docker" + directory: "/" + ignore: + - dependency-name: node + - dependency-name: ruby + - dependency-name: dotnet/sdk + - dependency-name: "*" + update-types: ["version-update:semver-major"] + schedule: + interval: "monthly" + day: "monday" + labels: + - "dependencies" + - "devops" + open-pull-requests-limit: 10 + commit-message: + # Prefix all commit messages with 'docker' + prefix: "docker" + + - package-ecosystem: "npm" # for yarn + directory: "/" # Look for `package.json` and `lock` files in the `root` directory + schedule: + interval: "monthly" + day: "monday" + labels: + - "front-end" + - "dependencies" + versioning-strategy: increase + open-pull-requests-limit: 10 + commit-message: + # Prefix all commit messages with 'npm' + prefix: "npm" + + - package-ecosystem: bundler + directory: "/" + schedule: + interval: "monthly" + day: "monday" + ignore: + - dependency-name: nokogiri + versions: + - "> 1.12.0" + - dependency-name: "*" + update-types: ["version-update:semver-major","version-update:semver-minor"] + labels: + - "dependencies" + open-pull-requests-limit: 10 + commit-message: + # Prefix all commit messages with 'bundler' + prefix: "bundler" + + - package-ecosystem: "nuget" + directory: "/" + schedule: + interval: "monthly" + day: "monday" + ignore: + - dependency-name: "*" + update-types: ["version-update:semver-major"] + labels: + - "back-end" + - "dependencies" + open-pull-requests-limit: 10 + commit-message: + # Prefix all commit messages with 'nuget' + prefix: "nuget" diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 0000000..82e2eee --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,78 @@ +dependencies: + - yarn.lock + - package.json + - "**/package-lock.json" + - Gemfile.lock + - Gemfile + - ".ruby-version" + - "**/*.csproj" + - "**/pnpm-lock.yaml" + +documentation: + - "**/*.md" + +front-end: + - "**/*.js" + - "**/*.js.html" + - "**/*.json" + - "**/*.jsx" + - "**/*.ts" + - "**/*.tsx" + - "**/*.html" + - "**/*.css" + - "**/*.less" + - "**/*.scss" + - "**/*.sass" + - "**/*.otf" + - "**/*.eot" + - "**/*.ttf" + - "**/*.woff*" + - "**/*.svg" + - "**/*.jpg" + - "**/*.jpeg" + - "**/*.gif" + - "**/*.png" + - "**/*.ico" + - "public/**" + - "src/**" + - .storybook/** + - package.json + - wp-content/ + - "!**/Secrets.json*" + - "!/.vscode" + - "!**/*.test.js" + - "!.github/**" + +back-end: + - "**/*.cs" + - "**/*.csproj" + - "**/*.sln" + - "**/**.json" + - "bin/" + - "**/*.rb" + - "Rakefile" + - "**/*.yml" + - "**/*.ru" + - "!**/Secrets.json*" + - "!.github/**" + +tools: + - "/.vscode" + - "/.devcontainer" + +tests: + - "playwright/**" + - "cypress/**" + - "**/.spec.*" + - "**/*.test.js" + - ".github/workflows/workflow-linter.yaml" + - ".github/actionlint.yaml" + +devops: + - ".github/**" + - "deployments/**" + - "*.ps1" + - "Secrets.json*" + - "docker-compose.yml" + - "Dockerfile" + - ".*ignore" diff --git a/.github/release.yml b/.github/release.yml new file mode 100644 index 0000000..35d1358 --- /dev/null +++ b/.github/release.yml @@ -0,0 +1,17 @@ +changelog: + categories: + - title: General Changes + labels: + - "*" + exclude: + authors: + - dependabot + - title: DevOps Changes + labels: + - devops + exclude: + labels: + - dependencies + - title: Dependencies + labels: + - dependencies diff --git a/.github/workflows/dependabot-automations.yml b/.github/workflows/dependabot-automations.yml new file mode 100644 index 0000000..469dc33 --- /dev/null +++ b/.github/workflows/dependabot-automations.yml @@ -0,0 +1,32 @@ +name: Dependabot Automations + +on: + pull_request_target: + types: [opened, synchronize, reopened] + branches: [main, development] + +permissions: + pull-requests: write + contents: write + repository-projects: write + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +jobs: + dependabot-automations: + if: ${{ github.actor == 'dependabot[bot]' }} + name: Dependabot PR Automations + uses: Andrews-McMeel-Universal/reusable_workflows/.github/workflows/dependabot-automations.yaml@2 + with: + autoApprove: true + autoMerge: false + + required-checks: + name: Required Checks + runs-on: ubuntu-latest + needs: [dependabot-automations] + steps: + - name: Checkout code + uses: actions/checkout@v3 diff --git a/.github/workflows/pr-checks.yml b/.github/workflows/pr-checks.yml new file mode 100644 index 0000000..a5c8687 --- /dev/null +++ b/.github/workflows/pr-checks.yml @@ -0,0 +1,35 @@ +name: PR Checks + +on: + pull_request: + types: [opened, synchronize, reopened] + +jobs: + pr-labels: + if: ${{ github.actor != 'dependabot[bot]' }} + name: PR Labels + uses: Andrews-McMeel-Universal/reusable_workflows/.github/workflows/pr-labels.yaml@2 + secrets: + PAT_ACTION_CI: ${{ secrets.PAT_ACTION_CI }} + + codeowners-validation: + if: ${{ github.actor != 'dependabot[bot]' }} + name: Codeowners File Validation + uses: Andrews-McMeel-Universal/reusable_workflows/.github/workflows/codeowners-validation.yaml@2 + + jira-lint: + if: ${{ github.actor != 'dependabot[bot]' && github.actor != 'amutechtest' && github.ref != 'refs/heads/development' && github.ref != 'refs/heads/main' }} + name: Jira PR Linter + uses: Andrews-McMeel-Universal/reusable_workflows/.github/workflows/jira-lint.yaml@2 + with: + fail-on-error: false + skip-comments: true + secrets: + JIRA_TOKEN: ${{ secrets.JIRA_TOKEN }} + + lint: + if: ${{ github.actor != 'dependabot[bot]' }} + name: Simple Lint + uses: Andrews-McMeel-Universal/reusable_workflows/.github/workflows/simple-lint.yaml@2 + secrets: + PAT_ACTION_CI: ${{ secrets.PAT_ACTION_CI }} diff --git a/.github/workflows/pr-clean-caches.yml b/.github/workflows/pr-clean-caches.yml new file mode 100644 index 0000000..8169ff9 --- /dev/null +++ b/.github/workflows/pr-clean-caches.yml @@ -0,0 +1,12 @@ +name: Cleanup caches + +on: + pull_request: + types: [closed] + schedule: + - cron: 0 0 * * * + +jobs: + cleanup: + name: Cleanup PR Caches + uses: Andrews-McMeel-Universal/reusable_workflows/.github/workflows/pr-clean-caches.yaml@2 diff --git a/.github/workflows/template-sync.yml b/.github/workflows/template-sync.yml new file mode 100644 index 0000000..9797fda --- /dev/null +++ b/.github/workflows/template-sync.yml @@ -0,0 +1,36 @@ +name: 🔄 Sync with .github repository + +on: + schedule: + - cron: 0 9 1 * * + workflow_dispatch: + inputs: + isdryrun: + type: boolean + description: Dry run + default: false + +jobs: + repo-sync: + name: Repository Sync + runs-on: ubuntu-latest + steps: + - name: Checkout branch or tag + uses: actions/checkout@v3 + with: + token: ${{ secrets.PAT_ACTION_CI }} + + - name: actions-template-sync + uses: AndreasAugustin/actions-template-sync@v1.1.1 + with: + github_token: ${{ secrets.PAT_ACTION_CI }} + source_repo_path: Andrews-McMeel-Universal/.github + upstream_branch: main + pr_labels: maintenance + pr_commit_msg: 🔄 Synchronize with @Andrews-McMeel-Universal/.github + pr_title: 🔄 Sync with @Andrews-McMeel-Universal/.github + pr_branch_name_prefix: sync/dotgithub/ + pr_reviewers: Andrews-McMeel-Universal/devops-engineers + is_dry_run: ${{ inputs.isdryrun || 'false' }} + git_user_name: amutechtest + git_user_email: amu_deploy@amuniversal.com diff --git a/.github/workflows/update-major-release.yaml b/.github/workflows/update-major-release.yaml new file mode 100644 index 0000000..8b4164c --- /dev/null +++ b/.github/workflows/update-major-release.yaml @@ -0,0 +1,40 @@ +name: Update Major Release + +run-name: Move ${{ github.event.inputs.major_version }} to ${{ github.event.inputs.target }} + +on: + workflow_dispatch: + inputs: + target: + description: The tag or reference to use + required: true + major_version: + type: choice + description: The major version to update + options: + - "v1" + - "v2" + - "v3" + - "v4" + - "v5" + - "v6" + +jobs: + tag: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v3 + with: + fetch-depth: 0 + token: ${{ secrets.PAT_ACTION_CI }} + + - name: Git config + run: | + git config user.name github-actions + git config user.email github-actions@github.com + + - name: Tag new target + run: git tag -f ${{ github.event.inputs.major_version }} ${{ github.event.inputs.target }} + + - name: Push new tag + run: git push origin ${{ github.event.inputs.major_version }} --force diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..4f6097f --- /dev/null +++ b/.gitignore @@ -0,0 +1,762 @@ +# AMU General Gitignore +# Includes general ignores plus these specific ignores: +# Rails, Node/JS, SCSS/Sass, JetBrains IDEs, Visual Studio, and VSCode + +# Usage: +# Put project-specific ignores at the bottom of this file under "Project Specific" + +# To check what's currently ignored run: git check-ignore **/* +# To debug files that may have been accidentally tracked: git check-ignore **/* --no-index + +# To reset git's tracked files and remove files/directories that should be ignored: +# commit changes, including the updated .gitignore +# run: git rm -r --cached . +# or dry run (to test before removing): git rm -r --cached . --dry-run +# commit all changes + +################### + +# General + +# macOS +.DS_Store + +# logfiles and tempfiles +/log/* +/tmp/* +**/tmp/pids/ +**/tmp/cache/ +!/log/.keep +!/tmp/.keep +logs +*.log* +github_conf/* + +# db +/db/*.sqlite3 +/db/*.sqlite3-journal +/db/*.sqlite3-[0-9]* +*.sql +*.sqlite + +# ssh +id_rsa + +# azure-content-management_tool ignore +**/azcm_db_config.psd1 + +################### + +# Rails +# https://github.com/github/gitignore/blob/master/Rails.gitignore + +*.rbc +capybara-*.html +.rspec +/public/system +/coverage/ +/spec/tmp +*.orig +rerun.txt +tfs-sw.js +tfs-sw.js.map +workbox-*.js +workbox-*.js.map +jest-results.xml +*.sphinx.conf + +# Comment out this rule if you are OK with secrets being uploaded to the repo +config/initializers/secret_token.rb +config/master.key + +# WordPress specific files +# NOTE: +# WP Engine automatically updates part or all of WordPress under certain +# circumstances, so generally it is desirable to not version control copies of +# the. However, in case you do have some specific need to version control +# these files, you can comment out these lines. +wp-config.php +wp-content/uploads/ +wp-content/blogs.dir/ +wp-content/upgrade/* +wp-content/backup-db/* +wp-content/advanced-cache.php +wp-content/wp-cache-config.php +wp-content/cache/* + +# Themes (AMU Specific) +/wp-content/themes/twentynineteen +/wp-content/themes/twentytwenty +/wp-content/themes/twentytwentyone +/wp-content/themes/index.php + +# Version Control files +*.bak +*.svn +*.cvs +*.swp + +# Plugins (AMU Specific) +wp-content/mu-plugins/ +wp-content/plugins/ +wp-content/shield/ + +# WP Core (AMU Specific) +/db-config.php +/wp-activate.php +/wp-app.php +/wp-atom.php +/wp-blog-header.php +/wp-comments-post.php +/wp-commentsrss2.php +/wp-config-sample.php +/wp-cron.php +/wp-feed.php +/wp-links-opml.php +/wp-load.php +/wp-login.php +/wp-mail.php +/wp-rdf.php +/wp-rss.php +/wp-rss2.php +/wp-pass.php +/wp-register.php +/wp-settings.php +/wp-signup.php +/wp-trackback.php +/xmlrpc.php +/wp-admin +/wp-includes +/wp-content/index.php +.wpe-pull-ignore +.wpe-push-ignore +.wpengine-conf/ + + +# NOTE: +# These files are specific to running a WordPress site at WP Engine and would +# likely result in a broken production site if modified in production (in +# fact, permissions would prevent modification for many of these files). It is +# strongly recommended that you do not attempt to modify these files in +# production. +/_wpeprivate +/wp-content/object-cache.php +/wp-content/mu-plugins/mu-plugin.php +/wp-content/mu-plugins/slt-force-strong-passwords.php +/wp-content/mu-plugins/stop-long-comments.php +/wp-content/mu-plugins/force-strong-passwords* +/wp-content/mu-plugins/wpe-devkit* +/wp-content/mu-plugins/wpengine-common* +/wp-content/mu-plugins/wpengine-excerpt* +/wp-content/mu-plugins/wpe-wp-sign-on-plugin* +/wp-content/plugins/wpengine-snapshot/snapshots +/wp-content/mysql.sql +/.wpe-devkit + +# Large and binary files +# NOTE: +# It is generally considered bad practice to version control binary asset +# files in the same repo as text code, but you can attempt to proceed anyway +# by commenting out these lines. +*.hqx +*.exe +*.deb +*.dmg +*.iso +*.img +*.msi +*.msp +*.msm +*.mid +*.midi +*.kar +*.mp3 +*.ogg +*.m4a +*.ra +*.3gpp +*.3gp +*.mp4 +*.mpeg +*.mpg +*.mov +*.webm +*.flv +*.m4v +*.mng +*.asx +*.asf +*.wmv +*.avi + +# Only include if you have production secrets in this file, which is no longer a Rails default +# config/secrets.yml + +## Environment normalization: +/.bundle +/vendor/bundle + +# these should all be checked in to normalize the environment: +# Gemfile.lock, .ruby-version, .ruby-gemset + +# unless supporting rvm < 1.11.0 or doing something fancy, ignore this: +.rvmrc + +# Ignore pow environment settings +.powenv + +# Ignore Byebug command history file. +.byebug_history + +# Ignore precompiled javascript packs +/public/packs +/public/packs-test +/public/assets +/public/cache/* +/public/uploads/* + +# Ignore compiled storybook directory +/storybook-static + +# Ignore uploaded files in development +/storage/* +!/storage/.keep + +################### + +# Node/JS +# https://github.com/github/gitignore/blob/master/Node.gitignore + +/.next/ +/out/ +.cache +.npm +next.config.original.js +next.config.wizardcopy.js +/build + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Dependencies +node_modules/ + +# CI Health Reporting +coverage/ +# TODO: We should organize linting/test reports into coverage. +# coverage/linting/* +# coverage/unit/* +# coverage/integration/* +/test-results/* +megalinter-reports/* +jscpd-report.json + +# Automated Testing +/coverage/integration +/test-results/ +/playwright/storage-states/ +/playwright/.cache/ +/playwright-report/ + +# Optional eslint cache +.eslintcache + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity +yarn-error.log + +# Configs +configFile.json +levelFile.json + +################### + +# SCSS/Sass +# https://github.com/github/gitignore/blob/master/Sass.gitignore + +.sass-cache/ +*.css.map +*.sass.map +*.scss.map + +################### + +# JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm +# https://github.com/github/gitignore/blob/master/Global/JetBrains.gitignore + +# User-specific stuff +.idea* + +# IntelliJ +out/ + +# JIRA plugin +atlassian-ide-plugin.xml + +# Editor-based Rest Client +.idea/httpRequests + +################### + +## Ignore Visual Studio temporary files, build results, and +## files generated by popular Visual Studio add-ons. +## +## Get latest from https://github.com/github/gitignore/blob/main/VisualStudio.gitignore + +# User-specific files +*.rsuser +*.suo +*.user +*.userosscache +*.sln.docstates + +# User-specific files (MonoDevelop/Xamarin Studio) +*.userprefs + +# Mono auto generated files +mono_crash.* + +# Build results +[Dd]ebug/ +[Dd]ebugPublic/ +[Rr]elease/ +[Rr]eleases/ +x64/ +x86/ +[Ww][Ii][Nn]32/ +[Aa][Rr][Mm]/ +[Aa][Rr][Mm]64/ +bld/ +[Oo]bj/ +[Ll]og/ +[Ll]ogs/ + +# Visual Studio 2015/2017 cache/options directory +.vs/ +# Uncomment if you have tasks that create the project's static files in wwwroot +#wwwroot/ + +# Visual Studio 2017 auto generated files +Generated\ Files/ + +# MSTest test Results +[Tt]est[Rr]esult*/ +[Bb]uild[Ll]og.* + +# NUnit +*.VisualState.xml +TestResult.xml +nunit-*.xml + +# Build Results of an ATL Project +[Dd]ebugPS/ +[Rr]eleasePS/ +dlldata.c + +# Benchmark Results +BenchmarkDotNet.Artifacts/ + +# .NET Core +project.lock.json +project.fragment.lock.json +artifacts/ + +# ASP.NET Scaffolding +ScaffoldingReadMe.txt + +# StyleCop +StyleCopReport.xml + +# Files built by Visual Studio +*_i.c +*_p.c +*_h.h +*.ilk +*.meta +*.obj +*.iobj +*.pch +*.pdb +*.ipdb +*.pgc +*.pgd +*.rsp +*.sbr +*.tlb +*.tli +*.tlh +*.tmp +*.tmp_proj +*_wpftmp.csproj +*.log +*.tlog +*.vspscc +*.vssscc +.builds +*.pidb +*.svclog +*.scc + +# Chutzpah Test files +_Chutzpah* + +# Visual C++ cache files +ipch/ +*.aps +*.ncb +*.opendb +*.opensdf +*.sdf +*.cachefile +*.VC.db +*.VC.VC.opendb + +# Visual Studio profiler +*.psess +*.vsp +*.vspx +*.sap + +# Visual Studio Trace Files +*.e2e + +# TFS 2012 Local Workspace +$tf/ + +# Guidance Automation Toolkit +*.gpState + +# ReSharper is a .NET coding add-in +_ReSharper*/ +*.[Rr]e[Ss]harper +*.DotSettings.user + +# TeamCity is a build add-in +_TeamCity* + +# DotCover is a Code Coverage Tool +*.dotCover + +# AxoCover is a Code Coverage Tool +.axoCover/* +!.axoCover/settings.json + +# Coverlet is a free, cross platform Code Coverage Tool +coverage*.json +coverage*.xml +coverage*.info + +# Visual Studio code coverage results +*.coverage +*.coveragexml + +# NCrunch +_NCrunch_* +.*crunch*.local.xml +nCrunchTemp_* + +# MightyMoose +*.mm.* +AutoTest.Net/ + +# Web workbench (sass) +.sass-cache/ + +# Installshield output folder +[Ee]xpress/ + +# DocProject is a documentation generator add-in +DocProject/buildhelp/ +DocProject/Help/*.HxT +DocProject/Help/*.HxC +DocProject/Help/*.hhc +DocProject/Help/*.hhk +DocProject/Help/*.hhp +DocProject/Help/Html2 +DocProject/Help/html + +# Click-Once directory +publish/ + +# Publish Web Output +*.[Pp]ublish.xml +*.azurePubxml +# Note: Comment the next line if you want to checkin your web deploy settings, +# but database connection strings (with potential passwords) will be unencrypted +*.pubxml +*.publishproj + +# Microsoft Azure Web App publish settings. Comment the next line if you want to +# checkin your Azure Web App publish settings, but sensitive information contained +# in these scripts will be unencrypted +PublishScripts/ + +# NuGet Packages +*.nupkg +# NuGet Symbol Packages +*.snupkg +# The packages folder can be ignored because of Package Restore +**/[Pp]ackages/* +# except build/, which is used as an MSBuild target. +!**/[Pp]ackages/build/ +# Uncomment if necessary however generally it will be regenerated when needed +#!**/[Pp]ackages/repositories.config +# NuGet v3's project.json files produces more ignorable files +*.nuget.props +*.nuget.targets + +# Microsoft Azure Build Output +csx/ +*.build.csdef + +# Microsoft Azure Emulator +ecf/ +rcf/ + +# Windows Store app package directories and files +AppPackages/ +BundleArtifacts/ +Package.StoreAssociation.xml +_pkginfo.txt +*.appx +*.appxbundle +*.appxupload + +# Visual Studio cache files +# files ending in .cache can be ignored +*.[Cc]ache +# but keep track of directories ending in .cache +!?*.[Cc]ache/ + +# Others +ClientBin/ +~$* +*~ +*.dbmdl +*.dbproj.schemaview +*.jfm +*.pfx +*.publishsettings +orleans.codegen.cs + +# Including strong name files can present a security risk +# (https://github.com/github/gitignore/pull/2483#issue-259490424) +#*.snk + +# Since there are multiple workflows, uncomment next line to ignore bower_components +# (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) +#bower_components/ + +# RIA/Silverlight projects +Generated_Code/ + +# Backup & report files from converting an old project file +# to a newer Visual Studio version. Backup files are not needed, +# because we have git ;-) +_UpgradeReport_Files/ +Backup*/ +UpgradeLog*.XML +UpgradeLog*.htm +ServiceFabricBackup/ +*.rptproj.bak + +# SQL Server files +*.mdf +*.ldf +*.ndf + +# Business Intelligence projects +*.rdl.data +*.bim.layout +*.bim_*.settings +*.rptproj.rsuser +*- [Bb]ackup.rdl +*- [Bb]ackup ([0-9]).rdl +*- [Bb]ackup ([0-9][0-9]).rdl + +# Microsoft Fakes +FakesAssemblies/ + +# GhostDoc plugin setting file +*.GhostDoc.xml + +# Node.js Tools for Visual Studio +.ntvs_analysis.dat +node_modules/ + +# Visual Studio 6 build log +*.plg + +# Visual Studio 6 workspace options file +*.opt + +# Visual Studio 6 auto-generated workspace file (contains which files were open etc.) +*.vbw + +# Visual Studio 6 auto-generated project file (contains which files were open etc.) +*.vbp + +# Visual Studio 6 workspace and project file (working project files containing files to include in project) +*.dsw +*.dsp + +# Visual Studio 6 technical files +*.ncb +*.aps + +# Visual Studio LightSwitch build output +**/*.HTMLClient/GeneratedArtifacts +**/*.DesktopClient/GeneratedArtifacts +**/*.DesktopClient/ModelManifest.xml +**/*.Server/GeneratedArtifacts +**/*.Server/ModelManifest.xml +_Pvt_Extensions + +# Paket dependency manager +.paket/paket.exe +paket-files/ + +# FAKE - F# Make +.fake/ + +# CodeRush personal settings +.cr/personal + +# Python Tools for Visual Studio (PTVS) +__pycache__/ +*.pyc + +# Cake - Uncomment if you are using it +# tools/** +# !tools/packages.config + +# Tabs Studio +*.tss + +# Telerik's JustMock configuration file +*.jmconfig + +# BizTalk build output +*.btp.cs +*.btm.cs +*.odx.cs +*.xsd.cs + +# OpenCover UI analysis results +OpenCover/ + +# Azure Stream Analytics local run output +ASALocalRun/ + +# MSBuild Binary and Structured Log +*.binlog + +# NVidia Nsight GPU debugger configuration file +*.nvuser + +# MFractors (Xamarin productivity tool) working folder +.mfractor/ + +# Local History for Visual Studio +.localhistory/ + +# Visual Studio History (VSHistory) files +.vshistory/ + +# BeatPulse healthcheck temp database +healthchecksdb + +# Backup folder for Package Reference Convert tool in Visual Studio 2017 +MigrationBackup/ + +# Ionide (cross platform F# VS Code tools) working folder +.ionide/ + +# Fody - auto-generated XML schema +FodyWeavers.xsd + +# VS Code files for those working on multiple tools +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +*.code-workspace + +# Local History for Visual Studio Code +.history/ + +# Windows Installer files from build outputs +*.cab +*.msi +*.msix +*.msm +*.msp + +# JetBrains Rider +*.sln.iml + +################### + +# VSCode +# https://github.com/github/gitignore/blob/master/Global/VisualStudioCode.gitignore + +# by default all files in this directory should be ignored in Git +.vscode/* +*devcontainer.env + +# these rules can be shared with collaborators +# uncomment these lines if you wish to share these config files +# !.vscode/settings.json +# !.vscode/tasks.json +# !.vscode/launch.json +# !.vscode/extensions.json + +################### + +# Project Specific +# unique ignores for this project + +# dependencies +/.pnp +.pnp.js + +# generated during build +robots.txt +sitemap*.xml + +# misc +.DS_Store + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* +debug.log + +# local env files +.env +.env.local +.env.*.local + +# Sentry +.sentryclirc +.sentry.properties + +# Key Vaults +Secrets.json + +#History directory +./history/ +*.history +.setup_done + +# Azure B2C +/**/src/custom-policies/B2C_1A_*_*_SIGNINSIGNOUT_*.xml +/custom-policies/**/B2C_1A_*_*_SIGNINSIGNOUT_*.xml diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..cd1b88b --- /dev/null +++ b/.prettierignore @@ -0,0 +1,43 @@ +# General +.cache/ +.git/ + + +# GitHub Actions Workflows +.github/dependabot.yml +.github/labeler.yml +.github/workflows/aks*.yml + +# Helm +deployments/**/templates/ +**/values.yaml + +# Docker +docker-compose.yml + +# Node.js +.next +build/ +coverage/ +playwright-report/ +test-results/ +**.js.map +**.bundle.js +storybook-static +src/helpers/utilities/tokens/_design_tokens.js + +# WordPress +wp-content/ + +# Games +*Game/ + +# Dotnet +*Service/ +*.Library/ +*.Tests/ +*.WebAPI/ +*.sln +*.csproj +*.lutconfig +.editorconfig \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..0ce22de --- /dev/null +++ b/README.md @@ -0,0 +1,23 @@ +# Action Template + +GitHub action to echo "Hello World" + +Template repository for reusable GitHub actions + +You can use this guide to figure out how to update your application using the template: [Creating a new repository from a template](https://amuniversal.atlassian.net/wiki/spaces/TD/pages/3419832336/Creating+a+New+GitHub+Repository#Creating-a-new-repository-from-a-template) + +## Getting Started + +```bash +git clone https://github.com/Andrews-McMeel-Universal/action_template +``` + +## Installation + +To make `action_template` a part of your workflow, just add a step to one of your workflows in your `.github/workflows/` directory in your GitHub repository. + +## Options + +| Variable | Description | Required | `[Default]` | +| -------- | ----------------- | :------: | --------------- | +| `input` | Input Description | x | `Default Value` | diff --git a/action.yaml b/action.yaml new file mode 100644 index 0000000..45771cd --- /dev/null +++ b/action.yaml @@ -0,0 +1,12 @@ +name: Default GitHub Action + +description: Default GitHub Action that outputs "Hello World" + +branding: + color: purple + icon: unlock +runs: + using: "composite" + steps: + - run: echo "Hello World" >> $GITHUB_OUTPUT + shell: bash