Compare commits
9 Commits
a2feef4c08
...
v7.1.5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fe849df6db | ||
| e633457ed3 | |||
|
|
e4cff69469 | ||
| c24cf70d77 | |||
|
|
e817dfe30c | ||
| e05fa1cab6 | |||
|
|
7338210bcf | ||
| 6408e0c923 | |||
|
|
4131b1dd1c |
@@ -6,7 +6,7 @@ on:
|
|||||||
- main
|
- main
|
||||||
workflow_dispatch:
|
workflow_dispatch:
|
||||||
schedule:
|
schedule:
|
||||||
- cron: '28 5 * * *'
|
- cron: "28 5 * * *"
|
||||||
# workflow_run support in Gitea can be tricky, keeping it but might need adjustment
|
# workflow_run support in Gitea can be tricky, keeping it but might need adjustment
|
||||||
workflow_run:
|
workflow_run:
|
||||||
workflows: ["Sync Repo"]
|
workflows: ["Sync Repo"]
|
||||||
@@ -19,7 +19,7 @@ jobs:
|
|||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
image: catthehacker/ubuntu:act-latest
|
image: catthehacker/ubuntu:act-latest
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
packages: write
|
packages: write
|
||||||
@@ -139,7 +139,7 @@ jobs:
|
|||||||
LATEST_RELEASE_TAG=$(curl -sL -H "Accept: application/json" \
|
LATEST_RELEASE_TAG=$(curl -sL -H "Accept: application/json" \
|
||||||
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
||||||
"${{ gitea.api_url }}/repos/${{ gitea.repository }}/releases/latest" | jq -r .tag_name)
|
"${{ gitea.api_url }}/repos/${{ gitea.repository }}/releases/latest" | jq -r .tag_name)
|
||||||
|
|
||||||
if [ -z "$LATEST_RELEASE_TAG" ] || [ "$LATEST_RELEASE_TAG" = "null" ]; then
|
if [ -z "$LATEST_RELEASE_TAG" ] || [ "$LATEST_RELEASE_TAG" = "null" ]; then
|
||||||
LATEST_RELEASE_TAG="v1.0.0"
|
LATEST_RELEASE_TAG="v1.0.0"
|
||||||
fi
|
fi
|
||||||
@@ -245,7 +245,7 @@ jobs:
|
|||||||
AUTHOR="Ivan Carlos"
|
AUTHOR="Ivan Carlos"
|
||||||
VERSION_FILE="manifest.json"
|
VERSION_FILE="manifest.json"
|
||||||
UPSTREAM_SHA="${{ steps.check_upstream.outputs.upstream_sha }}"
|
UPSTREAM_SHA="${{ steps.check_upstream.outputs.upstream_sha }}"
|
||||||
|
|
||||||
if [ -f "$VERSION_FILE" ]; then
|
if [ -f "$VERSION_FILE" ]; then
|
||||||
jq --arg v "$VERSION" \
|
jq --arg v "$VERSION" \
|
||||||
--arg a "$AUTHOR" \
|
--arg a "$AUTHOR" \
|
||||||
@@ -265,6 +265,11 @@ jobs:
|
|||||||
git commit -m "Update manifest version to ${{ steps.version.outputs.VERSION }} [▶️]" || echo "Nothing to commit"
|
git commit -m "Update manifest version to ${{ steps.version.outputs.VERSION }} [▶️]" || echo "Nothing to commit"
|
||||||
git push origin main
|
git push origin main
|
||||||
|
|
||||||
|
- name: 🛠 Install zip
|
||||||
|
if: steps.check_commits.outputs.commit_count != '0'
|
||||||
|
run: |
|
||||||
|
apt-get update && apt-get install -y zip
|
||||||
|
|
||||||
- name: 📦 Create ZIP package (excluding certain files)
|
- name: 📦 Create ZIP package (excluding certain files)
|
||||||
if: steps.check_commits.outputs.commit_count != '0'
|
if: steps.check_commits.outputs.commit_count != '0'
|
||||||
run: |
|
run: |
|
||||||
@@ -279,11 +284,11 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
TAG_NAME="v${{ steps.version.outputs.VERSION }}"
|
TAG_NAME="v${{ steps.version.outputs.VERSION }}"
|
||||||
RELEASE_NAME="${{ steps.version.outputs.REPO_NAME }} v${{ steps.version.outputs.VERSION }}"
|
RELEASE_NAME="${{ steps.version.outputs.REPO_NAME }} v${{ steps.version.outputs.VERSION }}"
|
||||||
|
|
||||||
# Construct Markdown body safely using env var
|
# Construct Markdown body safely using env var
|
||||||
# We use printf to avoid interpreting backslashes in the file list
|
# We use printf to avoid interpreting backslashes in the file list
|
||||||
BODY=$(printf "### Changelog\nFiles changed in this release:\n%s" "$CHANGELOG_LIST")
|
BODY=$(printf "### Changelog\nFiles changed in this release:\n%s" "$CHANGELOG_LIST")
|
||||||
|
|
||||||
# Create JSON payload using jq
|
# Create JSON payload using jq
|
||||||
jq -n \
|
jq -n \
|
||||||
--arg tag_name "$TAG_NAME" \
|
--arg tag_name "$TAG_NAME" \
|
||||||
@@ -299,13 +304,13 @@ jobs:
|
|||||||
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d @release_payload.json > api_response.json
|
-d @release_payload.json > api_response.json
|
||||||
|
|
||||||
echo "DEBUG: API Response:"
|
echo "DEBUG: API Response:"
|
||||||
cat api_response.json || true
|
cat api_response.json || true
|
||||||
|
|
||||||
RELEASE_ID=$(jq -r .id api_response.json)
|
RELEASE_ID=$(jq -r .id api_response.json)
|
||||||
echo "RELEASE_ID=$RELEASE_ID" >> "$GITHUB_OUTPUT"
|
echo "RELEASE_ID=$RELEASE_ID" >> "$GITHUB_OUTPUT"
|
||||||
|
|
||||||
if [ "$RELEASE_ID" == "null" ] || [ -z "$RELEASE_ID" ]; then
|
if [ "$RELEASE_ID" == "null" ] || [ -z "$RELEASE_ID" ]; then
|
||||||
echo "Failed to create release. Response content:"
|
echo "Failed to create release. Response content:"
|
||||||
cat api_response.json
|
cat api_response.json
|
||||||
@@ -318,19 +323,18 @@ jobs:
|
|||||||
RELEASE_ID="${{ steps.create_release.outputs.RELEASE_ID }}"
|
RELEASE_ID="${{ steps.create_release.outputs.RELEASE_ID }}"
|
||||||
ZIP_NAME="${{ steps.version.outputs.ZIP_NAME }}"
|
ZIP_NAME="${{ steps.version.outputs.ZIP_NAME }}"
|
||||||
FILE_PATH="./$ZIP_NAME"
|
FILE_PATH="./$ZIP_NAME"
|
||||||
|
|
||||||
curl -s -X POST "${{ gitea.api_url }}/repos/${{ gitea.repository }}/releases/$RELEASE_ID/assets" \
|
curl --fail -s -X POST "${{ gitea.api_url }}/repos/${{ gitea.repository }}/releases/$RELEASE_ID/assets?name=$ZIP_NAME" \
|
||||||
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
-H "Authorization: token ${{ secrets.GITHUB_TOKEN }}" \
|
||||||
-H "Content-Type: application/zip" \
|
-H "Content-Type: application/zip" \
|
||||||
--data-binary @"$FILE_PATH" \
|
--data-binary @"$FILE_PATH"
|
||||||
-o /dev/null
|
|
||||||
|
|
||||||
# ----- Docker steps -----
|
# ----- Docker steps -----
|
||||||
- name: Clone Upstream Code (if needed)
|
- name: Clone Upstream Code (if needed)
|
||||||
if: steps.check_commits.outputs.commit_count != '0' && (steps.check_upstream.outputs.upstream_needs_update == 'true' || steps.check_upstream.outputs.repo_url != '')
|
if: steps.check_commits.outputs.commit_count != '0' && (steps.check_upstream.outputs.upstream_needs_update == 'true' || steps.check_upstream.outputs.repo_url != '')
|
||||||
run: |
|
run: |
|
||||||
rm -rf upstream_src
|
rm -rf upstream_src
|
||||||
git clone --depth 1 --branch ${{ steps.check_upstream.outputs.repo_branch }} ${{ steps.check_upstream.outputs.repo_url }} upstream_src
|
git clone --depth 1 --branch ${{ steps.check_upstream.outputs.repo_branch }} ${{ steps.check_upstream.outputs.repo_url }} upstream_src
|
||||||
|
|
||||||
- name: 🔍 Check if Dockerfile exists
|
- name: 🔍 Check if Dockerfile exists
|
||||||
if: steps.check_commits.outputs.commit_count != '0' || steps.check_upstream.outputs.upstream_needs_update == 'true'
|
if: steps.check_commits.outputs.commit_count != '0' || steps.check_upstream.outputs.upstream_needs_update == 'true'
|
||||||
|
|||||||
78
.gitea/workflows/update_readme.yml
Normal file
78
.gitea/workflows/update_readme.yml
Normal file
@@ -0,0 +1,78 @@
|
|||||||
|
name: Update README
|
||||||
|
|
||||||
|
# Allow GitHub Actions to commit and push changes
|
||||||
|
permissions:
|
||||||
|
contents: write
|
||||||
|
|
||||||
|
on:
|
||||||
|
workflow_dispatch:
|
||||||
|
schedule:
|
||||||
|
- cron: '0 4 * * *' # Every day at 4 AM UTC
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
update-readme:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
|
env:
|
||||||
|
SOURCE_REPO: ivancarlosti/.github
|
||||||
|
SOURCE_BRANCH: main
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Checkout current repository
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Checkout source README template
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
with:
|
||||||
|
repository: ${{ env.SOURCE_REPO }}
|
||||||
|
ref: ${{ env.SOURCE_BRANCH }}
|
||||||
|
path: source_readme
|
||||||
|
|
||||||
|
- name: Update README.md (buttons and footer)
|
||||||
|
run: |
|
||||||
|
set -e
|
||||||
|
REPO_NAME="${GITHUB_REPOSITORY##*/}"
|
||||||
|
|
||||||
|
# --- Extract buttons block from source ---
|
||||||
|
BUTTONS=$(awk '/<!-- buttons -->/{flag=1;next}/<!-- endbuttons -->/{flag=0}flag' source_readme/README.md)
|
||||||
|
BUTTONS_UPDATED=$(echo "$BUTTONS" | sed "s/\.github/${REPO_NAME}/g")
|
||||||
|
|
||||||
|
# --- Extract footer block from source (everything from <!-- footer --> onward) ---
|
||||||
|
FOOTER=$(awk '/<!-- footer -->/{flag=1}flag' source_readme/README.md)
|
||||||
|
|
||||||
|
# --- Replace buttons section in README.md ---
|
||||||
|
UPDATED=$(awk -v buttons="$BUTTONS_UPDATED" '
|
||||||
|
BEGIN { skip=0 }
|
||||||
|
/<!-- buttons -->/ {
|
||||||
|
print
|
||||||
|
print buttons
|
||||||
|
skip=1
|
||||||
|
next
|
||||||
|
}
|
||||||
|
/<!-- endbuttons -->/ && skip {
|
||||||
|
print
|
||||||
|
skip=0
|
||||||
|
next
|
||||||
|
}
|
||||||
|
!skip { print }
|
||||||
|
' README.md)
|
||||||
|
|
||||||
|
# --- Replace everything after <!-- footer --> with FOOTER ---
|
||||||
|
echo "$UPDATED" | awk -v footer="$FOOTER" '
|
||||||
|
/<!-- footer -->/ {
|
||||||
|
print footer
|
||||||
|
found=1
|
||||||
|
exit
|
||||||
|
}
|
||||||
|
{ print }
|
||||||
|
' > README.tmp && mv README.tmp README.md
|
||||||
|
|
||||||
|
- name: Remove source_readme from git index
|
||||||
|
run: git rm --cached -r source_readme || true
|
||||||
|
|
||||||
|
- name: Commit and push changes
|
||||||
|
uses: stefanzweifel/git-auto-commit-action@v5
|
||||||
|
with:
|
||||||
|
file_pattern: README.md
|
||||||
|
commit_message: "Sync README from template [▶️]"
|
||||||
|
branch: ${{ github.ref_name }}
|
||||||
13
README.md
13
README.md
@@ -1,19 +1,6 @@
|
|||||||
# Bundled CMDB
|
# Bundled CMDB
|
||||||
Small CMDB project that uses ESET data sent to database for asset management, uses Keycloak as SSO provider for user authentication, S3 for file submission and access related to each asset
|
Small CMDB project that uses ESET data sent to database for asset management, uses Keycloak as SSO provider for user authentication, S3 for file submission and access related to each asset
|
||||||
|
|
||||||
<!-- buttons -->
|
|
||||||
[](https://github.com/ivancarlosti/bundledcmdb/stargazers)
|
|
||||||
[](https://github.com/sponsors/ivancarlosti)
|
|
||||||
[](https://github.com/sponsors/ivancarlosti)
|
|
||||||
[](https://github.com/ivancarlosti/bundledcmdb/pulse)
|
|
||||||
[](https://github.com/ivancarlosti/bundledcmdb/issues)
|
|
||||||
[](LICENSE)
|
|
||||||
[](https://github.com/ivancarlosti/bundledcmdb/commits)
|
|
||||||
[](https://github.com/ivancarlosti/bundledcmdb/security)
|
|
||||||
[](https://github.com/ivancarlosti/bundledcmdb?tab=coc-ov-file)
|
|
||||||
[][sponsor]
|
|
||||||
<!-- endbuttons -->
|
|
||||||
|
|
||||||
## Requirement:
|
## Requirement:
|
||||||
|
|
||||||
* [Docker Compose](https://docs.docker.com/engine/install/)
|
* [Docker Compose](https://docs.docker.com/engine/install/)
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
{
|
{
|
||||||
"version": "7.1.0",
|
"version": "7.1.5",
|
||||||
"author": "Ivan Carlos"
|
"author": "Ivan Carlos"
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user