Skip to content

Commit

Permalink
Merge pull request #4 from Andrews-McMeel-Universal/sync/_8701cf7
Browse files Browse the repository at this point in the history
🔄 Sync with @Andrews-McMeel-Universal/action_template
  • Loading branch information
ebronson68 committed Apr 1, 2024
2 parents f957c0a + ad56365 commit 16bb3fa
Show file tree
Hide file tree
Showing 8 changed files with 168 additions and 64 deletions.
20 changes: 10 additions & 10 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -1,21 +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`.
## Branch Naming Convention

## Jira Smart Commits
When creating a new branch, it should be associated with a Jira ticket. The branch name should follow this format: `jiraIssueType/AMUPRODUCT-1234/hyphenated-issue-summary`.

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).
## Using Jira Smart Commits

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`
In cases where creating a separate branch for each Jira ticket isn't practical, you can use [smart commits](https://confluence.atlassian.com/fisheye/using-smart-commits-960155400.html) to trigger our automation. Include the Jira issue key in each commit message like this: `[AMUPRODUCT-1234], [AMUPRODUCT-1235] Implemented the 4 required copy edits`.

## Creating Pull Requests
## Pull Request Process

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.
After committing your changes in a separate branch, you'll need to create a pull request (PR) on Github. When creating the PR, adhere to the provided PR template format and include a concise description of the technical details and related Jira tickets.

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.
The PR title should ideally be the branch name. If multiple issues are addressed in a single branch, a brief, descriptive title 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.
You don't need to specify reviewers or assignees. Our CODEOWNERS automation determines who will review your PR. Once an AMU software engineer reviews and approves your PR, and all checks pass, they will merge your PR into the staging and production branches.

> NOTE: On every PR, we do run tests and automatically format the code with Prettier.
> **NOTE:** Every PR triggers tests and automatic code formatting 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.
> **NOTE:** A PR can't be merged until at least one reviewer with write access approves it and all tests pass. If a PR is updated with a new commit, previous reviews will be dismissed.
5 changes: 0 additions & 5 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,11 +51,6 @@ updates:
groups:
# Specify a name for the group, which will be used in pull request titles
# and branch names
dependencies-major:
# Open a PR with all major version updates from "dependencies" in package.json
dependency-type: "production"
update-types:
- "major"
dependencies-minor:
# Open a PR with all minor version updates from "dependencies" in package.json
dependency-type: "production"
Expand Down
27 changes: 19 additions & 8 deletions .github/release-drafter.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
name-template: '$RESOLVED_VERSION'
tag-template: '$RESOLVED_VERSION'
categories:
- title: 🚀 Features
labels:
- 'feature'
- 'epic'
- 'story'
- title: 🐛 Fixes
labels:
- 'bug'
- title: 📝 Documentation
labels:
- 'documentation'
- title: 🔨 Maintenance
labels:
- 'tools'
- 'tests'
- 'dependencies'
- 'documentation'
- title: 🔐 DevOps
labels:
- 'sync'
Expand Down Expand Up @@ -40,18 +43,19 @@ autolabeler:
- ".{npm,nvm}rc"
- label: 'front-end'
files:
- "**/*.{js,js.html,jsx,ts,tsx,html,css,less,scss,sass,otf,eot,ttf,woff*}"
- "**/*.{js,js.html,jsx,ts,tsx,html,css,less,scss,sass,otf,eot,ttf,woff*,erb}"
- "public/"
- "src/"
- "wp-content/"
- ".storybook/"
- "package.json"
- "!/.vscode"
- "!/.devcontainer"
- "!**/*.test.js"
- label: 'back-end'
files:
- "**/*.{cs,sln,csproj,rb,ru}"
- "**/*.{cs,sln,csproj,ru}"
- "appsettings.*json"
- "CodeCoverage.runsettings"
- label: 'tools'
files:
- "/.vscode"
Expand All @@ -60,13 +64,13 @@ autolabeler:
- ".{prettierrc,size-limit,eslintrc}.js"
- ".{yamllint,yarnrc,mega-linter,solargraph,postcssrc,erb-lint,rubocop}.yml"
- ".{jscpd,markdownlint,babel.config,prettierrc,eslintrc,stylelintrc}.json"
- label: 'tests'
files:
- "playwright/**"
- "cypress/**"
- ".spec.*"
- "*.test.js"
- "{jest,playwright}.*.js"
- ".storybook/"
- ".browserlistrc"
- label: 'devops'
files:
- ".github/"
Expand All @@ -80,12 +84,19 @@ version-resolver:
major:
labels:
- 'major'
- 'epic'
- 'feature'
minor:
labels:
- 'minor'
- 'story'
- 'maintenance'
- 'research'
patch:
labels:
- 'patch'
- 'bug'
- 'sync'
default: patch
template: |
## What's Changed
Expand Down
1 change: 1 addition & 0 deletions .github/workflows/cleanup.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ on:
types: [closed]
schedule:
- cron: 0 0 * * 0
workflow_dispatch:

jobs:
cleanup:
Expand Down
15 changes: 13 additions & 2 deletions .github/workflows/linters.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@ jobs:
name: Jira PR Linter
uses: Andrews-McMeel-Universal/reusable_workflows/.github/workflows/jira-lint.yaml@2
with:
fail-on-error: false
skip-comments: true
fail-on-error: ${{ vars.JIRA_LINT_FAIL_ON_ERROR || 'false' }}
skip-comments: ${{ vars.JIRA_LINT_SKIP_COMMENTS || 'true' }}
secrets:
JIRA_TOKEN: ${{ secrets.JIRA_TOKEN }}

Expand All @@ -29,3 +29,14 @@ jobs:
prettierPlugins: ${{ vars.INSTALL_PRETTIER_PLUGINS }}
secrets:
PAT_ACTION_CI: ${{ secrets.PAT_ACTION_CI }}

do-not-merge:
name: Disable merging on label
if: ${{ contains(github.event.pull_request.labels.*.name, 'do not merge') }}
runs-on: ubuntu-latest
steps:
- name: Check for label
run: |
echo "Pull request is labeled as 'do not merge'"
echo "This workflow fails so that the pull request cannot be merged"
exit 1
113 changes: 97 additions & 16 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -152,6 +152,7 @@ wp-content/shield/
/wp-content/plugins/wpengine-snapshot/snapshots
/wp-content/mysql.sql
/.wpe-devkit
/site-archive-*-live-*-*/

# Large and binary files
# NOTE:
Expand Down Expand Up @@ -333,19 +334,90 @@ atlassian-ide-plugin.xml
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/
*Service*/[Dd]ebug/
*Service*/[Dd]ebugPublic/
*Service*/[Rr]elease/
*Service*/[Rr]eleases/
*Service*/x64/
*Service*/x86/
*Service*/[Ww][Ii][Nn]32/
*Service*/[Aa][Rr][Mm]/
*Service*/[Aa][Rr][Mm]64/
*Service*/bld/
*Service*/[Oo]bj/
*Service*/[Ll]og/
*Service*/[Ll]ogs/
*Service*/bin/
SharedLibraries/*/[Dd]ebug/
SharedLibraries/*/[Dd]ebugPublic/
SharedLibraries/*/[Rr]elease/
SharedLibraries/*/[Rr]eleases/
SharedLibraries/*/x64/
SharedLibraries/*/x86/
SharedLibraries/*/[Ww][Ii][Nn]32/
SharedLibraries/*/[Aa][Rr][Mm]/
SharedLibraries/*/[Aa][Rr][Mm]64/
SharedLibraries/*/bld/
SharedLibraries/*/[Oo]bj/
SharedLibraries/*/[Ll]og/
SharedLibraries/*/[Ll]ogs/
SharedLibraries/*/bin/
*Function*/[Dd]ebug/
*Function*/[Dd]ebugPublic/
*Function*/[Rr]elease/
*Function*/[Rr]eleases/
*Function*/x64/
*Function*/x86/
*Function*/[Ww][Ii][Nn]32/
*Function*/[Aa][Rr][Mm]/
*Function*/[Aa][Rr][Mm]64/
*Function*/bld/
*Function*/[Oo]bj/
*Function*/[Ll]og/
*Function*/[Ll]ogs/
*Function*/bin/
*.Models/[Dd]ebug/
*.Models/[Dd]ebugPublic/
*.Models/[Rr]elease/
*.Models/[Rr]eleases/
*.Models/x64/
*.Models/x86/
*.Models/[Ww][Ii][Nn]32/
*.Models/[Aa][Rr][Mm]/
*.Models/[Aa][Rr][Mm]64/
*.Models/bld/
*.Models/[Oo]bj/
*.Models/[Ll]og/
*.Models/[Ll]ogs/
*.Models/bin/
*.Library/[Dd]ebug/
*.Library/[Dd]ebugPublic/
*.Library/[Rr]elease/
*.Library/[Rr]eleases/
*.Library/x64/
*.Library/x86/
*.Library/[Ww][Ii][Nn]32/
*.Library/[Aa][Rr][Mm]/
*.Library/[Aa][Rr][Mm]64/
*.Library/bld/
*.Library/[Oo]bj/
*.Library/[Ll]og/
*.Library/[Ll]ogs/
*.Library/bin/
*.Tests/[Dd]ebug/
*.Tests/[Dd]ebugPublic/
*.Tests/[Rr]elease/
*.Tests/[Rr]eleases/
*.Tests/x64/
*.Tests/x86/
*.Tests/[Ww][Ii][Nn]32/
*.Tests/[Aa][Rr][Mm]/
*.Tests/[Aa][Rr][Mm]64/
*.Tests/bld/
*.Tests/[Oo]bj/
*.Tests/[Ll]og/
*.Tests/[Ll]ogs/
*.Tests/bin/

# Visual Studio 2015/2017 cache/options directory
.vs/
Expand Down Expand Up @@ -726,6 +798,10 @@ FodyWeavers.xsd
/.pnp
.pnp.js

# generated during build
robots.txt
sitemap*.xml

# misc
.DS_Store

Expand Down Expand Up @@ -753,8 +829,10 @@ Secrets.json
.setup_done

# Azure B2C
/**/src/custom-policies/B2C_1A_*_*_SIGNINSIGNOUT_*.xml
/custom-policies/**/B2C_1A_*_*_SIGNINSIGNOUT_*.xml
**/B2C_1A_*SIGNINSIGNOUT*.xml
**/B2C_1A_*IMPERSONATION*.xml
dist/index.html
.parcel-cache/

# Azure Functions
*.Functions/Properties/ServiceDependencies/*/*.json
Expand All @@ -766,4 +844,7 @@ terraform/.terraform/
terraform/*.tfstate*
terraform/*.tfplan
terraform/variables.tf
terraform/*.key
terraform/*.key

# Ansible
vault.yml
19 changes: 10 additions & 9 deletions .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,14 +35,15 @@ src/design-system-package/dist/**
wp-content/

# Games
*Game/
/*Game/

# Dotnet
*Service/
*.Library/
*.Tests/
*.WebAPI/
*.sln
*.csproj
*.lutconfig
.editorconfig
/*Service/
/*.Library/
/*.Tests/
/*.WebAPI/
**/*.sln
**/*.csproj
**/*.cs
/*.lutconfig
/.editorconfig
32 changes: 18 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,41 +1,45 @@
# Action Template

Yarn Install composite action for yarn 3/4+ and "nodeLinker: node-modules"
This is a Yarn Install composite action designed for Yarn versions 3/4+ and "nodeLinker: node-modules". It helps to cache and speed up your Yarn installations in your GitHub workflows.

Reference: https://gist.github.com/belgattitude/042f9caf10d029badbde6cf9d43e400a
Reference: [Gist](https://gist.github.com/belgattitude/042f9caf10d029badbde6cf9d43e400a)

## Getting Started

To get started, clone the repository:

```bash
git clone https://github.com/Andrews-McMeel-Universal/cache-yarn-install
```

## Installation

To make `cache-yarn-install` a part of your workflow, just add a step to one of your workflows in your `.github/workflows/` directory in your GitHub repository.
To integrate `cache-yarn-install` into your workflow, add a step to one of your workflows in the `.github/workflows/` directory of your GitHub repository.

> Requirement: @setup/node should be run before
> **Note:** The `@setup/node` action should be run before this action.
Example:
Here's an example of how to use it:

```YAML
- name: Cache Yarn Install
uses: Andrews-McMeel-Universal/cache-yarn-install@v1
with:
enable-corepack: false
cwd: ${{ github.workspace }}/apps/my-app
cache-prefix: add cache key prefix
cache-prefix: 'your-cache-key-prefix'
cache-node-modules: false
cache-install-state: false
```
## Options
| Variable | Description | Required | `[Default]` |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | :------: | ----------- |
| `cwd` | Changes node's process.cwd() if the project is not located on the root. Default to process.cwd() | | `.` |
| `cache-prefix` | Add a specific cache-prefix | | `'default'` |
| `cache-npm-cache` | Cache npm global cache folder often used by node-gyp, prebuild binaries (invalidated on lock/os/node-version) | | `'true'` |
| `cache-node-modules` | Cache node_modules, might speed up link step (invalidated lock/os/node-version/branch) | | `'false'` |
| `cache-install-state` | Cache yarn install state, might speed up resolution step when node-modules cache is activated (invalidated lock/os/node-version/branch) | | `'false'` |
| `enable-corepack` | Enable corepack | | `'true'` |
Here are the options you can configure for this action:
| Variable | Description | Required | Default |
| --------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | :------: | ------- |
| `cwd` | Changes node's process.cwd() if the project is not located at the root. Defaults to process.cwd() | No | `.` |
| `cache-prefix` | Adds a specific cache-prefix. | No | `'default'` |
| `cache-npm-cache` | Caches npm global cache folder often used by node-gyp, prebuild binaries. Invalidated on lock/os/node-version changes. | No | `'true'` |
| `cache-node-modules` | Caches node_modules to potentially speed up the link step. Invalidated on lock/os/node-version/branch changes. | No | `'false'` |
| `cache-install-state` | Caches yarn install state to potentially speed up the resolution step when node-modules cache is activated. Invalidated on lock/os/node-version/branch changes. | No | `'false'` |
| `enable-corepack` | Enables corepack. | No | `'true'` |

0 comments on commit 16bb3fa

Please sign in to comment.