Compare commits

...

14 Commits
1.1.0 ... 1.2.0

Author SHA1 Message Date
semantic-release-bot
fbf6d7b9c7 chore(release): 1.2.0 [skip ci]
# [1.2.0](http://github.com/rlespinasse/github-slug-action/compare/1.1.1...1.2.0) (2021-04-05)

### Features

* add deprecation warning ([c9eec68](c9eec68e1a))
2021-04-05 17:59:17 +00:00
rlespinasse
c9eec68e1a feat: add deprecation warning 2021-04-05 19:58:34 +02:00
semantic-release-bot
242e04c2d2 chore(release): 1.1.1 [skip ci]
## [1.1.1](http://github.com/rlespinasse/github-slug-action/compare/1.1.0...1.1.1) (2020-10-07)

### Bug Fixes

* remove set-env due to CVE fix ([6c69465](6c69465e62))
2020-10-07 20:53:59 +00:00
rlespinasse
6c69465e62 fix: remove set-env due to CVE fix 2020-10-07 22:53:14 +02:00
rlespinasse
32aab7b8b1 ci: improve release process 2020-05-01 17:16:24 +02:00
rlespinasse
8799f16714 docs(security): add vulenerability report guide 2020-04-25 22:23:43 +02:00
rlespinasse
f55abd0ed8 docs: improve usage guide 2020-04-25 22:04:15 +02:00
rlespinasse
78b4cbe021 style: add editorconfig file 2020-04-25 22:04:15 +02:00
rlespinasse
74fe20250f ci: move to branch-based releases 2020-04-25 19:56:36 +02:00
rlespinasse
30ff8f2cb0 build: fix dependencies vulnerabilities 2020-04-25 19:43:46 +02:00
Slava Semushin
73f6003cd2 style: fix typos 2019-12-16 17:18:57 +01:00
dependabot[bot]
fd2f7856b9 build(deps): bump npm from 6.13.0 to 6.13.4
Bumps [npm](https://github.com/npm/cli) from 6.13.0 to 6.13.4.
- [Release notes](https://github.com/npm/cli/releases)
- [Changelog](https://github.com/npm/cli/blob/latest/CHANGELOG.md)
- [Commits](https://github.com/npm/cli/compare/v6.13.0...v6.13.4)

Signed-off-by: dependabot[bot] <support@github.com>
2019-12-13 22:32:17 +01:00
Antoine Meausoone
0e25ff1b4e ci(pr): build on pull_request 2019-12-11 13:23:09 +01:00
Antoine Méausoone
97aa7af437 test(docker): fix bats docker image 2019-12-11 13:23:09 +01:00
14 changed files with 1062 additions and 904 deletions

11
.editorconfig Normal file
View File

@@ -0,0 +1,11 @@
# top-most EditorConfig file
root = true
# Unix-style newlines with a newline ending every file
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

View File

@@ -1,5 +1,3 @@
FROM dduportal/bats:latest
FROM bats/bats:latest
COPY entrypoint.sh /entrypoint.sh
ENTRYPOINT ["/entrypoint.sh"]
CMD ["./tests"]

View File

@@ -1,3 +0,0 @@
#!/usr/bin/env sh
/sbin/bats ./tests

View File

@@ -1,5 +1,5 @@
name: ci
on: push
name: Build
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
@@ -7,10 +7,29 @@ jobs:
- uses: actions/checkout@v1
- uses: ./.github/actions/bats
- uses: cycjimmy/semantic-release-action@v2
if: github.ref == 'refs/heads/master'
with:
semantic_version: 17.0.7
branches: |
[
'v1.1.x',
'v2.x'
]
extra_plugins: |
@semantic-release/git
@semantic-release/changelog
@semantic-release/changelog@5.0.1
@semantic-release/git@9.0.0
env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }}
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: ./
- name: Output
run: |
echo "Slug variables"
echo " ref : ${{ env.GITHUB_REF_SLUG }}"
echo " head ref : ${{ env.GITHUB_HEAD_REF_SLUG }}"
echo " base ref : ${{ env.GITHUB_BASE_REF_SLUG }}"
echo "Short SHA variables"
echo " sha : ${{ env.GITHUB_SHA_SHORT }}"

View File

@@ -1,3 +1,17 @@
# [1.2.0](http://github.com/rlespinasse/github-slug-action/compare/1.1.1...1.2.0) (2021-04-05)
### Features
* add deprecation warning ([c9eec68](http://github.com/rlespinasse/github-slug-action/commit/c9eec68e1a02f91b77e9b978ad23527085244aaa))
## [1.1.1](http://github.com/rlespinasse/github-slug-action/compare/1.1.0...1.1.1) (2020-10-07)
### Bug Fixes
* remove set-env due to CVE fix ([6c69465](http://github.com/rlespinasse/github-slug-action/commit/6c69465e62a6430b5742c5bc0fce732f55630ee7))
# [1.1.0](http://github.com/rlespinasse/github-slug-action/compare/1.0.2...1.1.0) (2019-11-11)

View File

@@ -18,4 +18,4 @@ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
SOFTWARE.

View File

@@ -1,33 +1,24 @@
# GitHub Slug action
[![Actions Status](https://github.com/rlespinasse/github-slug-action/workflows/Build/badge.svg)](https://github.com/rlespinasse/github-slug-action/actions)
This action slug and expose some github variables.
`Slug` a variable will
- put the variable content in lower case,
- replace any caracter by `-` except `0-9` and `a-z`,
- remove leading and trailing `-` caracter,
- limit the string size to 63 caracters.
- replace any character by `-` except `0-9` and `a-z`,
- remove leading and trailing `-` character,
- limit the string size to 63 characters.
Others `Slug`-ish commands are available:
- `Short SHA` a variable will limit the string size to 8 caracters.
## Environment Variables
- `Short SHA` a variable will limit the string size to 8 characters.
| GitHub environment variable | Slug variable |
| - | - |
| GITHUB_REF | GITHUB_REF_SLUG |
| GITHUB_HEAD_REF | GITHUB_HEAD_REF_SLUG |
| GITHUB_BASE_REF | GITHUB_BASE_REF_SLUG |
| GitHub environment variable | Short variable |
| - | - |
| GITHUB_SHA | GITHUB_SHA_SHORT |
## Example usage
## Exposed environment variables
```yaml
- uses: rlespinasse/github-slug-action@master
- uses: rlespinasse/github-slug-action@v1.1.x
- name: Print slug variables
run: |
echo ${{ env.GITHUB_REF_SLUG }}
@@ -35,3 +26,35 @@ Others `Slug`-ish commands are available:
echo ${{ env.GITHUB_BASE_REF_SLUG }}
echo ${{ env.GITHUB_SHA_SHORT }}
```
Read [default environment variables](https://help.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables#default-environment-variables) page for more information.
### GITHUB_REF_SLUG
Slug the environment variable **GITHUB_REF**
The branch or tag ref that triggered the workflow.
_If neither a branch or tag is available for the event type, the variable will not exist._
| Environment variable (GITHUB_REF) | Slug variable (GITHUB_REF_SLUG) |
|-----------------------------------|---------------------------------|
| refs/heads/master | master |
| refs/heads/feat/new_feature | feat-new-feature |
| refs/tags/v1.0.0 | v1-0-0 |
| refs/tags/product@1.0.0-rc.2 | product-1-0-0-rc-2 |
| refs/heads/New_Awesome_Product | new-awesome-product |
_Additional variables (only set for forked repositories) :_
- `GITHUB_HEAD_REF_SLUG` : The branch of the head repository **GITHUB_HEAD_REF**,
- `GITHUB_BASE_REF_SLUG` : The branch of the base repository **GITHUB_BASE_REF**.
### GITHUB_SHA_SHORT
Short the environment variable **GITHUB_SHA**
The commit SHA that triggered the workflow
| Environment variable (GITHUB_SHA) | Short variable (GITHUB_SHA_SHORT) |
|------------------------------------------|-----------------------------------|
| ffac537e6cbbf934b08745a378932722df287a53 | ffac537e |

20
SECURITY.md Normal file
View File

@@ -0,0 +1,20 @@
# Security Policy
## Supported Versions
| Version | Supported |
|---------|--------------------|
| 1.1.x | :white_check_mark: |
| < 1.0.x | :x: |
## Reporting a Vulnerability
You can report a Vulnerability by [my email](mailto:romain.lespinasse@gmail.com).
_Vulnerability stages :_
- Reported,
- Confirmed (or declined),
- Fixed on maintained version series.
After a vulnerability fix, an GitHub issue will be created as document this vulnerability.

View File

@@ -1,9 +1,9 @@
# action.yml
name: 'GitHub Slug'
description: 'Action to slug and expose some github variables'
name: "GitHub Slug"
description: "Action to slug and expose some github variables"
runs:
using: 'docker'
image: 'Dockerfile'
using: "docker"
image: "Dockerfile"
branding:
icon: 'crop'
color: 'orange'
icon: "crop"
color: "orange"

View File

@@ -1,18 +1,22 @@
#!/bin/sh -l
slug_ref() {
echo "$1" \
| tr "[:upper:]" "[:lower:]" \
| sed -r 's#refs/[^\/]*/##;s/[~\^]+//g;s/[^a-zA-Z0-9]+/-/g;s/^-+\|-+$//g;s/^-*//;s/-*$//' \
| cut -c1-63
echo "$1" |
tr "[:upper:]" "[:lower:]" |
sed -r 's#refs/[^\/]*/##;s/[~\^]+//g;s/[^a-zA-Z0-9]+/-/g;s/^-+\|-+$//g;s/^-*//;s/-*$//' |
cut -c1-63
}
short_sha(){
echo "$1" \
| cut -c1-8
short_sha() {
echo "$1" |
cut -c1-8
}
echo ::set-env name=GITHUB_REF_SLUG::"$(slug_ref "$GITHUB_REF")"
echo ::set-env name=GITHUB_HEAD_REF_SLUG::"$(slug_ref "$GITHUB_HEAD_REF")"
echo ::set-env name=GITHUB_BASE_REF_SLUG::"$(slug_ref "$GITHUB_BASE_REF")"
echo ::set-env name=GITHUB_SHA_SHORT::"$(short_sha "$GITHUB_SHA")"
{
echo "GITHUB_REF_SLUG=$(slug_ref "$GITHUB_REF")"
echo "GITHUB_HEAD_REF_SLUG=$(slug_ref "$GITHUB_HEAD_REF")"
echo "GITHUB_BASE_REF_SLUG=$(slug_ref "$GITHUB_BASE_REF")"
echo "GITHUB_SHA_SHORT=$(short_sha "$GITHUB_SHA")"
} >>"$GITHUB_ENV"
echo "::warning ::This version is deprecated, please use 'rlespinasse/github-slug-action@v3.x' instead"

1768
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,9 +1,9 @@
{
"name": "github-slug-action",
"version": "1.0.1",
"version": "0.0.0",
"license": "MIT",
"scripts": {
"test": "docker run -w /workdir -v $(pwd):/workdir dduportal/bats:latest ./tests",
"test": "docker run -w /workdir -v $(pwd):/workdir bats/bats:latest ./tests",
"release": "semantic-release"
},
"repository": {
@@ -11,9 +11,9 @@
"url": "http://github.com/rlespinasse/github-slug-action.git"
},
"devDependencies": {
"@semantic-release/changelog": "^3.0.5",
"@semantic-release/git": "^7.0.18",
"semantic-release": "^15.13.30"
"@semantic-release/changelog": "5.0.1",
"@semantic-release/git": "9.0.0",
"semantic-release": "17.0.7"
},
"release": {
"tagFormat": "${version}",
@@ -23,6 +23,10 @@
"@semantic-release/changelog",
"@semantic-release/git",
"@semantic-release/github"
],
"branches": [
"v1.1.x",
"v2.x"
]
}
}

View File

@@ -16,4 +16,4 @@ test_short_sha(){
actual="$(short_sha ${given})"
echo "expected : [${expected}], actual : [${actual}]"
[ "${actual}" == "${expected}" ]
}
}

View File

@@ -52,4 +52,4 @@ test_sluf_ref() {
actual="$(slug_ref \"${given}\")"
echo "expected : [${expected}], actual : [${actual}]"
[ "${actual}" == "${expected}" ]
}
}