done
This commit is contained in:
parent
628260b442
commit
6aecaa7c2e
|
@ -1,53 +0,0 @@
|
||||||
name: "App Request"
|
|
||||||
description: "Request to add an app to the app store."
|
|
||||||
title: "[App Request] AppName"
|
|
||||||
labels: ["App Request"]
|
|
||||||
body:
|
|
||||||
- type: markdown
|
|
||||||
attributes:
|
|
||||||
value: |
|
|
||||||
### ❤ Thanks for taking the time to fill out this app request!
|
|
||||||
> Before proceeding, please make sure that this app is not in App Store and no one has [requested](https://github.com/IceWhaleTech/CasaOS/labels/App%20Request) the same app before.
|
|
||||||
> If you have already requested the app, please ask your friends to help add a 👍 to this issue. Then be patient and wait for the developers to work on it.
|
|
||||||
> If you have any questions, please ask them on [Discord](https://discord.gg/knqAbbBbeX) or [Github Discussions](https://github.com/IceWhaleTech/CasaOS/discussions).
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
id: app-info
|
|
||||||
attributes:
|
|
||||||
label: "App Information"
|
|
||||||
description: "The formal information of this app, as detailed as possible."
|
|
||||||
value: |
|
|
||||||
- Name: <!-- eg. Nextcloud -->
|
|
||||||
- Short Description: <!-- eg. Personal cloud and file sharing solution -->
|
|
||||||
- Official Website: <!-- If available. eg. https://nextcloud.com -->
|
|
||||||
- GitHub Repository: <!-- If available. eg. https://github.com/nextcloud/server -->
|
|
||||||
- Docker Image: <!-- If available. eg. nextcloud/server:latest, ghcr.io/nextcloud/server:latest -->
|
|
||||||
validations:
|
|
||||||
required: true
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
id: why
|
|
||||||
attributes:
|
|
||||||
label: "Why do you want this app?"
|
|
||||||
description: "Detailed notes can help developers and others understand the importance of this app."
|
|
||||||
placeholder: |
|
|
||||||
As a [what role], it helps me solve [what problem], and especially [what function] is great!
|
|
||||||
or
|
|
||||||
It solves [what problem] and especially [what feature] works well, which is hard to do with other app.
|
|
||||||
or
|
|
||||||
This is the app that [some device/service] must use and will not work without it.
|
|
||||||
or
|
|
||||||
others
|
|
||||||
|
|
||||||
- type: textarea
|
|
||||||
id: additional-info
|
|
||||||
attributes:
|
|
||||||
label: "Additional information?"
|
|
||||||
description: "Anything else you want to share with the developers and others?"
|
|
||||||
placeholder: |
|
|
||||||
Example:
|
|
||||||
- Noteworthy matters.
|
|
||||||
- Recommended Docker image.
|
|
||||||
- Validated Docker deployment instructions.
|
|
||||||
- Notable Docker setup details.
|
|
||||||
- Recommended config files, user data, accessible directory settings.
|
|
|
@ -1,28 +0,0 @@
|
||||||
---
|
|
||||||
name: Bug report
|
|
||||||
about: Create a report to help us improve
|
|
||||||
title: '[Bug] '
|
|
||||||
labels: 'bug'
|
|
||||||
assignees: ''
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
**Describe the bug**
|
|
||||||
A clear and concise description of what the bug is.
|
|
||||||
|
|
||||||
**To Reproduce**
|
|
||||||
Steps to reproduce the behavior:
|
|
||||||
|
|
||||||
1. Go to '...'
|
|
||||||
2. Click on '....'
|
|
||||||
3. Scroll down to '....'
|
|
||||||
4. See error
|
|
||||||
|
|
||||||
**Expected behavior**
|
|
||||||
A clear and concise description of what you expected to happen.
|
|
||||||
|
|
||||||
**Screenshots**
|
|
||||||
If applicable, add screenshots to help explain your problem.
|
|
||||||
|
|
||||||
**Additional context**
|
|
||||||
Add any other context about the problem here.
|
|
|
@ -1,28 +0,0 @@
|
||||||
name: PR Check YAML
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
types: [opened, synchronize]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
check_yaml:
|
|
||||||
runs-on: ubuntu-22.04
|
|
||||||
|
|
||||||
steps:
|
|
||||||
- name: Checkout
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
|
|
||||||
# - name: Install dos2unix
|
|
||||||
# run: apt-get install dos2unix
|
|
||||||
|
|
||||||
- name: Check name field in YAML files
|
|
||||||
id: check_name
|
|
||||||
run: |
|
|
||||||
|
|
||||||
find . -type f \( -name "docker-compose.yaml" -or -name "docker-compose.yml" \) | while read -r file; do
|
|
||||||
if ! grep -qP '^name:\s[a-z0-9_-]*\r?$' "$file"; then
|
|
||||||
echo "There is a problem with the value of name in the submitted yaml, please make sure the value is in the range [a-z0-9_-]. And error file name:$file"
|
|
||||||
echo $file
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
done
|
|
|
@ -1,41 +0,0 @@
|
||||||
name: build documentation and publish
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
permissions:
|
|
||||||
contents: write
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v2
|
|
||||||
- name: remove all file except icon.png
|
|
||||||
run: find . -type f -not \( -name '*.yml' \) -delete
|
|
||||||
- name: Pushes to another repository
|
|
||||||
uses: cpina/github-action-push-to-another-repository@main
|
|
||||||
env:
|
|
||||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB2 }}
|
|
||||||
with:
|
|
||||||
source-directory: './Apps'
|
|
||||||
destination-github-username: 'IceWhaleTech'
|
|
||||||
destination-repository-name: '_appstore'
|
|
||||||
user-email: q2676515970@163.com
|
|
||||||
target-directory: './Apps'
|
|
||||||
- name: Copycat
|
|
||||||
uses: andstor/copycat-action@v3
|
|
||||||
with:
|
|
||||||
personal_token: ${{ secrets.API_TOKEN_GITHUB2 }}
|
|
||||||
src_path: ./recommend-list.json
|
|
||||||
dst_owner: IceWhaleTech
|
|
||||||
dst_repo_name: _appstore
|
|
||||||
email: q2676515970@163.com
|
|
||||||
src_branch: main
|
|
||||||
dst_branch: main
|
|
||||||
- name: Error Handling
|
|
||||||
if: ${{ failure() }}
|
|
||||||
run: |
|
|
||||||
curl -X POST -H "Content-Type: application/json" -d '{"msg_type":"text","content":{"text":"CasaOS-AppStore build and publish error"}}' ${{ secrets.APPSTORE_ROBOT_URL }}
|
|
||||||
|
|
|
@ -1,58 +0,0 @@
|
||||||
name: release
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
tags:
|
|
||||||
- v*.*.*
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: remove all screenshots
|
|
||||||
run: find . -name "screenshot*" | xargs rm -f
|
|
||||||
- name: remove all thumbnails
|
|
||||||
run: find . -name "thumbnail*" | xargs rm -f
|
|
||||||
- name: remove all icon
|
|
||||||
run: find . -name "icon.png" | xargs rm -f
|
|
||||||
- name: remove all app file
|
|
||||||
run: find . -name "appfile.json" | xargs rm -f
|
|
||||||
|
|
||||||
- name: create a build with sysroot
|
|
||||||
id: build
|
|
||||||
run: |
|
|
||||||
rm -rf /tmp/build
|
|
||||||
mkdir -p /tmp/build/sysroot/var/lib/casaos/appstore/default.new
|
|
||||||
cp -rv build/* /tmp/build/
|
|
||||||
cp -rv Apps /tmp/build/sysroot/var/lib/casaos/appstore/default.new/
|
|
||||||
cp -v category-list.json /tmp/build/sysroot/var/lib/casaos/appstore/default.new/
|
|
||||||
cp -v recommend-list.json /tmp/build/sysroot/var/lib/casaos/appstore/default.new/
|
|
||||||
cp -v README.md /tmp/build/sysroot/var/lib/casaos/appstore/default.new/
|
|
||||||
pushd /tmp
|
|
||||||
tar zcvf linux-all-appstore-${{ github.ref_name }}.tar.gz build
|
|
||||||
|
|
||||||
- uses: softprops/action-gh-release@v1
|
|
||||||
if: steps.build.outcome == 'success'
|
|
||||||
with:
|
|
||||||
files: /tmp/linux-all-appstore-${{ github.ref_name }}.tar.gz
|
|
||||||
draft: true
|
|
||||||
prerelease: true
|
|
||||||
fail_on_unmatched_files: true
|
|
||||||
|
|
||||||
- name: Get version
|
|
||||||
id: get_version
|
|
||||||
run: echo ::set-output name=VERSION::${GITHUB_REF/refs\/tags\//}
|
|
||||||
|
|
||||||
- name: Upload to oss
|
|
||||||
id: upload_to_oss
|
|
||||||
uses: tvrcgo/upload-to-oss@master
|
|
||||||
with:
|
|
||||||
key-id: ${{ secrets.OSS_KEY_ID }}
|
|
||||||
key-secret: ${{ secrets.OSS_KEY_SECRET }}
|
|
||||||
region: oss-cn-shanghai
|
|
||||||
bucket: casaos
|
|
||||||
assets: |
|
|
||||||
/tmp/checksums.txt:/IceWhaleTech/CasaOS-AppStore/releases/download/${{ steps.get_version.outputs.VERSION }}/checksums.txt
|
|
||||||
/tmp/linux-all-appstore-${{ github.ref_name }}.tar.gz:/IceWhaleTech/CasaOS-AppStore/releases/download/${{ steps.get_version.outputs.VERSION }}/linux-all-appstore-${{ github.ref_name }}.tar.gz
|
|
||||||
|
|
|
@ -1,66 +0,0 @@
|
||||||
name: release zip to appstore page
|
|
||||||
|
|
||||||
on:
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- main
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v3
|
|
||||||
- name: remove all screenshots
|
|
||||||
run: find . -name "screenshot*" | xargs rm -f
|
|
||||||
- name: remove all thumbnails
|
|
||||||
run: find . -name "thumbnail*" | xargs rm -f
|
|
||||||
- name: remove all icon
|
|
||||||
run: find . -name "icon.png" | xargs rm -f
|
|
||||||
- name: remove all app file
|
|
||||||
run: find . -name "appfile.json" | xargs rm -f
|
|
||||||
|
|
||||||
- name: create a build with sysroot
|
|
||||||
id: build
|
|
||||||
run: |
|
|
||||||
rm -rf /tmp/build
|
|
||||||
mkdir -p /tmp/build/sysroot/var/lib/casaos/appstore/default.new
|
|
||||||
cp -rv build/* /tmp/build/
|
|
||||||
cp -rv Apps /tmp/build/sysroot/var/lib/casaos/appstore/default.new/
|
|
||||||
cp -v category-list.json /tmp/build/sysroot/var/lib/casaos/appstore/default.new/
|
|
||||||
cp -v recommend-list.json /tmp/build/sysroot/var/lib/casaos/appstore/default.new/
|
|
||||||
cp -v README.md /tmp/build/sysroot/var/lib/casaos/appstore/default.new/
|
|
||||||
pushd /tmp
|
|
||||||
zip -r main.zip build
|
|
||||||
|
|
||||||
- name: Checkout pages
|
|
||||||
uses: actions/checkout@v4
|
|
||||||
with:
|
|
||||||
ref: gh-pages
|
|
||||||
path: pages
|
|
||||||
|
|
||||||
- name: Copy build to pages
|
|
||||||
run: |
|
|
||||||
cp /tmp/main.zip pages/store/main.zip
|
|
||||||
|
|
||||||
- name: Pushes to another repository
|
|
||||||
uses: cpina/github-action-push-to-another-repository@main
|
|
||||||
env:
|
|
||||||
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB2 }}
|
|
||||||
with:
|
|
||||||
source-directory: 'pages'
|
|
||||||
destination-github-username: 'IceWhaleTech'
|
|
||||||
destination-repository-name: 'CasaOS-AppStore'
|
|
||||||
target-branch: 'gh-pages'
|
|
||||||
user-email: wiki@casaos.io
|
|
||||||
target-directory: ''
|
|
||||||
|
|
||||||
- name: Upload to oss
|
|
||||||
id: upload_to_oss
|
|
||||||
uses: tvrcgo/upload-to-oss@master
|
|
||||||
with:
|
|
||||||
key-id: ${{ secrets.OSS_KEY_ID }}
|
|
||||||
key-secret: ${{ secrets.OSS_KEY_SECRET }}
|
|
||||||
region: oss-cn-shanghai
|
|
||||||
bucket: casaos
|
|
||||||
assets: |
|
|
||||||
/tmp/main.zip:/store/main.zip
|
|
|
@ -1,34 +0,0 @@
|
||||||
name: validate docker compose file
|
|
||||||
|
|
||||||
on:
|
|
||||||
pull_request:
|
|
||||||
types: [opened, synchronize]
|
|
||||||
|
|
||||||
jobs:
|
|
||||||
build:
|
|
||||||
runs-on: ubuntu-latest
|
|
||||||
steps:
|
|
||||||
- uses: actions/checkout@v4
|
|
||||||
|
|
||||||
|
|
||||||
- uses: robinraju/release-downloader@v1.9
|
|
||||||
with:
|
|
||||||
repository: "IceWhaleTech/CasaOS-AppManagement"
|
|
||||||
latest: true
|
|
||||||
fileName: "linux-amd64-casaos-app-management-validator-*.tar.gz"
|
|
||||||
|
|
||||||
- name: Extract
|
|
||||||
run: |
|
|
||||||
tar zxf linux-amd64-casaos-app-management-validator-*.tar.gz
|
|
||||||
|
|
||||||
- name: Install
|
|
||||||
run: |
|
|
||||||
chmod +x build/sysroot/usr/bin/casaos-app-management-validator
|
|
||||||
|
|
||||||
- name: Check All Docker Compose File
|
|
||||||
id: validate_docker_compose
|
|
||||||
run: |
|
|
||||||
find . -type f \( -name "docker-compose.yaml" -or -name "docker-compose.yml" \) | while read -r file; do
|
|
||||||
echo $file
|
|
||||||
build/sysroot/usr/bin/casaos-app-management-validator $file
|
|
||||||
done
|
|
|
@ -1,30 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
DEFAULT_APPSTORE_PATH="/var/lib/casaos/appstore/default"
|
|
||||||
|
|
||||||
if [ -d "${DEFAULT_APPSTORE_PATH}" ]; then
|
|
||||||
echo "🟩 Backup existing default appstore..."
|
|
||||||
mv -f "${DEFAULT_APPSTORE_PATH}" "${DEFAULT_APPSTORE_PATH}.old" || {
|
|
||||||
echo "🟥 Failed to backup existing default appstore"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "🟩 Updating default appstore..."
|
|
||||||
|
|
||||||
if [ -d "${DEFAULT_APPSTORE_PATH}.new" ]; then
|
|
||||||
mv -vf "${DEFAULT_APPSTORE_PATH}.new" "${DEFAULT_APPSTORE_PATH}" || {
|
|
||||||
echo "🟥 Failed to update default appstore... restoring backup..."
|
|
||||||
rm -vf "${DEFAULT_APPSTORE_PATH}"
|
|
||||||
mv -vf "${DEFAULT_APPSTORE_PATH}.old" "${DEFAULT_APPSTORE_PATH}"
|
|
||||||
rm -rvf "${DEFAULT_APPSTORE_PATH}.new"
|
|
||||||
exit 1
|
|
||||||
}
|
|
||||||
rm -rvf "${DEFAULT_APPSTORE_PATH}.old" || {
|
|
||||||
echo "🟨 Failed to remove old default appstore backup"
|
|
||||||
}
|
|
||||||
else
|
|
||||||
echo "🟨 New default appstore does not exist"
|
|
||||||
fi
|
|
|
@ -1,16 +0,0 @@
|
||||||
sudo apt-get install jq
|
|
||||||
|
|
||||||
obj="{"
|
|
||||||
for dir in Apps/*; do
|
|
||||||
result=$(cat ./$dir/appfile.json)
|
|
||||||
tagline=$(echo "$result" | jq .tagline)
|
|
||||||
title=$(echo "$result" | jq .title)
|
|
||||||
overview=$(echo "$result" | jq .overview)
|
|
||||||
#tips=`echo "$result" | jq .tops.before_install[].content`
|
|
||||||
content="{\"tagline\": ${tagline} , \"overview\":${overview} },"
|
|
||||||
obj="${obj} ${title} : ${content}"
|
|
||||||
done
|
|
||||||
obj=${obj%?}
|
|
||||||
obj="${obj} }"
|
|
||||||
data=$(echo "$obj" | jq .)
|
|
||||||
echo "$data" > ./CasaOS-i18n/back-end/en_us.json
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue