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

🔄 Sync with @Andrews-McMeel-Universal/action_template #4

Merged
merged 2 commits into from
Apr 1, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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'` |
Loading