Compare commits
8 Commits
Author | SHA1 | Date | |
---|---|---|---|
939b270d72 | |||
9cf6fa0471 | |||
![]() |
439b544eb5 | ||
![]() |
5fd75da7db | ||
![]() |
dfde198884 | ||
![]() |
6c97b745ef | ||
![]() |
c04ad35429 | ||
![]() |
4fb8dbb3d2 |
78
.github/labels.yml
vendored
78
.github/labels.yml
vendored
@ -1,78 +0,0 @@
|
|||||||
---
|
|
||||||
- name: "breaking-change"
|
|
||||||
color: ee0701
|
|
||||||
description: "A breaking change for existing users."
|
|
||||||
- name: "bugfix"
|
|
||||||
color: ee0701
|
|
||||||
description: "Inconsistencies or issues which will cause a problem for users or implementors."
|
|
||||||
- name: "documentation"
|
|
||||||
color: 0052cc
|
|
||||||
description: "Solely about the documentation of the project."
|
|
||||||
- name: "enhancement"
|
|
||||||
color: 1d76db
|
|
||||||
description: "Enhancement of the code, not introducing new features."
|
|
||||||
- name: "refactor"
|
|
||||||
color: 1d76db
|
|
||||||
description: "Improvement of existing code, not introducing new features."
|
|
||||||
- name: "performance"
|
|
||||||
color: 1d76db
|
|
||||||
description: "Improving performance, not introducing new features."
|
|
||||||
- name: "new-feature"
|
|
||||||
color: 0e8a16
|
|
||||||
description: "New features or options."
|
|
||||||
- name: "maintenance"
|
|
||||||
color: 2af79e
|
|
||||||
description: "Generic maintenance tasks."
|
|
||||||
- name: "ci"
|
|
||||||
color: 1d76db
|
|
||||||
description: "Work that improves the continue integration."
|
|
||||||
- name: "dependencies"
|
|
||||||
color: 1d76db
|
|
||||||
description: "Upgrade or downgrade of project dependencies."
|
|
||||||
|
|
||||||
- name: "in-progress"
|
|
||||||
color: fbca04
|
|
||||||
description: "Issue is currently being resolved by a developer."
|
|
||||||
- name: "stale"
|
|
||||||
color: fef2c0
|
|
||||||
description: "There has not been activity on this issue or PR for quite some time."
|
|
||||||
- name: "no-stale"
|
|
||||||
color: fef2c0
|
|
||||||
description: "This issue or PR is exempted from the stable bot."
|
|
||||||
|
|
||||||
- name: "security"
|
|
||||||
color: ee0701
|
|
||||||
description: "Marks a security issue that needs to be resolved asap."
|
|
||||||
- name: "incomplete"
|
|
||||||
color: fef2c0
|
|
||||||
description: "Marks a PR or issue that is missing information."
|
|
||||||
- name: "invalid"
|
|
||||||
color: fef2c0
|
|
||||||
description: "Marks a PR or issue that is missing information."
|
|
||||||
|
|
||||||
- name: "beginner-friendly"
|
|
||||||
color: 0e8a16
|
|
||||||
description: "Good first issue for people wanting to contribute to the project."
|
|
||||||
- name: "help-wanted"
|
|
||||||
color: 0e8a16
|
|
||||||
description: "We need some extra helping hands or expertise in order to resolve this."
|
|
||||||
|
|
||||||
- name: "priority-critical"
|
|
||||||
color: ee0701
|
|
||||||
description: "This should be dealt with ASAP. Not fixing this issue would be a serious error."
|
|
||||||
- name: "priority-high"
|
|
||||||
color: b60205
|
|
||||||
description: "After critical issues are fixed, these should be dealt with before any further issues."
|
|
||||||
- name: "priority-medium"
|
|
||||||
color: 0e8a16
|
|
||||||
description: "This issue may be useful, and needs some attention."
|
|
||||||
- name: "priority-low"
|
|
||||||
color: e4ea8a
|
|
||||||
description: "Nice addition, maybe... someday..."
|
|
||||||
|
|
||||||
- name: "major"
|
|
||||||
color: b60205
|
|
||||||
description: "This PR causes a major version bump in the version number."
|
|
||||||
- name: "minor"
|
|
||||||
color: 0e8a16
|
|
||||||
description: "This PR causes a minor version bump in the version number."
|
|
2
.github/workflows/functional-tests.yml
vendored
2
.github/workflows/functional-tests.yml
vendored
@ -23,7 +23,7 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: ["ubuntu", "macos"]
|
os: ["ubuntu", "macos"]
|
||||||
version: ["latest", "9.12.0", "9.11.1", "9.11.0", "9.10.1", "9.10.0"]
|
version: ["latest", "11.2.0", "11.1.0", "11.0.1", "11.0.0", "10.0.1"]
|
||||||
runs-on: ${{ matrix.os }}-latest
|
runs-on: ${{ matrix.os }}-latest
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout ${{ github.repository }}
|
- name: Checkout ${{ github.repository }}
|
||||||
|
30
.github/workflows/release.yml
vendored
30
.github/workflows/release.yml
vendored
@ -7,30 +7,6 @@ on: # yamllint disable-line rule:truthy
|
|||||||
- "v*.*.*"
|
- "v*.*.*"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
create-release:
|
github:
|
||||||
name: Create release
|
name: GitHub
|
||||||
runs-on: ubuntu-latest
|
uses: fabasoad/reusable-workflows/.github/workflows/wf-github-release.yml@main
|
||||||
steps:
|
|
||||||
- name: Checkout ${{ github.repository }}
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Get changelog
|
|
||||||
id: changelog
|
|
||||||
uses: simbo/changes-since-last-release-action@v1
|
|
||||||
- name: Create release
|
|
||||||
uses: softprops/action-gh-release@v2
|
|
||||||
with:
|
|
||||||
tag_name: ${{ github.ref }}
|
|
||||||
name: ${{ github.ref_name }}
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
body: |
|
|
||||||
# Changelog
|
|
||||||
|
|
||||||
${{ steps.changelog.outputs.log }}
|
|
||||||
draft: false
|
|
||||||
prerelease: false
|
|
||||||
- name: Bump tags
|
|
||||||
uses: fischerscode/tagger@v0
|
|
||||||
with:
|
|
||||||
prefix: v
|
|
||||||
|
47
.github/workflows/security.yml
vendored
47
.github/workflows/security.yml
vendored
@ -7,45 +7,10 @@ on: # yamllint disable-line rule:truthy
|
|||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
|
|
||||||
defaults:
|
|
||||||
run:
|
|
||||||
shell: sh
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
code-scanning:
|
sast:
|
||||||
name: Code scanning
|
name: SAST
|
||||||
runs-on: ubuntu-latest
|
permissions:
|
||||||
steps:
|
contents: read
|
||||||
- name: Checkout ${{ github.repository }}
|
security-events: write
|
||||||
uses: actions/checkout@v4
|
uses: fabasoad/reusable-workflows/.github/workflows/wf-security-sast.yml@main
|
||||||
- name: Initialize CodeQL
|
|
||||||
uses: github/codeql-action/init@v3
|
|
||||||
with:
|
|
||||||
languages: "javascript"
|
|
||||||
- name: Perform CodeQL Analysis
|
|
||||||
id: codeql-analysis
|
|
||||||
uses: github/codeql-action/analyze@v3
|
|
||||||
- name: Upload to GHAS
|
|
||||||
if: always()
|
|
||||||
uses: github/codeql-action/upload-sarif@v3
|
|
||||||
with:
|
|
||||||
category: "code-scanning"
|
|
||||||
sarif_file: "${{ steps.codeql-analysis.outputs.sarif-output }}"
|
|
||||||
directory-scanning:
|
|
||||||
name: Directory scanning
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- name: Checkout ${{ github.repository }}
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Scan current project
|
|
||||||
id: scan-directory
|
|
||||||
uses: anchore/scan-action@v3
|
|
||||||
with:
|
|
||||||
by-cve: "true"
|
|
||||||
path: "."
|
|
||||||
- name: Upload to GHAS
|
|
||||||
if: always()
|
|
||||||
uses: github/codeql-action/upload-sarif@v3
|
|
||||||
with:
|
|
||||||
category: "directory-scanning"
|
|
||||||
sarif_file: "${{ steps.scan-directory.outputs.sarif }}"
|
|
||||||
|
20
.github/workflows/sync-labels.yml
vendored
20
.github/workflows/sync-labels.yml
vendored
@ -1,23 +1,13 @@
|
|||||||
---
|
---
|
||||||
name: Sync labels
|
name: Labels
|
||||||
|
|
||||||
on: # yamllint disable-line rule:truthy
|
on: # yamllint disable-line rule:truthy
|
||||||
push:
|
push:
|
||||||
branches:
|
branches:
|
||||||
- main
|
- main
|
||||||
paths:
|
workflow_dispatch: {}
|
||||||
- .github/labels.yml
|
|
||||||
- .github/workflows/sync-labels.yml
|
|
||||||
workflow_dispatch:
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
sync-labels:
|
maintenance:
|
||||||
name: Sync labels
|
name: Maintenance
|
||||||
runs-on: ubuntu-latest
|
uses: fabasoad/reusable-workflows/.github/workflows/wf-sync-labels.yml@main
|
||||||
steps:
|
|
||||||
- name: Checkout ${{ github.repository }}
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
- name: Run Label Syncer
|
|
||||||
uses: micnncim/action-label-syncer@v1
|
|
||||||
env:
|
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
|
27
.github/workflows/update-license.yml
vendored
27
.github/workflows/update-license.yml
vendored
@ -1,30 +1,11 @@
|
|||||||
---
|
---
|
||||||
name: Update license
|
name: License
|
||||||
|
|
||||||
on: # yamllint disable-line rule:truthy
|
on: # yamllint disable-line rule:truthy
|
||||||
schedule:
|
schedule:
|
||||||
- cron: "0 5 1 1 *"
|
- cron: "0 5 1 1 *"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
run:
|
maintenance:
|
||||||
runs-on: ubuntu-latest
|
name: Maintenance
|
||||||
steps:
|
uses: fabasoad/reusable-workflows/.github/workflows/wf-update-license.yml@main
|
||||||
- name: Checkout ${{ github.repository }}
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
fetch-depth: 0
|
|
||||||
- name: Update LICENSE file
|
|
||||||
uses: FantasticFiasco/action-update-license-year@v3
|
|
||||||
with:
|
|
||||||
token: ${{ secrets.GITHUB_TOKEN }}
|
|
||||||
assignees: ${{ github.repository_owner }}
|
|
||||||
labels: enhancement
|
|
||||||
prTitle: Update license copyright year to {{currentYear}}
|
|
||||||
prBody: |
|
|
||||||
## Changelog
|
|
||||||
|
|
||||||
- Update license copyright year to {{currentYear}}
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Powered by [FantasticFiasco/action-update-license-year](https://github.com/FantasticFiasco/action-update-license-year)
|
|
||||||
|
@ -3,22 +3,49 @@ default_install_hook_types: ["pre-commit", "pre-push"]
|
|||||||
default_stages: ["commit"]
|
default_stages: ["commit"]
|
||||||
minimum_pre_commit_version: 2.18.0
|
minimum_pre_commit_version: 2.18.0
|
||||||
repos:
|
repos:
|
||||||
|
# Linting
|
||||||
|
- repo: local
|
||||||
|
hooks:
|
||||||
|
- id: prettier
|
||||||
|
name: Prettier
|
||||||
|
entry: prettier --write --ignore-unknown
|
||||||
|
language: node
|
||||||
|
types: [text]
|
||||||
|
args: []
|
||||||
|
# https://github.com/prettier/prettier/releases
|
||||||
|
additional_dependencies: ["prettier@3.3.3"]
|
||||||
|
stages: ["commit"]
|
||||||
# Security
|
# Security
|
||||||
- repo: https://github.com/Yelp/detect-secrets
|
- repo: https://github.com/Yelp/detect-secrets
|
||||||
rev: v1.4.0
|
rev: v1.5.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: detect-secrets
|
- id: detect-secrets
|
||||||
stages: ["commit", "push"]
|
stages: ["commit", "push"]
|
||||||
- repo: https://github.com/gitleaks/gitleaks
|
- repo: https://github.com/gitleaks/gitleaks
|
||||||
rev: v8.18.2
|
rev: v8.21.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: gitleaks
|
- id: gitleaks
|
||||||
stages: ["commit", "push"]
|
stages: ["commit", "push"]
|
||||||
|
- repo: https://github.com/fabasoad/pre-commit-grype
|
||||||
|
rev: v0.6.1
|
||||||
|
hooks:
|
||||||
|
- id: grype-dir
|
||||||
|
args:
|
||||||
|
- --grype-args=--by-cve --fail-on=low
|
||||||
|
- --hook-args=--log-level debug
|
||||||
|
stages: ["push"]
|
||||||
# Markdown
|
# Markdown
|
||||||
- repo: https://github.com/igorshubovych/markdownlint-cli
|
- repo: https://github.com/igorshubovych/markdownlint-cli
|
||||||
rev: v0.39.0
|
rev: v0.42.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: markdownlint-fix
|
- id: markdownlint-fix
|
||||||
|
# Shell
|
||||||
|
- repo: https://github.com/openstack/bashate
|
||||||
|
rev: 2.1.1
|
||||||
|
hooks:
|
||||||
|
- id: bashate
|
||||||
|
args: ["-i", "E003,E006"]
|
||||||
|
stages: ["commit"]
|
||||||
# Yaml
|
# Yaml
|
||||||
- repo: https://github.com/adrienverge/yamllint
|
- repo: https://github.com/adrienverge/yamllint
|
||||||
rev: v1.35.1
|
rev: v1.35.1
|
||||||
@ -27,18 +54,14 @@ repos:
|
|||||||
stages: ["push"]
|
stages: ["push"]
|
||||||
# GitHub Actions
|
# GitHub Actions
|
||||||
- repo: https://github.com/rhysd/actionlint
|
- repo: https://github.com/rhysd/actionlint
|
||||||
rev: v1.6.27
|
rev: v1.7.3
|
||||||
hooks:
|
hooks:
|
||||||
- id: actionlint
|
- id: actionlint
|
||||||
args: ["-pyflakes="]
|
args: ["-pyflakes="]
|
||||||
stages: ["push"]
|
stages: ["commit"]
|
||||||
# Other
|
# Other
|
||||||
- repo: https://github.com/pre-commit/mirrors-prettier
|
|
||||||
rev: v3.1.0
|
|
||||||
hooks:
|
|
||||||
- id: prettier
|
|
||||||
- repo: https://github.com/pre-commit/pre-commit-hooks
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
||||||
rev: v4.6.0
|
rev: v5.0.0
|
||||||
hooks:
|
hooks:
|
||||||
- id: check-executables-have-shebangs
|
- id: check-executables-have-shebangs
|
||||||
stages: ["commit"]
|
stages: ["commit"]
|
||||||
|
@ -24,7 +24,7 @@ action:
|
|||||||
- uses: fabasoad/setup-mark-action@v1
|
- uses: fabasoad/setup-mark-action@v1
|
||||||
with:
|
with:
|
||||||
# (Optional) mark version. Defaults to "latest".
|
# (Optional) mark version. Defaults to "latest".
|
||||||
version: "9.11.1"
|
version: "11.2.0"
|
||||||
```
|
```
|
||||||
|
|
||||||
## Outputs
|
## Outputs
|
||||||
|
13
action.yml
13
action.yml
@ -10,12 +10,23 @@ inputs:
|
|||||||
description: "mark version."
|
description: "mark version."
|
||||||
required: false
|
required: false
|
||||||
default: "latest"
|
default: "latest"
|
||||||
|
url_prefix:
|
||||||
|
description: "mark url."
|
||||||
|
required: false
|
||||||
|
default: "https://github.com/kovetskiy/mark"
|
||||||
runs:
|
runs:
|
||||||
using: "composite"
|
using: "composite"
|
||||||
steps:
|
steps:
|
||||||
|
- name: Validate inputs
|
||||||
|
env:
|
||||||
|
INPUT_VERSION: "${{ inputs.version }}"
|
||||||
|
run: ./validate-inputs.sh "${INPUT_VERSION}"
|
||||||
|
shell: sh
|
||||||
|
working-directory: ${{ github.action_path }}/src
|
||||||
- name: Install kovetskiy/mark
|
- name: Install kovetskiy/mark
|
||||||
env:
|
env:
|
||||||
INPUT_VERSION: "${{ inputs.version }}"
|
INPUT_VERSION: "${{ inputs.version }}"
|
||||||
run: ./install-mark.sh "${INPUT_VERSION}"
|
INPUT_URL_PREFIX: "${{ inputs.url_prefix }}"
|
||||||
|
run: ./install-mark.sh "${INPUT_VERSION}" "${INPUT_URL_PREFIX}"
|
||||||
shell: sh
|
shell: sh
|
||||||
working-directory: ${{ github.action_path }}/src
|
working-directory: ${{ github.action_path }}/src
|
||||||
|
@ -1,18 +1,21 @@
|
|||||||
#!/usr/bin/env sh
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
mark_version="$1"
|
main() {
|
||||||
|
mark_version="${1}"
|
||||||
|
url_prefix="${2}"
|
||||||
|
|
||||||
# shellcheck disable=SC2039
|
# shellcheck disable=SC2039
|
||||||
if command -v mark >/dev/null 2>&1; then
|
if command -v mark >/dev/null 2>&1; then
|
||||||
msg="$(mark --version) is already installed. Skipping installation."
|
msg="$(mark --version) is already installed. Skipping installation."
|
||||||
printf "[setup-mark-action] %s level=info %s\n" "$(date +'%Y-%m-%d %T')" "${msg}"
|
printf "[info] [setup-mark-action] %s %s\n" "$(date +'%Y-%m-%d %T')" "${msg}"
|
||||||
exit 0
|
exit 0
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
url_prefix="${url_prefix}/releases"
|
||||||
if [ "${mark_version}" = "latest" ]; then
|
if [ "${mark_version}" = "latest" ]; then
|
||||||
url_prefix="https://github.com/kovetskiy/mark/releases/latest/download"
|
url_prefix="${url_prefix}/latest/download"
|
||||||
else
|
else
|
||||||
url_prefix="https://github.com/kovetskiy/mark/releases/download/${mark_version}"
|
url_prefix="${url_prefix}/download/${mark_version}"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
url=""
|
url=""
|
||||||
@ -50,3 +53,6 @@ fi
|
|||||||
tar -xf "${tar_path}" -C "${bin_path}"
|
tar -xf "${tar_path}" -C "${bin_path}"
|
||||||
rm -f "${tar_path}"
|
rm -f "${tar_path}"
|
||||||
echo "${bin_path}" >> "$GITHUB_PATH"
|
echo "${bin_path}" >> "$GITHUB_PATH"
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
||||||
|
27
src/validate-inputs.sh
Executable file
27
src/validate-inputs.sh
Executable file
@ -0,0 +1,27 @@
|
|||||||
|
#!/usr/bin/env sh
|
||||||
|
|
||||||
|
# Validates value to be a valid semver string.
|
||||||
|
# Parameters:
|
||||||
|
# 1. (Required) Param name to display it correctly in the error message for the
|
||||||
|
# users.
|
||||||
|
# 2. (Required) Param value that will be validated.
|
||||||
|
#
|
||||||
|
# Usage examples:
|
||||||
|
# check_semver "my-valid-semver-1" "1.2.3"
|
||||||
|
# check_semver "my-valid-semver-3" "latest"
|
||||||
|
# check_semver "my-invalid-semver" "1.2.3-rc1"
|
||||||
|
check_semver() {
|
||||||
|
if ! echo "${2}" | grep -Eq '^(latest|[0-9]+(\.[0-9]+){0,2})$'; then
|
||||||
|
msg="\"${1}\" parameter is invalid. \"${2}\" is not a valid semver."
|
||||||
|
echo "::error title=Invalid parameter::${msg}"
|
||||||
|
exit 30
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
main() {
|
||||||
|
input_version="${1}"
|
||||||
|
|
||||||
|
check_semver "version" "${input_version}"
|
||||||
|
}
|
||||||
|
|
||||||
|
main "$@"
|
Loading…
x
Reference in New Issue
Block a user