65 lines
2.1 KiB
YAML
65 lines
2.1 KiB
YAML
name: 1Panel App Store
|
|
|
|
on:
|
|
release:
|
|
types: [published, released]
|
|
|
|
jobs:
|
|
submit:
|
|
runs-on: ubuntu-latest
|
|
if: ${{ !github.event.release.draft && !github.event.release.prerelease }}
|
|
env:
|
|
REPO_OWNER: t8y2
|
|
steps:
|
|
- uses: actions/checkout@v4
|
|
|
|
- name: Extract version from tag
|
|
id: version
|
|
run: |
|
|
VERSION="${{ github.event.release.tag_name }}"
|
|
VERSION="${VERSION#v}"
|
|
echo "version=${VERSION}" >> "$GITHUB_OUTPUT"
|
|
|
|
- name: Submit to 1Panel App Store
|
|
env:
|
|
TAP_GITHUB_TOKEN: ${{ secrets.TAP_GITHUB_TOKEN }}
|
|
GH_TOKEN: ${{ secrets.TAP_GITHUB_TOKEN }}
|
|
run: |
|
|
VERSION="${{ steps.version.outputs.version }}"
|
|
|
|
git clone --depth 1 \
|
|
"https://x-access-token:${TAP_GITHUB_TOKEN}@github.com/${REPO_OWNER}/appstore.git" \
|
|
appstore
|
|
cd appstore
|
|
|
|
APP_DIR="apps/dbx"
|
|
mkdir -p "${APP_DIR}/${VERSION}"
|
|
|
|
cp "${{ github.workspace }}/1panel/data.yml" "${APP_DIR}/data.yml"
|
|
cp "${{ github.workspace }}/1panel/README.md" "${APP_DIR}/README.md"
|
|
if [ -f "${{ github.workspace }}/1panel/logo.png" ]; then
|
|
cp "${{ github.workspace }}/1panel/logo.png" "${APP_DIR}/logo.png"
|
|
fi
|
|
cp -r "${{ github.workspace }}/1panel/latest/." "${APP_DIR}/${VERSION}/"
|
|
|
|
git config user.name "github-actions[bot]"
|
|
git config user.email "github-actions[bot]@users.noreply.github.com"
|
|
|
|
BRANCH="app/dbx-${VERSION}"
|
|
git checkout -b "${BRANCH}"
|
|
git add "${APP_DIR}"
|
|
|
|
if git diff --cached --quiet; then
|
|
echo "1Panel app store is already up to date."
|
|
else
|
|
git commit -m "feat(dbx): release ${VERSION}"
|
|
git push origin "${BRANCH}"
|
|
gh pr create \
|
|
--repo "1Panel-dev/appstore" \
|
|
--head "${REPO_OWNER}:${BRANCH}" \
|
|
--title "feat(dbx): release ${VERSION}" \
|
|
--body "Automated release of DBX v${VERSION}" \
|
|
--base master
|
|
echo "::notice::1Panel App Store PR created for ${VERSION}"
|
|
fi
|