Skip to content
Draft
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
30 changes: 30 additions & 0 deletions .github/workflows/renovate.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
name: Renovate Dependency Updates

on:
schedule:
# Run daily at 2 AM UTC
- cron: '0 2 * * *'
workflow_dispatch:

permissions:
contents: write
pull-requests: write

jobs:
renovate:
runs-on: ubuntu-latest
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
token: ${{ secrets.GITHUB_TOKEN }}

- name: Run Renovate
uses: renovatebot/github-action@v46.1.5
with:
configurationFile: renovate.json
env:
RENOVATE_PLATFORM: github
RENOVATE_PLATFORM_COMMIT: true
RENOVATE_GIT_AUTHOR: 'renovate[bot] <renovate[bot]@users.noreply.github.com>'
20 changes: 20 additions & 0 deletions .github/workflows/semantic-release.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
name: Release

on:
push:
branches: [main]

jobs:
release:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
with:
fetch-depth: 0
- run: npm ci
- name: Semantic Release
uses: cycjimmy/semantic-release-action@v3
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
semantic_version: latest
46 changes: 46 additions & 0 deletions .releaserc.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
{
"branches": ["main"],
"tagFormat": "v${version}",
"plugins": [
"@semantic-release/commit-analyzer",
"@semantic-release/release-notes-generator",
"@semantic-release/changelog",
[
"@semantic-release/file",
{
"files": ["VERSION"],
"replace": "${nextRelease.version}"
}
],
[
"@semantic-release/git",
{
"assets": ["VERSION", "CHANGELOG.md"],
"message": "chore(release): ${nextRelease.version} [skip ci]"
}
],
"@semantic-release/github"
],
"preset": "angular",
"presetConfig": {
"types": [
{"type": "feat", "section": "Features"},
{"type": "fix", "section": "Bug Fixes"},
{"type": "chore", "section": "Chores"},
{"type": "docs", "section": "Documentation"},
{"type": "style", "hidden": true},
{"type": "refactor", "hidden": true},
{"type": "perf", "hidden": true},
{"type": "test", "hidden": true}
]
},
"releaseRules": [
{ "type": "fix", "release": "patch" },
{ "type": "chore", "release": "patch" },
{ "type": "docs", "release": "patch" },
{ "type": "refactor", "release": "patch"},
{ "type": "feat", "release": "minor" },
{ "type": "break", "release": "major" },
{ "scope": "deps", "release": "patch" }
]
}
4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
FROM nginx:alpine
RUN apk update && apk add --no-cache arp-scan
FROM nginx:1.29.6-alpine
RUN apk update && apk add --no-cache arp-scan=1.10.0-r2
COPY scan.sh entry.sh /
RUN chmod +x /*.sh
COPY nginx.conf /etc/nginx/nginx.conf
Expand Down
1 change: 1 addition & 0 deletions VERSION
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
0.1.0
7 changes: 7 additions & 0 deletions changelog.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Changelog

## [v0.1.0] (2026-03-20)

### Features
- Initial version with a changelog
- (try to) auto-update using renovate and create a new tag using semantic-release
9 changes: 9 additions & 0 deletions plugins.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{
"devDependencies": {
"semantic-release": "^24.2.3",
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/file": "^5.0.0",
"@semantic-release/git": "^10.0.0",
"@semantic-release/github": "^8.0.0"
}
}
44 changes: 44 additions & 0 deletions renovate.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{
"extends": ["config:base"],
"enabledManagers": ["dockerfile"],
"docker": {
"fileMatch": ["^Dockerfile$"],
"pinDigests": true,
"enabled": true
},
"regexManagers": [
{
"fileMatch": ["^Dockerfile$"],
"matchStrings": [
"apk add --no-cache (?<depName>arp-scan)(?:=(?<currentValue>[^\\s]+))?"
],
"depNameTemplate": "$depName",
"datasourceTemplate": "apk",
"versioningTemplate": "semver"
}
],
"packageRules": [
{
"managers": ["dockerfile"],
"matchPackageNames": ["nginx"],
"groupName": "docker base image updates",
"enabled": true,
"schedule": ["at any time"],
"matchUpdateTypes": ["digest", "patch", "minor"],
"automerge": true
},
{
"managers": ["regex"],
"matchPackageNames": ["arp-scan"],
"groupName": "apk package updates",
"enabled": true,
"schedule": ["at any time"],
"matchUpdateTypes": ["digest", "patch", "minor"],
"automerge": true
}
],
"rangeStrategy": "pin",
"semanticCommits": "enabled",
"semanticCommitType": "chore",
"semanticCommitScope": "deps"
}