Files
html5-boilerplate/.github/workflows/publish.yaml
naveensrinivasan 1b6f24e927 Set permissions for GitHub actions
Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.

- Included permissions for the action. https://github.com/ossf/scorecard/blob/main/docs/checks.md#token-permissions

https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#permissions

https://docs.github.com/en/actions/using-jobs/assigning-permissions-to-jobs

[Keeping your GitHub Actions and workflows secure Part 1: Preventing pwn requests](https://securitylab.github.com/research/github-actions-preventing-pwn-requests/)

Signed-off-by: naveensrinivasan <172697+naveensrinivasan@users.noreply.github.com>
2022-04-10 00:09:46 +00:00

55 lines
1.6 KiB
YAML

name: publish
on:
push:
tags:
- 'v*'
permissions:
contents: read
jobs:
build:
permissions:
contents: write # for actions/create-release to create a release
name: Upload Release Asset
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Get tag
id: get_version
run: echo ::set-output name=VERSION::$(echo $GITHUB_REF | cut -d / -f 3)
- name: Create Zip Folder
working-directory: dist
run: zip -r ../html5-boilerplate_${{ steps.get_version.outputs.VERSION }}.zip ./
- name: Create Release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: false
prerelease: false
- name: Upload Release Asset
id: upload-release-asset
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }}
asset_path: ./html5-boilerplate_${{ steps.get_version.outputs.VERSION }}.zip
asset_name: html5-boilerplate_${{ steps.get_version.outputs.VERSION }}.zip
asset_content_type: application/zip
- name: Setup Node
uses: actions/setup-node@v3
with:
node-version: 12
registry-url: https://registry.npmjs.org/
- name: publish npm
run: npm publish
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}