Skip to content

Merge pull request #3 from frontkom/beta #13

Merge pull request #3 from frontkom/beta

Merge pull request #3 from frontkom/beta #13

---
name: Semantic Release
on:
push:
branches:
- release
- beta
paths:
- 'package/**'
permissions:
id-token: write # required to use OIDC authentication
contents: write # required to checkout the code from the repo and to perform release
packages: write # required to publish to packages
pull-requests: write
jobs:
check:
name: GitHub Prerequisites Check
runs-on: ubuntu-latest
outputs:
has_npm_secrets: ${{ steps.check-npm-key-secret.outputs.declared }}
steps:
- name: Check for NPM Secret availability
id: check-npm-key-secret
shell: bash
run: |
if [[ ! -z "${{ secrets.NPM_TOKEN }}" ]]; then
echo "All secrets are declared."
echo "declared=true" >> $GITHUB_OUTPUT;
else
echo "NPM_TOKEN secret is missing."
exit 1
fi
check_version_number:
name: Check version
needs: [check]
runs-on: ubuntu-latest
if: |
needs.check.outputs.has_npm_secrets
&& github.actor != 'nektos/act'
permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
outputs:
new_release_published: ${{ steps.semantic_dry.outputs.new_release_published }}
new_release_version: ${{ steps.semantic_dry.outputs.new_release_version }}
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@v3
- name: Get semantic release version
uses: cycjimmy/semantic-release-action@v3
id: semantic_dry
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
dry_run: true
branches: |
[
"+([0-9])?(.{+([0-9]),x}).x",
"release",
{
"name": "beta",
"prerelease": true
}
]
extends: |
[email protected]
extra_plugins: |
@semantic-release/[email protected]
@semantic-release/[email protected]
@semantic-release/[email protected]
@semantic-release/[email protected]
tag_version:
name: Add semantic release
needs: [check, check_version_number]
if: |
needs.check.outputs.has_npm_secrets
&& needs.check_version_number.outputs.new_release_published
&& github.actor != 'nektos/act'
permissions:
contents: write # to be able to publish a GitHub release
issues: write # to be able to comment on released issues
pull-requests: write # to be able to comment on released pull requests
runs-on: ubuntu-latest
env:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
steps:
- name: Checkout
uses: actions/checkout@v3
with:
persist-credentials: false # make sure the release step uses its own credentials
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v3
id: semantic
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
semantic_version: 19
branches: |
[
"+([0-9])?(.{+([0-9]),x}).x",
"release",
{
"name": "beta",
"prerelease": true
}
]
extends: |
[email protected]
extra_plugins: |
@semantic-release/[email protected]
@semantic-release/[email protected]
@semantic-release/[email protected]
@semantic-release/[email protected]
- name: Changelog version
if: steps.semantic.outputs.new_release_published == 'true'
run: |
echo ${{ steps.semantic.outputs.new_release_version }}
outputs:
new_release: ${{ steps.semantic.outputs.new_release_published }}
new_version: ${{ steps.semantic.outputs.new_release_version }}