Skip to content
This repository was archived by the owner on Jan 14, 2026. It is now read-only.
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
47 changes: 47 additions & 0 deletions .github/workflows/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
name: 'Semantic Release - Composite'
description: 'Release Versioning Action with Semantic Release (Docker)'
inputs:
dry_run:
description: 'Run in dry run mode'
required: false
default: 'false'
outputs:
release_version:
description: "Extracted release version from the semantic release step (if published)"
value: ${{ steps.release-version.outputs.RELEASE_VERSION }}

runs:
using: 'composite'

steps:
- name: Resolve .releaserc.mjs config
shell: bash
run: |
if [ ! -f ./.releaserc.mjs ]; then
echo "No .releaserc.mjs found in repository root. Please add one and re-run the workflow."
exit 1
fi
ls -la
cat .releaserc.mjs

- name: Run Semantic Release
id: semantic_release
uses: cycjimmy/semantic-release-action@v4
with:
extra_plugins: |
@semantic-release/exec
@semantic-release/changelog
@semantic-release/github
@semantic-release/git
conventional-changelog-conventionalcommits@8.0.0
semantic_version: 24.2.5
dry_run: ${{ inputs.dry_run }}
env:
GITHUB_TOKEN: ${{ env.GITHUB_TOKEN }}

- name: Extract Version (if published)
id: release-version
shell: bash
run: |
echo "RELEASE_VERSION=${{ steps.semantic_release.outputs.new_release_version }}"
echo "RELEASE_VERSION=${{ steps.semantic_release.outputs.new_release_version }}" >> $GITHUB_OUTPUT
24 changes: 19 additions & 5 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ jobs:
release:
name: Semantic Release
runs-on: ubuntu-latest
permissions:
contents: write
packages: write
steps:
- name: Checkout
uses: actions/checkout@v4
Expand All @@ -20,14 +23,25 @@ jobs:
with:
node-version: 20

- name: Install dependencies
run: npm install -g semantic-release @semantic-release/changelog @semantic-release/git @semantic-release/github
- name: Install Node.js dependencies
run: |
# Prefer a clean install; if no lockfile exists, fall back to npm install
npm ci || npm install

- name: Run semantic-release
- name: Semantic Release
id: semantic_release
uses: cycjimmy/semantic-release-action@v4
with:
extra_plugins: |
@semantic-release/exec
@semantic-release/changelog
@semantic-release/github
@semantic-release/git
conventional-changelog-conventionalcommits@8.0.0
semantic_version: 24.2.5
dry_run: 'false'
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
npx semantic-release

# Observações:
# - semantic-release começará a partir da tag v1.0.7 já existente na main.
Expand Down
1 change: 1 addition & 0 deletions .releaserc.json
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
{
"branches": ["main"],
"repositoryUrl": "https://github.com/HuntDownProject/HEDnsExtractor",
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
Expand Down
65 changes: 65 additions & 0 deletions .releaserc.mjs
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
export default {
branches: [
"main",
{ name: "develop", prerelease: "rc", channel: "beta" }
],
plugins: [
[
"@semantic-release/commit-analyzer",
{
preset: "angular",
releaseRules: [
{ type: "docs", scope: "README", release: "patch" },
{ type: "refactor", release: "patch" },
{ type: "chore", release: "patch" },
{ scope: "no-release", release: false }
]
}
],
[
"@semantic-release/release-notes-generator",
{
preset: "conventionalCommits",
presetConfig: {
types: [
{ type: "feat", section: "Features" },
{ type: "fix", section: "Bug Fixes" },
{ type: "perf", section: "Performance Improvements" },
{ type: "revert", section: "Reverts" },
{ type: "docs", section: "Documentation", hidden: false },
{ type: "style", section: "Styles", hidden: false },
{ type: "chore", section: "Miscellaneous Chores", hidden: false },
{ type: "refactor", section: "Code Refactors", hidden: false },
{ type: "test", section: "Tests", hidden: false },
{ type: "build", section: "Build System", hidden: false },
{ type: "ci", section: "CI/CD", hidden: false },
{ type: "improvement", section: "Improvements", hidden: false }
]
}
}
],
[
"@semantic-release/exec",
{
// update banner.go with the released version and generate a VERSION file
// runs the repo script and then writes VERSION for downstream pipelines
prepareCmd: "bash ./update_version.sh ${nextRelease.version} && echo \"release_version=${nextRelease.version}\" > VERSION"
}
],
[
"@semantic-release/github",
{
assets: []
}
],
[
"@semantic-release/git",
{
assets: ["VERSION","package.json","utils/banner.go","CHANGELOG.md"],
message:
"chore(release): ${nextRelease.version} [skip ci]\n\n${nextRelease.notes}"
}
]
]
};

Loading
Loading