mirror of
https://github.com/tj-actions/branch-names.git
synced 2024-12-27 14:27:59 +08:00
Compare commits
No commits in common. "main" and "v4.2" have entirely different histories.
@ -1,44 +0,0 @@
|
|||||||
{
|
|
||||||
"files": [
|
|
||||||
"README.md"
|
|
||||||
],
|
|
||||||
"imageSize": 100,
|
|
||||||
"commit": false,
|
|
||||||
"contributors": [
|
|
||||||
{
|
|
||||||
"login": "loarca",
|
|
||||||
"name": "Alejandro Loarca",
|
|
||||||
"avatar_url": "https://avatars.githubusercontent.com/u/22898638?v=4",
|
|
||||||
"profile": "https://github.com/loarca",
|
|
||||||
"contributions": [
|
|
||||||
"code"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"login": "IanWoodard",
|
|
||||||
"name": "Ian Woodard",
|
|
||||||
"avatar_url": "https://avatars.githubusercontent.com/u/17186604?v=4",
|
|
||||||
"profile": "https://ianwoodard.me",
|
|
||||||
"contributions": [
|
|
||||||
"doc"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"login": "boidolr",
|
|
||||||
"name": "Raphael Boidol",
|
|
||||||
"avatar_url": "https://avatars.githubusercontent.com/u/652404?v=4",
|
|
||||||
"profile": "https://home.boidol.dev/",
|
|
||||||
"contributions": [
|
|
||||||
"doc"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"contributorsPerLine": 7,
|
|
||||||
"projectName": "branch-names",
|
|
||||||
"projectOwner": "tj-actions",
|
|
||||||
"repoType": "github",
|
|
||||||
"repoHost": "https://github.com",
|
|
||||||
"skipCi": true,
|
|
||||||
"commitType": "docs",
|
|
||||||
"commitConvention": "angular"
|
|
||||||
}
|
|
12
.github/FUNDING.yml
vendored
Normal file
12
.github/FUNDING.yml
vendored
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
# These are supported funding model platforms
|
||||||
|
|
||||||
|
github: jackton1
|
||||||
|
patreon: # Replace with a single Patreon username
|
||||||
|
open_collective: tj-actions
|
||||||
|
ko_fi: # Replace with a single Ko-fi username
|
||||||
|
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
||||||
|
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
||||||
|
liberapay: # Replace with a single Liberapay username
|
||||||
|
issuehunt: # Replace with a single IssueHunt username
|
||||||
|
otechie: # Replace with a single Otechie username
|
||||||
|
custom: []
|
32
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
32
.github/ISSUE_TEMPLATE/bug_report.md
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
---
|
||||||
|
name: Bug report
|
||||||
|
about: Create a report to help us improve
|
||||||
|
title: "[BUG]"
|
||||||
|
labels: bug
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Describe the bug**
|
||||||
|
A clear and concise description of what the bug is.
|
||||||
|
|
||||||
|
**To Reproduce**
|
||||||
|
Steps to reproduce the behavior:
|
||||||
|
1. Go to '...'
|
||||||
|
2. Click on '....'
|
||||||
|
3. Scroll down to '....'
|
||||||
|
4. See error
|
||||||
|
|
||||||
|
**Expected behavior**
|
||||||
|
A clear and concise description of what you expected to happen.
|
||||||
|
|
||||||
|
**Screenshots**
|
||||||
|
If applicable, add screenshots to help explain your problem.
|
||||||
|
|
||||||
|
**Desktop (please complete the following information):**
|
||||||
|
- OS: [e.g. iOS]
|
||||||
|
- Browser [e.g. chrome, safari]
|
||||||
|
- Version [e.g. 22]
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context about the problem here.
|
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
20
.github/ISSUE_TEMPLATE/feature_request.md
vendored
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
---
|
||||||
|
name: Feature request
|
||||||
|
about: Suggest an idea for this project
|
||||||
|
title: ''
|
||||||
|
labels: ''
|
||||||
|
assignees: ''
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
**Is your feature request related to a problem? Please describe.**
|
||||||
|
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
|
||||||
|
|
||||||
|
**Describe the solution you'd like**
|
||||||
|
A clear and concise description of what you want to happen.
|
||||||
|
|
||||||
|
**Describe alternatives you've considered**
|
||||||
|
A clear and concise description of any alternative solutions or features you've considered.
|
||||||
|
|
||||||
|
**Additional context**
|
||||||
|
Add any other context or screenshots about the feature request here.
|
2
.github/dependabot.yml
vendored
2
.github/dependabot.yml
vendored
@ -5,5 +5,3 @@ updates:
|
|||||||
schedule:
|
schedule:
|
||||||
interval: daily
|
interval: daily
|
||||||
open-pull-requests-limit: 10
|
open-pull-requests-limit: 10
|
||||||
labels:
|
|
||||||
- "merge when passing"
|
|
||||||
|
32
.github/workflows/auto-approve.yml
vendored
Normal file
32
.github/workflows/auto-approve.yml
vendored
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
name: Auto approve
|
||||||
|
|
||||||
|
on:
|
||||||
|
pull_request_target
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
auto-approve:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: hmarr/auto-approve-action@v2
|
||||||
|
if: |
|
||||||
|
(
|
||||||
|
github.event.pull_request.user.login == 'dependabot[bot]' ||
|
||||||
|
github.event.pull_request.user.login == 'dependabot' ||
|
||||||
|
github.event.pull_request.user.login == 'dependabot-preview[bot]' ||
|
||||||
|
github.event.pull_request.user.login == 'dependabot-preview' ||
|
||||||
|
github.event.pull_request.user.login == 'renovate[bot]' ||
|
||||||
|
github.event.pull_request.user.login == 'renovate' ||
|
||||||
|
github.event.pull_request.user.login == 'github-actions[bot]'
|
||||||
|
)
|
||||||
|
&&
|
||||||
|
(
|
||||||
|
github.actor == 'dependabot[bot]' ||
|
||||||
|
github.actor == 'dependabot' ||
|
||||||
|
github.actor == 'dependabot-preview[bot]' ||
|
||||||
|
github.actor == 'dependabot-preview' ||
|
||||||
|
github.actor == 'renovate[bot]' ||
|
||||||
|
github.actor == 'renovate' ||
|
||||||
|
github.actor == 'github-actions[bot]'
|
||||||
|
)
|
||||||
|
with:
|
||||||
|
github-token: ${{ secrets.PAT_TOKEN }}
|
23
.github/workflows/auto-merge.yml
vendored
Normal file
23
.github/workflows/auto-merge.yml
vendored
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
name: automerge
|
||||||
|
on:
|
||||||
|
check_suite:
|
||||||
|
types:
|
||||||
|
- rerequested
|
||||||
|
- completed
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
automerge:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
if: |
|
||||||
|
github.actor == 'dependabot[bot]' ||
|
||||||
|
github.actor == 'dependabot'
|
||||||
|
steps:
|
||||||
|
- name: automerge
|
||||||
|
uses: pascalgn/automerge-action@v0.14.1
|
||||||
|
env:
|
||||||
|
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
|
||||||
|
MERGE_METHOD: "rebase"
|
||||||
|
UPDATE_METHOD: "rebase"
|
||||||
|
MERGE_RETRIES: "6"
|
||||||
|
MERGE_RETRY_SLEEP: "100000"
|
||||||
|
MERGE_LABELS: ""
|
56
.github/workflows/codacy-analysis.yml
vendored
56
.github/workflows/codacy-analysis.yml
vendored
@ -1,56 +0,0 @@
|
|||||||
# This workflow checks out code, performs a Codacy security scan
|
|
||||||
# and integrates the results with the
|
|
||||||
# GitHub Advanced Security code scanning feature. For more information on
|
|
||||||
# the Codacy security scan action usage and parameters, see
|
|
||||||
# https://github.com/codacy/codacy-analysis-cli-action.
|
|
||||||
# For more information on Codacy Analysis CLI in general, see
|
|
||||||
# https://github.com/codacy/codacy-analysis-cli.
|
|
||||||
|
|
||||||
name: Codacy Security Scan
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches: [ main ]
|
|
||||||
pull_request:
|
|
||||||
# The branches below must be a subset of the branches above
|
|
||||||
branches: [ main ]
|
|
||||||
schedule:
|
|
||||||
- cron: '15 16 * * 2'
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
codacy-security-scan:
|
|
||||||
# Cancel other workflows that are running for the same branch
|
|
||||||
# https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#concurrency
|
|
||||||
concurrency:
|
|
||||||
group: ${{ github.workflow }}-${{ github.ref }}
|
|
||||||
cancel-in-progress: true
|
|
||||||
name: Codacy Security Scan
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
# Checkout the repository to the GitHub Actions runner
|
|
||||||
- name: Checkout code
|
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
||||||
|
|
||||||
# Execute Codacy Analysis CLI and generate a SARIF output with the security issues identified during the analysis
|
|
||||||
- name: Run Codacy Analysis CLI
|
|
||||||
continue-on-error: true
|
|
||||||
uses: codacy/codacy-analysis-cli-action@v4.4.5
|
|
||||||
with:
|
|
||||||
# Check https://github.com/codacy/codacy-analysis-cli#project-token to get your project token from your Codacy repository
|
|
||||||
# You can also omit the token and run the tools that support default configurations
|
|
||||||
project-token: ${{ secrets.CODACY_PROJECT_TOKEN }}
|
|
||||||
verbose: true
|
|
||||||
output: results.sarif
|
|
||||||
format: sarif
|
|
||||||
# Adjust severity of non-security issues
|
|
||||||
gh-code-scanning-compat: true
|
|
||||||
# Force 0 exit code to allow SARIF file generation
|
|
||||||
# This will hand over control about PR rejection to the GitHub side
|
|
||||||
max-allowed-issues: 2147483647
|
|
||||||
|
|
||||||
# Upload the SARIF file generated in the previous step
|
|
||||||
- name: Upload SARIF results file
|
|
||||||
continue-on-error: true
|
|
||||||
uses: github/codeql-action/upload-sarif@v3
|
|
||||||
with:
|
|
||||||
sarif_file: results.sarif
|
|
4
.github/workflows/rebase.yml
vendored
4
.github/workflows/rebase.yml
vendored
@ -8,11 +8,11 @@ jobs:
|
|||||||
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
|
if: github.event.issue.pull_request != '' && contains(github.event.comment.body, '/rebase')
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
- uses: actions/checkout@v2.3.4
|
||||||
with:
|
with:
|
||||||
token: ${{ secrets.PAT_TOKEN }}
|
token: ${{ secrets.PAT_TOKEN }}
|
||||||
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
|
fetch-depth: 0 # otherwise, you will failed to push refs to dest repo
|
||||||
- name: Automatic Rebase
|
- name: Automatic Rebase
|
||||||
uses: cirrus-actions/rebase@1.8
|
uses: cirrus-actions/rebase@1.5
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.PAT_TOKEN }}
|
||||||
|
16
.github/workflows/sync-release-version.yml
vendored
16
.github/workflows/sync-release-version.yml
vendored
@ -8,26 +8,24 @@ jobs:
|
|||||||
update-version:
|
update-version:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
- uses: actions/checkout@v2.3.4
|
||||||
with:
|
with:
|
||||||
fetch-depth: 0
|
fetch-depth: 0
|
||||||
- name: Run release-tagger
|
|
||||||
uses: tj-actions/release-tagger@v4
|
|
||||||
- name: Sync release version.
|
- name: Sync release version.
|
||||||
uses: tj-actions/sync-release-version@v13
|
uses: tj-actions/sync-release-version@v8.6
|
||||||
id: sync-release-version
|
id: sync-release-version
|
||||||
with:
|
with:
|
||||||
pattern: '${{ github.repository }}@'
|
pattern: '${{ github.repository }}@'
|
||||||
only_major: true
|
|
||||||
paths: |
|
paths: |
|
||||||
README.md
|
README.md
|
||||||
- name: Run git-cliff
|
- name: Generate CHANGELOG
|
||||||
uses: tj-actions/git-cliff@v1
|
uses: tj-actions/github-changelog-generator@v1.8
|
||||||
|
with:
|
||||||
|
output: 'HISTORY.md'
|
||||||
- name: Create Pull Request
|
- name: Create Pull Request
|
||||||
uses: peter-evans/create-pull-request@v7
|
uses: peter-evans/create-pull-request@v3.10.0
|
||||||
with:
|
with:
|
||||||
base: "main"
|
base: "main"
|
||||||
labels: "merge when passing"
|
|
||||||
title: "Upgraded to ${{ steps.sync-release-version.outputs.new_version }}"
|
title: "Upgraded to ${{ steps.sync-release-version.outputs.new_version }}"
|
||||||
branch: "upgrade-to-${{ steps.sync-release-version.outputs.new_version }}"
|
branch: "upgrade-to-${{ steps.sync-release-version.outputs.new_version }}"
|
||||||
commit-message: "Upgraded from ${{ steps.sync-release-version.outputs.old_version }} -> ${{ steps.sync-release-version.outputs.new_version }}"
|
commit-message: "Upgraded from ${{ steps.sync-release-version.outputs.old_version }} -> ${{ steps.sync-release-version.outputs.new_version }}"
|
||||||
|
88
.github/workflows/test.yml
vendored
88
.github/workflows/test.yml
vendored
@ -6,83 +6,71 @@ on:
|
|||||||
- '*'
|
- '*'
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
release:
|
|
||||||
types: [published, created]
|
|
||||||
pull_request:
|
pull_request:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test:
|
test:
|
||||||
name: Test branch-names
|
runs-on: ubuntu-latest
|
||||||
runs-on: ${{ matrix.platform }}
|
name: Test branch-name
|
||||||
strategy:
|
|
||||||
fail-fast: false
|
|
||||||
matrix:
|
|
||||||
platform: [ubuntu-latest, windows-latest, macos-latest]
|
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
|
uses: actions/checkout@v2.3.4
|
||||||
- name: Dump GitHub context
|
|
||||||
env:
|
|
||||||
GITHUB_CONTEXT: ${{ toJson(github) }}
|
|
||||||
run: echo "$GITHUB_CONTEXT"
|
|
||||||
- name: Run test
|
- name: Run test
|
||||||
id: branch-names
|
id: branch-name
|
||||||
uses: ./
|
uses: ./
|
||||||
- name: Show output
|
- name: Show output
|
||||||
run: |
|
run: |
|
||||||
echo "Default Branch: ${{ steps.branch-names.outputs.default_branch }}"
|
echo "Current Branch: ${{ steps.branch-name.outputs.current_branch }}"
|
||||||
echo "Current Branch: ${{ steps.branch-names.outputs.current_branch }}"
|
echo "Base Ref: ${{ steps.branch-name.outputs.base_ref_branch }}"
|
||||||
echo "Base Ref: ${{ steps.branch-names.outputs.base_ref_branch }}"
|
echo "Head Ref: ${{ steps.branch-name.outputs.head_ref_branch }}"
|
||||||
echo "Head Ref: ${{ steps.branch-names.outputs.head_ref_branch }}"
|
echo "Ref: ${{ steps.branch-name.outputs.ref_branch }}"
|
||||||
echo "Ref: ${{ steps.branch-names.outputs.ref_branch }}"
|
echo "Is Default: ${{ steps.branch-name.outputs.is_default }}"
|
||||||
echo "Is Default: ${{ steps.branch-names.outputs.is_default }}"
|
echo "Current tag: ${{ steps.branch-name.outputs.tag }}"
|
||||||
echo "Is Tag: ${{ steps.branch-names.outputs.is_tag }}"
|
- name: Check is_default for pull request
|
||||||
echo "Current tag: ${{ steps.branch-names.outputs.tag }}"
|
if: github.event_name == 'pull_request' && !startsWith(github.ref, 'refs/tags/') && steps.branch-name.outputs.is_default != 'false'
|
||||||
- name: Test is_default output for pull request
|
|
||||||
if: contains(github.event_name, 'pull_request') && steps.branch-names.outputs.is_tag == 'false' && steps.branch-names.outputs.is_default != 'false'
|
|
||||||
run: |
|
run: |
|
||||||
echo "Is default is invalid: ${{ steps.branch-names.outputs.is_default }}"
|
echo "Is default is invalid: ${{ steps.branch-name.outputs.is_default }}"
|
||||||
exit 1
|
exit 1
|
||||||
- name: Test is_default output for non pull request
|
- name: Check is_default for non pull request
|
||||||
if: "!contains(github.event_name, 'pull_request') && steps.branch-names.outputs.is_tag == 'false' && steps.branch-names.outputs.is_default != 'true'"
|
if: github.event_name != 'pull_request' && !startsWith(github.ref, 'refs/tags/') && steps.branch-name.outputs.is_default != 'true'
|
||||||
run: |
|
run: |
|
||||||
echo "Is default is invalid: ${{ steps.branch-names.outputs.is_default }}"
|
echo "Is default is invalid: ${{ steps.branch-name.outputs.is_default }}"
|
||||||
exit 1
|
exit 1
|
||||||
- name: Test base_ref_branch output
|
- name: Test base ref output
|
||||||
if: contains(github.event_name, 'pull_request') && steps.branch-names.outputs.is_tag == 'false' && !steps.branch-names.outputs.base_ref_branch
|
if: github.event_name == 'pull_request' && !startsWith(github.ref, 'refs/tags/') && !steps.branch-name.outputs.base_ref_branch
|
||||||
run: |
|
run: |
|
||||||
echo "Base ref unset: ${{ steps.branch-names.outputs.base_ref_branch }}"
|
echo "Base ref unset: ${{ steps.branch-name.outputs.base_ref_branch }}"
|
||||||
exit 1
|
exit 1
|
||||||
- name: Test head_ref output
|
- name: Test head ref output
|
||||||
if: contains(github.event_name, 'pull_request') && steps.branch-names.outputs.is_tag == 'false' && !steps.branch-names.outputs.head_ref_branch
|
if: github.event_name == 'pull_request' && !startsWith(github.ref, 'refs/tags/') && !steps.branch-name.outputs.head_ref_branch
|
||||||
run: |
|
run: |
|
||||||
echo "Head ref unset: ${{ steps.branch-names.outputs.head_ref_branch }}"
|
echo "Head ref unset: ${{ steps.branch-name.outputs.head_ref_branch }}"
|
||||||
exit 1
|
exit 1
|
||||||
- name: Test ref_branch output
|
- name: Test ref output
|
||||||
if: "!steps.branch-names.outputs.ref_branch && steps.branch-names.outputs.is_tag == 'false'"
|
if: "!steps.branch-name.outputs.ref_branch && !startsWith(github.ref, 'refs/tags/') "
|
||||||
run: |
|
run: |
|
||||||
echo "Ref unset: ${{ steps.branch-names.outputs.ref_branch }}"
|
echo "Ref unset: ${{ steps.branch-name.outputs.ref_branch }}"
|
||||||
exit 1
|
exit 1
|
||||||
- name: Test current_branch output for pull_request or pull_request_target event.
|
- name: Test current branch output for pull_request event.
|
||||||
if: contains(github.event_name, 'pull_request') && steps.branch-names.outputs.is_tag == 'false' && !steps.branch-names.outputs.current_branch
|
if: github.event_name == 'pull_request' && !startsWith(github.ref, 'refs/tags/') && !steps.branch-name.outputs.current_branch
|
||||||
run: |
|
run: |
|
||||||
echo "Current branch unset: ${{ steps.branch-names.outputs.current_branch }}"
|
echo "Current branch unset: ${{ steps.branch-name.outputs.current_branch }}"
|
||||||
exit 1
|
exit 1
|
||||||
- name: Test current_branch output for push event.
|
- name: Test current branch output for push event.
|
||||||
if: github.event_name == 'push' && steps.branch-names.outputs.is_tag == 'false' && !steps.branch-names.outputs.current_branch
|
if: github.event_name == 'push' && !startsWith(github.ref, 'refs/tags/') && !steps.branch-name.outputs.current_branch
|
||||||
run: |
|
run: |
|
||||||
echo "Current branch unset: ${{ steps.branch-names.outputs.current_branch }}"
|
echo "Current branch unset: ${{ steps.branch-name.outputs.current_branch }}"
|
||||||
exit 1
|
exit 1
|
||||||
- name: Test current_branch output for tag based push event.
|
- name: Test current branch output for tag based push event.
|
||||||
if: github.event_name == 'push' && steps.branch-names.outputs.is_tag == 'true' && !steps.branch-names.outputs.base_ref_branch
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') && !steps.branch-name.outputs.current_branch
|
||||||
run: |
|
run: |
|
||||||
echo "Base ref unset: ${{ steps.branch-names.outputs.base_ref_branch }}"
|
echo "Current branch unset: ${{ steps.branch-name.outputs.current_branch }}"
|
||||||
exit 1
|
exit 1
|
||||||
- name: Test tag output for tag based push event.
|
- name: Test current tag for push events.
|
||||||
if: github.event_name == 'push' && steps.branch-names.outputs.is_tag == 'true' && !steps.branch-names.outputs.tag
|
if: github.event_name == 'push' && startsWith(github.ref, 'refs/tags/') && !steps.branch-name.outputs.tag
|
||||||
run: |
|
run: |
|
||||||
echo "Current tag unset: ${{ steps.branch-names.outputs.tag }}"
|
echo "Current tag unset: ${{ steps.branch-name.outputs.tag }}"
|
||||||
exit 1
|
exit 1
|
||||||
|
|
||||||
|
48
.github/workflows/update-readme.yml
vendored
48
.github/workflows/update-readme.yml
vendored
@ -1,48 +0,0 @@
|
|||||||
name: Format README.md
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
sync-assets:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
|
|
||||||
- name: Run auto-doc
|
|
||||||
uses: tj-actions/auto-doc@v3
|
|
||||||
with:
|
|
||||||
use_code_blocks: true
|
|
||||||
use_major_version: true
|
|
||||||
|
|
||||||
- name: Run remark
|
|
||||||
uses: tj-actions/remark@v3
|
|
||||||
|
|
||||||
- name: Verify Changed files
|
|
||||||
uses: tj-actions/verify-changed-files@v20
|
|
||||||
id: verify_changed_files
|
|
||||||
with:
|
|
||||||
files: |
|
|
||||||
README.md
|
|
||||||
|
|
||||||
- name: README.md changed
|
|
||||||
if: steps.verify_changed_files.outputs.files_changed == 'true'
|
|
||||||
run: |
|
|
||||||
echo "README.md has uncommitted changes"
|
|
||||||
exit 1
|
|
||||||
|
|
||||||
- name: Create Pull Request
|
|
||||||
if: failure()
|
|
||||||
uses: peter-evans/create-pull-request@v7
|
|
||||||
with:
|
|
||||||
base: "main"
|
|
||||||
labels: "merge when passing"
|
|
||||||
title: "Updated README.md"
|
|
||||||
branch: "chore/update-readme"
|
|
||||||
commit-message: "Updated README.md"
|
|
||||||
body: "Updated README.md"
|
|
||||||
token: ${{ secrets.PAT_TOKEN }}
|
|
12
.whitesource
12
.whitesource
@ -1,12 +0,0 @@
|
|||||||
{
|
|
||||||
"scanSettings": {
|
|
||||||
"baseBranches": []
|
|
||||||
},
|
|
||||||
"checkRunSettings": {
|
|
||||||
"vulnerableCheckRunConclusionLevel": "failure",
|
|
||||||
"displayMode": "diff"
|
|
||||||
},
|
|
||||||
"issueSettings": {
|
|
||||||
"minSeverityLevel": "LOW"
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,128 +0,0 @@
|
|||||||
# Contributor Covenant Code of Conduct
|
|
||||||
|
|
||||||
## Our Pledge
|
|
||||||
|
|
||||||
We as members, contributors, and leaders pledge to make participation in our
|
|
||||||
community a harassment-free experience for everyone, regardless of age, body
|
|
||||||
size, visible or invisible disability, ethnicity, sex characteristics, gender
|
|
||||||
identity and expression, level of experience, education, socio-economic status,
|
|
||||||
nationality, personal appearance, race, religion, or sexual identity
|
|
||||||
and orientation.
|
|
||||||
|
|
||||||
We pledge to act and interact in ways that contribute to an open, welcoming,
|
|
||||||
diverse, inclusive, and healthy community.
|
|
||||||
|
|
||||||
## Our Standards
|
|
||||||
|
|
||||||
Examples of behavior that contributes to a positive environment for our
|
|
||||||
community include:
|
|
||||||
|
|
||||||
* Demonstrating empathy and kindness toward other people
|
|
||||||
* Being respectful of differing opinions, viewpoints, and experiences
|
|
||||||
* Giving and gracefully accepting constructive feedback
|
|
||||||
* Accepting responsibility and apologizing to those affected by our mistakes,
|
|
||||||
and learning from the experience
|
|
||||||
* Focusing on what is best not just for us as individuals, but for the
|
|
||||||
overall community
|
|
||||||
|
|
||||||
Examples of unacceptable behavior include:
|
|
||||||
|
|
||||||
* The use of sexualized language or imagery, and sexual attention or
|
|
||||||
advances of any kind
|
|
||||||
* Trolling, insulting or derogatory comments, and personal or political attacks
|
|
||||||
* Public or private harassment
|
|
||||||
* Publishing others' private information, such as a physical or email
|
|
||||||
address, without their explicit permission
|
|
||||||
* Other conduct which could reasonably be considered inappropriate in a
|
|
||||||
professional setting
|
|
||||||
|
|
||||||
## Enforcement Responsibilities
|
|
||||||
|
|
||||||
Community leaders are responsible for clarifying and enforcing our standards of
|
|
||||||
acceptable behavior and will take appropriate and fair corrective action in
|
|
||||||
response to any behavior that they deem inappropriate, threatening, offensive,
|
|
||||||
or harmful.
|
|
||||||
|
|
||||||
Community leaders have the right and responsibility to remove, edit, or reject
|
|
||||||
comments, commits, code, wiki edits, issues, and other contributions that are
|
|
||||||
not aligned to this Code of Conduct, and will communicate reasons for moderation
|
|
||||||
decisions when appropriate.
|
|
||||||
|
|
||||||
## Scope
|
|
||||||
|
|
||||||
This Code of Conduct applies within all community spaces, and also applies when
|
|
||||||
an individual is officially representing the community in public spaces.
|
|
||||||
Examples of representing our community include using an official e-mail address,
|
|
||||||
posting via an official social media account, or acting as an appointed
|
|
||||||
representative at an online or offline event.
|
|
||||||
|
|
||||||
## Enforcement
|
|
||||||
|
|
||||||
Instances of abusive, harassing, or otherwise unacceptable behavior may be
|
|
||||||
reported to the community leaders responsible for enforcement at
|
|
||||||
jtonye@ymail.com.
|
|
||||||
All complaints will be reviewed and investigated promptly and fairly.
|
|
||||||
|
|
||||||
All community leaders are obligated to respect the privacy and security of the
|
|
||||||
reporter of any incident.
|
|
||||||
|
|
||||||
## Enforcement Guidelines
|
|
||||||
|
|
||||||
Community leaders will follow these Community Impact Guidelines in determining
|
|
||||||
the consequences for any action they deem in violation of this Code of Conduct:
|
|
||||||
|
|
||||||
### 1. Correction
|
|
||||||
|
|
||||||
**Community Impact**: Use of inappropriate language or other behavior deemed
|
|
||||||
unprofessional or unwelcome in the community.
|
|
||||||
|
|
||||||
**Consequence**: A private, written warning from community leaders, providing
|
|
||||||
clarity around the nature of the violation and an explanation of why the
|
|
||||||
behavior was inappropriate. A public apology may be requested.
|
|
||||||
|
|
||||||
### 2. Warning
|
|
||||||
|
|
||||||
**Community Impact**: A violation through a single incident or series
|
|
||||||
of actions.
|
|
||||||
|
|
||||||
**Consequence**: A warning with consequences for continued behavior. No
|
|
||||||
interaction with the people involved, including unsolicited interaction with
|
|
||||||
those enforcing the Code of Conduct, for a specified period of time. This
|
|
||||||
includes avoiding interactions in community spaces as well as external channels
|
|
||||||
like social media. Violating these terms may lead to a temporary or
|
|
||||||
permanent ban.
|
|
||||||
|
|
||||||
### 3. Temporary Ban
|
|
||||||
|
|
||||||
**Community Impact**: A serious violation of community standards, including
|
|
||||||
sustained inappropriate behavior.
|
|
||||||
|
|
||||||
**Consequence**: A temporary ban from any sort of interaction or public
|
|
||||||
communication with the community for a specified period of time. No public or
|
|
||||||
private interaction with the people involved, including unsolicited interaction
|
|
||||||
with those enforcing the Code of Conduct, is allowed during this period.
|
|
||||||
Violating these terms may lead to a permanent ban.
|
|
||||||
|
|
||||||
### 4. Permanent Ban
|
|
||||||
|
|
||||||
**Community Impact**: Demonstrating a pattern of violation of community
|
|
||||||
standards, including sustained inappropriate behavior, harassment of an
|
|
||||||
individual, or aggression toward or disparagement of classes of individuals.
|
|
||||||
|
|
||||||
**Consequence**: A permanent ban from any sort of public interaction within
|
|
||||||
the community.
|
|
||||||
|
|
||||||
## Attribution
|
|
||||||
|
|
||||||
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
|
|
||||||
version 2.0, available at
|
|
||||||
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.
|
|
||||||
|
|
||||||
Community Impact Guidelines were inspired by [Mozilla's code of conduct
|
|
||||||
enforcement ladder](https://github.com/mozilla/diversity).
|
|
||||||
|
|
||||||
[homepage]: https://www.contributor-covenant.org
|
|
||||||
|
|
||||||
For answers to common questions about this code of conduct, see the FAQ at
|
|
||||||
https://www.contributor-covenant.org/faq. Translations are available at
|
|
||||||
https://www.contributor-covenant.org/translations.
|
|
1553
HISTORY.md
1553
HISTORY.md
File diff suppressed because it is too large
Load Diff
321
README.md
321
README.md
@ -1,256 +1,99 @@
|
|||||||
## branch-names
|
branch-names
|
||||||
|
------------
|
||||||
|
|
||||||
[](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
|
[](https://github.com/tj-actions/branch-names/actions?query=workflow%3ACI) [](https://github.com/tj-actions/branch-names/actions/workflows/sync-release-version.yml) <a href="https://github.com/search?q=tj-actions+branch-names+path%3A.github%2Fworkflows+language%3AYAML&type=code" target="_blank" title="Public workflows that use this action."><img src="https://img.shields.io/endpoint?url=https%3A%2F%2Fapi-tj-actions.vercel.app%2Fapi%2Fgithub-actions%2Fused-by%3Faction%3Dtj-actions%2Fbranch-names%26badge%3Dtrue" alt="Public workflows that use this action."></a>
|
||||||
[](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
|
|
||||||
[](https://docs.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on)
|
|
||||||
[](https://github.com/search?o=desc\&q=tj-actions+branch-names+language%3AYAML\&s=\&type=Code)
|
|
||||||
|
|
||||||
[](https://app.codacy.com/gh/tj-actions/branch-names/dashboard?utm_source=gh\&utm_medium=referral\&utm_content=\&utm_campaign=Badge_grade)
|
Get branch or tag information without the `/ref/*` prefix
|
||||||
[](https://github.com/tj-actions/branch-names/actions?query=workflow%3ACI)
|
|
||||||
[](https://github.com/tj-actions/branch-names/actions/workflows/sync-release-version.yml)
|
|
||||||
|
|
||||||
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
|
## Outputs
|
||||||
|
|
||||||
[](#contributors-)
|
| Output | type | Example | Description |
|
||||||
|
|:--------------------:|:------------:|:---------------------------:|:-----------------------------------------------------------------:|
|
||||||
|
| is_default | `boolean` | `true` *OR* `false` | Detects wheter the action is running on a default branch |
|
||||||
|
| current_branch | `string` | `main` *OR* `feature/test` | Always returns a valid branch name for a triggered workflow run. |
|
||||||
|
| base_ref_branch | `string` | `main` | The target branch of a pull request |
|
||||||
|
| head_ref_branch | `string` | `feature/test` | The source branch of a pull request |
|
||||||
|
| ref_branch | `string` | `1/merge` *OR* `main` | The branch that triggered the workflow run |
|
||||||
|
| tag | `string` | `v0.0.1` *OR* `0.0.1` | The tag that triggered the workflow run |
|
||||||
|
|
||||||
<!-- ALL-CONTRIBUTORS-BADGE:END -->
|
|
||||||
|
|
||||||
Get a branch or tag name without the `/ref/*` prefix.
|
## Inputs
|
||||||
|
|
||||||
## Table of Contents
|
| Input | type | default | Description |
|
||||||
|
|:-----------------:|:---------:|:--------:|:-----------------------:|
|
||||||
* [Features](#features)
|
| strip_tag_prefix | `string` | `''` | The tag prefix to strip <br> *i.e `v0.0.1` -> `v` -> `0.0.1`* |
|
||||||
* [Usage](#usage)
|
|
||||||
* [Inputs](#inputs)
|
|
||||||
* [Outputs](#outputs)
|
|
||||||
* [Events](#events)
|
|
||||||
* [`push*`](#push)
|
|
||||||
* [`pull_request*`](#pull_request)
|
|
||||||
* [`tag*`](#tag)
|
|
||||||
* [Other supported events](#other-supported-events)
|
|
||||||
* [Possible usage with actions/checkout](#possible-usage-with-actionscheckout)
|
|
||||||
* [Credits](#credits)
|
|
||||||
* [Report Bugs](#report-bugs)
|
|
||||||
* [Contributors ✨](#contributors-)
|
|
||||||
|
|
||||||
## Features
|
|
||||||
|
|
||||||
* Retrieve the current branch name without any prefix. (e.g. `'refs/heads/main'` -> `'main'`)
|
|
||||||
* Retrieve the current tag with an option to strip the prefix (e.g. `v0.0.1` -> `v` -> `0.0.1`)
|
|
||||||
* Detect actions triggered by non default branches
|
|
||||||
* Detect actions triggered by the default branch
|
|
||||||
* Supports all valid [git branch names](https://wincent.com/wiki/Legal_Git_branch_names)
|
|
||||||
|
|
||||||
## Usage
|
## Usage
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
...
|
...
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Get branch names.
|
- uses: actions/checkout@v2
|
||||||
id: branch-names
|
- name: Get branch names
|
||||||
uses: tj-actions/branch-names@v8
|
id: branch-name
|
||||||
|
uses: tj-actions/branch-names@v4.1
|
||||||
- name: Running on the default branch.
|
|
||||||
if: steps.branch-names.outputs.is_default == 'true'
|
|
||||||
run: |
|
|
||||||
echo "Running on default: ${{ steps.branch-names.outputs.current_branch }}"
|
|
||||||
# Outputs: "Running on default: main"
|
|
||||||
|
|
||||||
- name: Running on a pull request branch.
|
|
||||||
if: steps.branch-names.outputs.is_default == 'false'
|
|
||||||
run: |
|
|
||||||
echo "Running on pr: ${{ steps.branch-names.outputs.current_branch }}"
|
|
||||||
# Outputs: "Running on pr: feature/test"
|
|
||||||
|
|
||||||
- name: Running on a pull request branch.
|
|
||||||
if: steps.branch-names.outputs.is_default == 'false'
|
|
||||||
run: |
|
|
||||||
echo "Base branch: ${{ steps.branch-names.outputs.base_ref_branch }}"
|
|
||||||
# Outputs: "Base branch: main"
|
|
||||||
|
|
||||||
- name: Running on any event.
|
|
||||||
run: |
|
|
||||||
echo "Default branch: ${{ steps.branch-names.outputs.default_branch }}"
|
|
||||||
# Outputs: "Default branch: main"
|
|
||||||
```
|
```
|
||||||
|
|
||||||
If you feel generous and want to show some extra appreciation:
|
## Examples
|
||||||
|
|
||||||
Support this project with a :star:
|
|
||||||
|
|
||||||
[![Buy me a coffee][buymeacoffee-shield]][buymeacoffee]
|
|
||||||
|
|
||||||
[buymeacoffee]: https://www.buymeacoffee.com/jackton1
|
|
||||||
|
|
||||||
[buymeacoffee-shield]: https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png
|
|
||||||
|
|
||||||
## Inputs
|
|
||||||
|
|
||||||
<!-- AUTO-DOC-INPUT:START - Do not remove or modify this section -->
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
- uses: tj-actions/branch-names@v8
|
|
||||||
id: branch-names
|
|
||||||
with:
|
|
||||||
# The prefix that should be
|
|
||||||
# stripped from the tag e.g
|
|
||||||
# `v` -> with a tag
|
|
||||||
# `v0.0.1` -> returns `0.0.1`
|
|
||||||
# Type: string
|
|
||||||
strip_tag_prefix: ''
|
|
||||||
|
|
||||||
```
|
|
||||||
|
|
||||||
<!-- AUTO-DOC-INPUT:END -->
|
|
||||||
|
|
||||||
## Outputs
|
|
||||||
|
|
||||||
<!-- AUTO-DOC-OUTPUT:START - Do not remove or modify this section -->
|
|
||||||
|
|
||||||
| OUTPUT | TYPE | DESCRIPTION |
|
|
||||||
|---------------------------------------------------------------------------------|--------|----------------------------------------------------------------------------------|
|
|
||||||
| <a name="output_base_ref_branch"></a>[base\_ref\_branch](#output_base_ref_branch) | string | The target branch of a <br>pull request or tag e.g <br>`main` |
|
|
||||||
| <a name="output_current_branch"></a>[current\_branch](#output_current_branch) | string | The current branch name regardless <br>of event\_type e.g `main`, `feature/test` |
|
|
||||||
| <a name="output_default_branch"></a>[default\_branch](#output_default_branch) | string | The default branch name e.g <br>`main` OR `master` |
|
|
||||||
| <a name="output_head_ref_branch"></a>[head\_ref\_branch](#output_head_ref_branch) | string | The source branch of a <br>pull request e.g `feature/test` |
|
|
||||||
| <a name="output_is_default"></a>[is\_default](#output_is_default) | string | Returns `"true"` if the current <br>branch is the default else <br>`"false"`. |
|
|
||||||
| <a name="output_is_tag"></a>[is\_tag](#output_is_tag) | string | Returns `"true"` if the current <br>branch is a tag else <br>`"false"`. |
|
|
||||||
| <a name="output_ref_branch"></a>[ref\_branch](#output_ref_branch) | string | The branch that triggered the <br>workflow run. e.g `1/merge`, `main` |
|
|
||||||
| <a name="output_tag"></a>[tag](#output_tag) | string | The tag that triggered the <br>workflow run. e.g `v0.0.1`, `0.0.1` |
|
|
||||||
|
|
||||||
<!-- AUTO-DOC-OUTPUT:END -->
|
|
||||||
|
|
||||||
## Events
|
|
||||||
|
|
||||||
### `push*`
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
...
|
...
|
||||||
steps:
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
- name: Get branch names
|
- name: Get branch names
|
||||||
id: branch-names
|
id: branch-name
|
||||||
uses: tj-actions/branch-names@v8
|
uses: tj-actions/branch-names@v4.1
|
||||||
|
|
||||||
- name: Current branch names
|
|
||||||
run: |
|
|
||||||
echo "${{ steps.branch-names.outputs.current_branch }}"
|
|
||||||
# Outputs: "main" the branch that triggered the push event.
|
|
||||||
|
|
||||||
- name: Running on the default branch.
|
- name: Running on the default branch.
|
||||||
if: steps.branch-names.outputs.is_default == 'true'
|
if: steps.branch-name.outputs.is_default == 'true'
|
||||||
run: |
|
run: |
|
||||||
echo "Running on default: ${{ steps.branch-names.outputs.current_branch }}"
|
echo "Running on default: ${{ steps.branch-name.outputs.current_branch }}"
|
||||||
# Outputs: "Running on default: main".
|
# Outputs: "Running on default: main".
|
||||||
|
|
||||||
- name: Running on the default branch (i.e non tag based branch).
|
- name: Running on a pull request branch.
|
||||||
if: steps.branch-names.outputs.is_tag == 'false' && steps.branch-names.outputs.is_default == 'true'
|
if: steps.branch-name.outputs.is_default == 'false'
|
||||||
run: |
|
run: |
|
||||||
echo "Running on branch: ${{ steps.branch-names.outputs.current_branch }}"
|
echo "Running on pr: ${{ steps.branch-name.outputs.current_branch }}"
|
||||||
# Outputs: "Running on branch: main".
|
# Outputs: "Running on pr: feature/test".
|
||||||
|
|
||||||
|
- name: Current branch name
|
||||||
|
if: github.event_name == 'pull_request'
|
||||||
|
run: |
|
||||||
|
echo "${{ steps.branch-name.outputs.current_branch }}"
|
||||||
|
# Outputs: "feature/test" current PR branch.
|
||||||
|
|
||||||
|
- name: Current branch name
|
||||||
|
if: github.event_name == 'push'
|
||||||
|
run: |
|
||||||
|
echo "${{ steps.branch-name.outputs.current_branch }}"
|
||||||
|
# Outputs: "main" the branch that triggered the push event.
|
||||||
|
|
||||||
- name: Get Ref brach name
|
- name: Get Ref brach name
|
||||||
run: |
|
run: |
|
||||||
echo "${{ steps.branch-names.outputs.ref_branch }}"
|
echo "${{ steps.branch-name.outputs.ref_branch }}"
|
||||||
# Outputs: "main"
|
# Outputs: "main" for non PR branches | "1/merge" for a PR branch
|
||||||
|
|
||||||
- name: Default branch name
|
- name: Get Head Ref branch name
|
||||||
|
if: github.event_name == 'pull_request'
|
||||||
run: |
|
run: |
|
||||||
echo "${{ steps.branch-names.outputs.default_branch }}"
|
echo "${{ steps.branch-name.outputs.head_ref_branch }}"
|
||||||
# Outputs: "main" the default branch.
|
|
||||||
```
|
|
||||||
|
|
||||||
### `pull_request*`
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
...
|
|
||||||
steps:
|
|
||||||
- name: Get branch names
|
|
||||||
id: branch-names
|
|
||||||
uses: tj-actions/branch-names@v8
|
|
||||||
|
|
||||||
- name: Current branch names
|
|
||||||
run: |
|
|
||||||
echo "${{ steps.branch-names.outputs.current_branch }}"
|
|
||||||
# Outputs: "feature/test" current PR branch.
|
# Outputs: "feature/test" current PR branch.
|
||||||
|
|
||||||
- name: Running on a non tag based branch and a PR branch.
|
- name: Get Base Ref branch name
|
||||||
if: steps.branch-names.outputs.is_default == 'false'
|
if: github.event_name == 'pull_request'
|
||||||
run: |
|
run: |
|
||||||
echo "Running on branch: ${{ steps.branch-names.outputs.current_branch }}"
|
echo "${{ steps.branch-name.outputs.base_ref_branch }}"
|
||||||
# Outputs: "Running on branch: feature/test".
|
# Outputs: "main" for main <- PR branch.
|
||||||
|
|
||||||
- name: Running on a pull request (i.e non tag based branch).
|
|
||||||
if: steps.branch-names.outputs.is_tag == 'false' && steps.branch-names.outputs.is_default == 'false'
|
|
||||||
run: |
|
|
||||||
echo "Running on branch: ${{ steps.branch-names.outputs.current_branch }}"
|
|
||||||
# Outputs: "Running on branch: feature/test".
|
|
||||||
|
|
||||||
- name: Get Ref branch name
|
|
||||||
run: |
|
|
||||||
echo "${{ steps.branch-names.outputs.ref_branch }}"
|
|
||||||
# Outputs: "1/merge"
|
|
||||||
|
|
||||||
- name: Get Head Ref branch names (i.e The current pull request branch)
|
|
||||||
run: |
|
|
||||||
echo "${{ steps.branch-names.outputs.head_ref_branch }}"
|
|
||||||
# Outputs: "feature/test" current PR branch.
|
|
||||||
|
|
||||||
- name: Get Base Ref branch names (i.e The target of a pull request.)
|
|
||||||
run: |
|
|
||||||
echo "${{ steps.branch-names.outputs.base_ref_branch }}"
|
|
||||||
# Outputs: "main".
|
|
||||||
|
|
||||||
- name: Default branch names
|
|
||||||
run: |
|
|
||||||
echo "${{ steps.branch-names.outputs.default_branch }}"
|
|
||||||
# Outputs: "main" the default branch.
|
|
||||||
```
|
|
||||||
|
|
||||||
### `tag*`
|
|
||||||
|
|
||||||
```yaml
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- '*'
|
|
||||||
|
|
||||||
...
|
|
||||||
steps:
|
|
||||||
- name: Get branch names
|
|
||||||
id: branch-names
|
|
||||||
uses: tj-actions/branch-names@v8
|
|
||||||
with:
|
|
||||||
strip_tag_prefix: v # Optionally strip the leading `v` from the tag.
|
|
||||||
|
|
||||||
- name: Running on a tag branch.
|
|
||||||
if: steps.branch-names.outputs.is_tag == 'true'
|
|
||||||
run: |
|
|
||||||
echo "Running on: ${{ steps.branch-names.outputs.tag }}"
|
|
||||||
# Outputs: "Running on: 0.0.1".
|
|
||||||
|
|
||||||
- name: Get the current tag
|
- name: Get the current tag
|
||||||
if: steps.branch-names.outputs.is_tag == 'true' # Replaces: startsWith(github.ref, 'refs/tags/')
|
if: startsWith(github.ref, 'refs/tags/')
|
||||||
run: |
|
run: |
|
||||||
echo "${{ steps.branch-names.outputs.tag }}"
|
echo "${{ steps.branch-name.outputs.tag }}"
|
||||||
# Outputs: "0.0.1"
|
# Outputs: "v0.0.1" OR "0.0.1"
|
||||||
```
|
```
|
||||||
|
|
||||||
### Other supported events
|
|
||||||
|
|
||||||
See [.github/workflows/test.yml](https://github.com/tj-actions/branch-names/blob/main/.github/workflows/test.yml) for more examples.
|
### Possible usage with [actions/checkout@v2](https://github.com/actions/checkout):
|
||||||
|
|
||||||
### Possible usage with [actions/checkout](https://github.com/actions/checkout)
|
|
||||||
|
|
||||||
```yaml
|
```yaml
|
||||||
on:
|
on:
|
||||||
@ -264,52 +107,30 @@ on:
|
|||||||
steps:
|
steps:
|
||||||
- name: Get branch names.
|
- name: Get branch names.
|
||||||
id: branch-names
|
id: branch-names
|
||||||
uses: tj-actions/branch-names@v8
|
uses: tj-actions/branch-names@v4.1
|
||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v2
|
||||||
with:
|
with:
|
||||||
ref: ${{ steps.branch-names.outputs.head_ref_branch }}
|
ref: ${{ steps.branch-names.outputs.base_ref_branch }}
|
||||||
```
|
```
|
||||||
|
|
||||||
* Free software: [MIT license](LICENSE)
|
|
||||||
|
|
||||||
## Credits
|
* Free software: [MIT license](LICENSE)
|
||||||
|
|
||||||
|
|
||||||
|
Credits
|
||||||
|
-------
|
||||||
|
|
||||||
This package was created with [Cookiecutter](https://github.com/cookiecutter/cookiecutter).
|
This package was created with [Cookiecutter](https://github.com/cookiecutter/cookiecutter).
|
||||||
|
|
||||||
## Report Bugs
|
|
||||||
|
|
||||||
|
Report Bugs
|
||||||
|
-----------
|
||||||
|
|
||||||
Report bugs at https://github.com/tj-actions/branch-names/issues.
|
Report bugs at https://github.com/tj-actions/branch-names/issues.
|
||||||
|
|
||||||
If you are reporting a bug, please include:
|
If you are reporting a bug, please include:
|
||||||
|
|
||||||
* Your operating system name and version.
|
* Your operating system name and version.
|
||||||
* Any details about your workflow that might be helpful in troubleshooting.
|
* Any details about your workflow that might be helpful in troubleshooting.
|
||||||
* Detailed steps to reproduce the bug.
|
* Detailed steps to reproduce the bug.
|
||||||
|
|
||||||
## Contributors ✨
|
|
||||||
|
|
||||||
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
|
|
||||||
|
|
||||||
<!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section -->
|
|
||||||
|
|
||||||
<!-- prettier-ignore-start -->
|
|
||||||
|
|
||||||
<!-- markdownlint-disable -->
|
|
||||||
|
|
||||||
<table>
|
|
||||||
<tbody>
|
|
||||||
<tr>
|
|
||||||
<td align="center" valign="top" width="14.28%"><a href="https://github.com/loarca"><img src="https://avatars.githubusercontent.com/u/22898638?v=4?s=100" width="100px;" alt="Alejandro Loarca"/><br /><sub><b>Alejandro Loarca</b></sub></a><br /><a href="https://github.com/tj-actions/branch-names/commits?author=loarca" title="Code">💻</a></td>
|
|
||||||
<td align="center" valign="top" width="14.28%"><a href="https://ianwoodard.me"><img src="https://avatars.githubusercontent.com/u/17186604?v=4?s=100" width="100px;" alt="Ian Woodard"/><br /><sub><b>Ian Woodard</b></sub></a><br /><a href="https://github.com/tj-actions/branch-names/commits?author=IanWoodard" title="Documentation">📖</a></td>
|
|
||||||
<td align="center" valign="top" width="14.28%"><a href="https://home.boidol.dev/"><img src="https://avatars.githubusercontent.com/u/652404?v=4?s=100" width="100px;" alt="Raphael Boidol"/><br /><sub><b>Raphael Boidol</b></sub></a><br /><a href="https://github.com/tj-actions/branch-names/commits?author=boidolr" title="Documentation">📖</a></td>
|
|
||||||
</tr>
|
|
||||||
</tbody>
|
|
||||||
</table>
|
|
||||||
|
|
||||||
<!-- markdownlint-restore -->
|
|
||||||
|
|
||||||
<!-- prettier-ignore-end -->
|
|
||||||
|
|
||||||
<!-- ALL-CONTRIBUTORS-LIST:END -->
|
|
||||||
|
|
||||||
This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!
|
|
||||||
|
32
SECURITY.md
32
SECURITY.md
@ -1,32 +0,0 @@
|
|||||||
# Security Policy
|
|
||||||
|
|
||||||
## Proactive Security Measures
|
|
||||||
|
|
||||||
To proactively detect and address security vulnerabilities, we utilize several robust tools and processes:
|
|
||||||
|
|
||||||
- **Dependency Updates:** We use [Renovate](https://renovatebot.com) and [Dependabot](https://docs.github.com/en/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates) to keep our dependencies updated and promptly patch detected vulnerabilities through automated PRs.
|
|
||||||
- **[GitHub's Security Features](https://github.com/features/security):** Our repository and dependencies are continuously monitored via GitHub's security features, which include:
|
|
||||||
- **Code Scanning:** Using GitHub's CodeQL, all pull requests are scanned to identify potential vulnerabilities in our source code.
|
|
||||||
- **Automated Alerts:** Dependabot identifies vulnerabilities based on the GitHub Advisory Database and opens PRs with patches, while automated [secret scanning](https://docs.github.com/en/enterprise-cloud@latest/code-security/secret-scanning/about-secret-scanning#about-secret-scanning-for-partner-patterns) provides alerts for detected secrets.
|
|
||||||
- **[GitGuardian Security Checks](https://www.gitguardian.com/):** We employ GitGuardian to ensure security checks are performed on the codebase, enhancing the overall security of our project.
|
|
||||||
- **Code Analysis and Security Scanning:** With the help of [Codacy Static Code Analysis](https://www.codacy.com/) and [Codacy Security Scan](https://security.codacy.com/), we conduct thorough analyses and scans of our code for potential security risks.
|
|
||||||
|
|
||||||
## Reporting Security Vulnerabilities
|
|
||||||
|
|
||||||
Despite our best efforts to deliver secure software, we acknowledge the invaluable role of the community in identifying security breaches.
|
|
||||||
|
|
||||||
### Private Vulnerability Disclosures
|
|
||||||
|
|
||||||
We request all suspected vulnerabilities to be responsibly and privately disclosed by sending an email to [support@tj-actions.online](mailto:support@tj-actions.online).
|
|
||||||
|
|
||||||
### Public Vulnerability Disclosures
|
|
||||||
|
|
||||||
For publicly disclosed security vulnerabilities, please **IMMEDIATELY** email [support@tj-actions.online](mailto:support@tj-actions.online) with the details for prompt action.
|
|
||||||
|
|
||||||
Upon confirmation of a breach, reporters will receive full credit and recognition for their contribution. Please note, that we do not offer monetary compensation for reporting vulnerabilities.
|
|
||||||
|
|
||||||
## Communication of Security Breaches
|
|
||||||
|
|
||||||
We will utilize the [GitHub Security Advisory](https://github.com/tj-actions/branch-names/security/advisories) to communicate any security breaches. The advisory will be made public once a patch has been released to rectify the issue.
|
|
||||||
|
|
||||||
We appreciate your cooperation and contribution to maintaining the security of our software. Remember, a secure community is a strong community.
|
|
105
action.yml
105
action.yml
@ -1,118 +1,77 @@
|
|||||||
name: Branch Names
|
name: branch-names
|
||||||
description: Retrieve github branch or tag information without the /ref/* prefix
|
description: Retrieve giithub branch information without `/ref/*` prefix
|
||||||
author: tj-actions
|
author: tj-actions
|
||||||
inputs:
|
inputs:
|
||||||
strip_tag_prefix:
|
strip_tag_prefix:
|
||||||
description: 'The prefix that should be stripped from the tag e.g `v` -> with a tag `v0.0.1` -> returns `0.0.1`'
|
description: 'The tag prefix to strip i.e v0.0.1 -> (strip v) -> 0.0.1'
|
||||||
default: ''
|
default: ''
|
||||||
required: false
|
required: false
|
||||||
|
|
||||||
outputs:
|
outputs:
|
||||||
is_default:
|
is_default:
|
||||||
value: ${{ steps.default.outputs.is_default }}
|
value: ${{ steps.default.outputs.is_default }}
|
||||||
description: 'Returns `"true"` if the current branch is the default else `"false"`.'
|
description: 'Returns "true" if the current branch is the default else "false".'
|
||||||
is_tag:
|
|
||||||
value: ${{ steps.tag.outputs.is_tag }}
|
|
||||||
description: 'Returns `"true"` if the current branch is a tag else `"false"`.'
|
|
||||||
default_branch:
|
|
||||||
value: ${{ steps.default.outputs.default_branch }}
|
|
||||||
description: 'The default branch name e.g `main` OR `master`'
|
|
||||||
current_branch:
|
current_branch:
|
||||||
value: ${{ steps.current_branch.outputs.current_branch }}
|
value: ${{ steps.current_branch.outputs.current_branch }}
|
||||||
description: 'The current branch name regardless of event_type e.g `main`, `feature/test`'
|
description: 'Returns the value of the current branch which is consistent regardless of event_type: i.e (push, pull_requests).'
|
||||||
base_ref_branch:
|
base_ref_branch:
|
||||||
value: ${{ steps.branch.outputs.base_ref_branch }}
|
value: ${{ steps.branch.outputs.base_ref_branch }}
|
||||||
description: 'The target branch of a pull request or tag e.g `main`'
|
description: 'The target branch of a pull request'
|
||||||
head_ref_branch:
|
head_ref_branch:
|
||||||
value: ${{ steps.branch.outputs.head_ref_branch }}
|
value: ${{ steps.branch.outputs.head_ref_branch }}
|
||||||
description: 'The source branch of a pull request e.g `feature/test`'
|
description: 'The source branch of a pull request'
|
||||||
ref_branch:
|
ref_branch:
|
||||||
value: ${{ steps.branch.outputs.ref_branch }}
|
value: ${{ steps.branch.outputs.ref_branch }}
|
||||||
description: 'The branch that triggered the workflow run. e.g `1/merge`, `main`'
|
description: 'The branch that triggered the workflow run.'
|
||||||
tag:
|
tag:
|
||||||
value: ${{ steps.tag.outputs.tag }}
|
value: ${{ steps.tag.outputs.tag }}
|
||||||
description: 'The tag that triggered the workflow run. e.g `v0.0.1`, `0.0.1`'
|
description: 'The tag that triggered the workflow run.'
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: "composite"
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
- id: branch
|
- id: branch
|
||||||
env:
|
|
||||||
GITHUB_REF: ${{ github.ref }}
|
|
||||||
GITHUB_BASE_REF: ${{ github.event.pull_request.base.ref || github.base_ref }}
|
|
||||||
GITHUB_HEAD_REF: ${{ github.event.pull_request.head.ref || github.head_ref }}
|
|
||||||
GITHUB_EVENT_BASE_REF: ${{ github.event.base_ref }}
|
|
||||||
INPUTS_STRIP_TAG_PREFIX: ${{ inputs.strip_tag_prefix }}
|
|
||||||
run: |
|
run: |
|
||||||
# "Set branch names..."
|
if [[ "${{ github.ref }}" != "refs/tags/"* ]]; then
|
||||||
if [[ "$GITHUB_REF" != "refs/tags/"* ]]; then
|
BASE_REF=${{ github.base_ref }}
|
||||||
BASE_REF=$(printf "%q" "$GITHUB_BASE_REF")
|
HEAD_REF=${{ github.head_ref }}
|
||||||
HEAD_REF=$(printf "%q" "$GITHUB_HEAD_REF")
|
REF=${{ github.ref }}
|
||||||
REF=$(printf "%q" "$GITHUB_REF")
|
echo "::set-output name=base_ref_branch::${BASE_REF/refs\/heads\//}"
|
||||||
|
echo "::set-output name=head_ref_branch::${HEAD_REF/refs\/heads\//}"
|
||||||
BASE_REF=${BASE_REF/refs\/heads\//}
|
|
||||||
HEAD_REF=${HEAD_REF/refs\/heads\//}
|
|
||||||
REF_BRANCH=${REF/refs\/pull\//}
|
REF_BRANCH=${REF/refs\/pull\//}
|
||||||
REF_BRANCH=${REF_BRANCH/refs\/heads\//}
|
echo "::set-output name=ref_branch::${REF_BRANCH/refs\/heads\//}"
|
||||||
|
|
||||||
echo "base_ref_branch=$(eval printf "%s" "$BASE_REF")" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "head_ref_branch=$(eval printf "%s" "$HEAD_REF")" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "ref_branch=$(eval printf "%s" "$REF_BRANCH")" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
|
||||||
BASE_REF=$(printf "%q" "$GITHUB_EVENT_BASE_REF")
|
|
||||||
BASE_REF=${BASE_REF/refs\/heads\/$INPUTS_STRIP_TAG_PREFIX/}
|
|
||||||
|
|
||||||
echo "base_ref_branch=$(eval printf "%s" "$BASE_REF")" >> "$GITHUB_OUTPUT"
|
|
||||||
fi
|
fi
|
||||||
shell: bash
|
shell: bash
|
||||||
- id: current_branch
|
- id: current_branch
|
||||||
env:
|
|
||||||
GITHUB_REF: ${{ github.ref }}
|
|
||||||
GITHUB_EVENT_NAME: ${{ github.event_name }}
|
|
||||||
HEAD_REF_BRANCH: ${{ steps.branch.outputs.head_ref_branch }}
|
|
||||||
REF_BRANCH: ${{ steps.branch.outputs.ref_branch }}
|
|
||||||
run: |
|
run: |
|
||||||
# "Set the current branch name..."
|
if [[ "${{ github.ref }}" != "refs/tags/"* ]]; then
|
||||||
if [[ "$GITHUB_REF" != "refs/tags/"* ]]; then
|
if [[ ${{ github.event_name }} == 'pull_request' ]]; then
|
||||||
if [[ "$GITHUB_EVENT_NAME" == *"pull_request"* ]]; then
|
echo "::set-output name=current_branch::${{ steps.branch.outputs.head_ref_branch }}"
|
||||||
echo "current_branch=$HEAD_REF_BRANCH" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
else
|
||||||
echo "current_branch=$REF_BRANCH" >> "$GITHUB_OUTPUT"
|
echo "::set-output name=current_branch::${{ steps.branch.outputs.ref_branch }}"
|
||||||
fi
|
fi
|
||||||
|
else
|
||||||
|
REF=${{ github.ref }}
|
||||||
|
REF_BRANCH=${REF/refs\/tags\//}
|
||||||
|
echo "::set-output name=current_branch::$REF_BRANCH"
|
||||||
fi
|
fi
|
||||||
shell: bash
|
shell: bash
|
||||||
- id: default
|
- id: default
|
||||||
env:
|
|
||||||
GITHUB_REF: ${{ github.ref }}
|
|
||||||
CURRENT_BRANCH: ${{ steps.current_branch.outputs.current_branch }}
|
|
||||||
DEFAULT_BRANCH: ${{ github.event.repository.default_branch }}
|
|
||||||
FORK: ${{ github.event.pull_request.head.repo.fork }}
|
|
||||||
run: |
|
run: |
|
||||||
# "Set the default branch name..."
|
if [[ "${{ github.ref }}" != "refs/tags/"* ]]; then
|
||||||
if [[ "$GITHUB_REF" != "refs/tags/"* ]]; then
|
if [[ "${{ steps.current_branch.outputs.current_branch }}" == "${{ steps.branch.outputs.ref_branch }}" ]]; then
|
||||||
if [[ "$CURRENT_BRANCH" == "$DEFAULT_BRANCH" && "$FORK" != "true" ]]; then
|
echo "::set-output name=is_default::true"
|
||||||
echo "is_default=true" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "default_branch=$DEFAULT_BRANCH" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
else
|
||||||
echo "is_default=false" >> "$GITHUB_OUTPUT"
|
echo "::set-output name=is_default::false"
|
||||||
echo "default_branch=$DEFAULT_BRANCH" >> "$GITHUB_OUTPUT"
|
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
shell: bash
|
shell: bash
|
||||||
- id: tag
|
- id: tag
|
||||||
env:
|
|
||||||
GITHUB_REF: ${{ github.ref }}
|
|
||||||
INPUTS_STRIP_TAG_PREFIX: ${{ inputs.strip_tag_prefix }}
|
|
||||||
run: |
|
run: |
|
||||||
# "Set the tag name..."
|
if [[ "${{ github.ref }}" == "refs/tags/"* ]]; then
|
||||||
if [[ "$GITHUB_REF" == "refs/tags/"* ]]; then
|
REF=${{ github.ref }}
|
||||||
REF=$(printf "%q" "$GITHUB_REF")
|
TAG=${REF/refs\/tags\/${{ inputs.strip_tag_prefix }}/}
|
||||||
TAG="${REF/refs\/tags\/$INPUTS_STRIP_TAG_PREFIX/}"
|
echo "::set-output name=tag::$TAG"
|
||||||
|
|
||||||
echo "tag=$(eval printf "%s" "$TAG")" >> "$GITHUB_OUTPUT"
|
|
||||||
echo "is_tag=true" >> "$GITHUB_OUTPUT"
|
|
||||||
else
|
|
||||||
echo "is_tag=false" >> "$GITHUB_OUTPUT"
|
|
||||||
fi
|
fi
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
|
@ -7,8 +7,7 @@
|
|||||||
"prConcurrentLimit": 5,
|
"prConcurrentLimit": 5,
|
||||||
"rebaseWhen": "behind-base-branch",
|
"rebaseWhen": "behind-base-branch",
|
||||||
"addLabels": [
|
"addLabels": [
|
||||||
"dependencies",
|
"dependencies"
|
||||||
"merge when passing"
|
|
||||||
],
|
],
|
||||||
"assignees": [
|
"assignees": [
|
||||||
"jackton1"
|
"jackton1"
|
||||||
@ -20,21 +19,13 @@
|
|||||||
"enabled": true,
|
"enabled": true,
|
||||||
"automerge": true
|
"automerge": true
|
||||||
},
|
},
|
||||||
"nvm": {
|
|
||||||
"enabled": false
|
|
||||||
},
|
|
||||||
"packageRules": [
|
"packageRules": [
|
||||||
{
|
{
|
||||||
"matchUpdateTypes": [
|
"matchUpdateTypes": ["major", "minor", "patch", "pin", "digest"],
|
||||||
"minor",
|
|
||||||
"patch",
|
|
||||||
"pin",
|
|
||||||
"digest"
|
|
||||||
],
|
|
||||||
"automerge": true,
|
"automerge": true,
|
||||||
"rebaseWhen": "behind-base-branch",
|
"rebaseWhen": "behind-base-branch",
|
||||||
"addLabels": [
|
"addLabels": [
|
||||||
"merge when passing"
|
"automerge"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
@ -42,15 +33,10 @@
|
|||||||
"matchLanguages": [
|
"matchLanguages": [
|
||||||
"docker"
|
"docker"
|
||||||
],
|
],
|
||||||
"matchUpdateTypes": [
|
"matchUpdateTypes": ["major", "minor", "patch", "pin", "digest"],
|
||||||
"minor",
|
|
||||||
"patch",
|
|
||||||
"pin",
|
|
||||||
"digest"
|
|
||||||
],
|
|
||||||
"rebaseWhen": "behind-base-branch",
|
"rebaseWhen": "behind-base-branch",
|
||||||
"addLabels": [
|
"addLabels": [
|
||||||
"merge when passing"
|
"automerge"
|
||||||
],
|
],
|
||||||
"automerge": true
|
"automerge": true
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user