diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 319bffe7..92769f47 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -87,7 +87,7 @@ jobs:
mkdir -p ~/.arm/Packs/.Web
wget -O ~/.arm/Packs/.Web/ARM.CMSIS.pdsc https://www.keil.com/pack/ARM.CMSIS.pdsc
echo "::add-matcher::.github/packchk.json"
- /bin/bash ./Scripts/git/gen_pack.sh
+ /bin/bash ./Scripts/git/gen_pack.sh -k
echo "::remove-matcher owner=packchk::"
- name: Archive pack
@@ -108,6 +108,30 @@ jobs:
tag: ${{ github.ref }}
overwrite: true
+ - name: Generate pack index
+ if: ${{ github.event_name == 'release' }}
+ run: |
+ VERSION=$(sed 's/refs\/tags\/v//' <<< $GITHUB_REF)
+ /bin/bash ./Scripts/git/gen_pack_index.sh ${VERSION} > /tmp/CMSIS-DSP.pidx
+ cp ./build/ARM.CMSIS-DSP.pdsc /tmp/
+
+ - uses: actions/checkout@v2
+ if: ${{ github.event_name == 'release' }}
+ with:
+ ref: pack-index
+
+ - name: Update pack index
+ if: ${{ github.event_name == 'release' }}
+ run: |
+ RELEASE=$(sed 's/refs\/tags\///' <<< $GITHUB_REF)
+ cp -f /tmp/CMSIS-DSP.pidx .
+ cp -f /tmp/ARM.CMSIS-DSP.pdsc .
+ git config user.name github-actions
+ git config user.email github-actions@github.com
+ git add .
+ git commit -m "Update pack index with release ${RELEASE}"
+ git push
+
- uses: actions/checkout@v2
if: ${{ github.event_name == 'release' || github.event_name == 'push' || github.event_name == 'workflow_dispatch' }}
with:
@@ -129,7 +153,7 @@ jobs:
- name: Publish documentation
if: ${{ github.event_name == 'release' }}
run: |
- RELEASE=$(echo $GITHUB_REF | sed 's/refs\/tags\///')
+ RELEASE=$(sed 's/refs\/tags\///' <<< $GITHUB_REF)
rm -rf ${RELEASE}
mkdir -p ${RELEASE}
rm -f latest
diff --git a/ARM.CMSIS-DSP.pdsc b/ARM.CMSIS-DSP.pdsc
index 275246b9..01c7936a 100644
--- a/ARM.CMSIS-DSP.pdsc
+++ b/ARM.CMSIS-DSP.pdsc
@@ -5,8 +5,9 @@
CMSIS Embedded Compute Library
ARM
LICENSE.txt
- https://www.keil.com/pack/
-
+ https://raw.githubusercontent.com/ARM-software/CMSIS-DSP/pack-index/
+ https://github.com/ARM-software/CMSIS-DSP.git
+
Active development ...
diff --git a/Scripts/git/check_links.sh b/Scripts/git/check_links.sh
old mode 100644
new mode 100755
diff --git a/Scripts/git/gen_changelog.sh b/Scripts/git/gen_changelog.sh
old mode 100644
new mode 100755
index c03b024d..34447b67
--- a/Scripts/git/gen_changelog.sh
+++ b/Scripts/git/gen_changelog.sh
@@ -4,7 +4,7 @@ DIRNAME=$(dirname $(readlink -f $0))
DESCRIBE=$(readlink -f ${DIRNAME}/git_describe.sh)
function usage {
- echo "$(basename $0) [-h|--help] [-f|--format ] [tag-prefix]"
+ echo "$(basename $0) [-h|--help] [-f|--format ] [-u|--url ] [tag-prefix]"
echo ""
echo "Arguments:"
echo " -h|--help Print this usage message and exit."
@@ -14,6 +14,8 @@ function usage {
echo " dxy Release notes for Doxygen"
echo " html Release notes for HTML"
echo " -p|--pre Include latest pre-release."
+ echo " -u|--url Add url attribute to each release:"
+ echo " Placeholders are TAG, VERSION, DATE."
echo " tag-prefix Prefix to filter tags."
echo ""
}
@@ -41,11 +43,14 @@ function print_pdsc_head {
}
function print_pdsc {
- if [ -z "$2" ]; then
- echo " "
- else
- echo " "
+ echo -n " "
echo -e "$3" | \
sed "s/^/ /" | \
sed "s/
//" | \
@@ -108,6 +113,7 @@ function print_html_tail {
POSITIONAL=()
FORMAT="text"
PRERELEASE=0
+URL=""
while [[ $# -gt 0 ]]
do
key="$1"
@@ -126,6 +132,11 @@ do
PRERELEASE=1
shift
;;
+ '-u'|'--url')
+ shift
+ URL=$1
+ shift
+ ;;
*) # unknown option
POSITIONAL+=("$1") # save it in an array for later
shift # past argument
@@ -150,10 +161,14 @@ if [[ $PRERELEASE != 0 ]] && ! git rev-list "${PREFIX}${LATEST}" >/dev/null; the
fi
for TAG in $TAGS; do
- TAG="${TAG#refs/tags/}"
+ TAG="${TAG#refs/tags/}"
+ VERSION="${TAG#${PREFIX}}"
DESC=$(git tag -l -n99 --format "%(contents)" ${TAG} 2>/dev/null)
DATE=$(git tag -l -n99 --format "%(taggerdate:short)" ${TAG} 2>/dev/null)
- print_$FORMAT "${TAG#${PREFIX}}" "${DATE}" "${DESC}"
+ if [ -n "$URL" ]; then
+ DLURL=$(TAG=$TAG VERSION=$VERSION DATE=$DATE envsubst <<< $URL)
+ fi
+ print_$FORMAT "${VERSION}" "${DATE}" "${DESC}" "${DLURL}"
done
print_${FORMAT}_tail
diff --git a/Scripts/git/gen_pack.sh b/Scripts/git/gen_pack.sh
old mode 100644
new mode 100755
index 4979ff39..949375aa
--- a/Scripts/git/gen_pack.sh
+++ b/Scripts/git/gen_pack.sh
@@ -118,6 +118,9 @@ PACK_DELETE_FILES=""
# Specify patches to be applied
PACK_PATCH_FILES=""
+# Specify the pack download url pattern
+PACK_URL="https://github.com/ARM-software/CMSIS-DSP/releases/download"
+
############ DO NOT EDIT BELOW ###########
echo Starting CMSIS-Pack Generation: `date`
# Zip utility check
@@ -184,7 +187,7 @@ last=$(grep -n "" ${PACK_VENDOR}.${PACK_NAME}.pdsc | cut -d: -f1)
let first-=1
let last+=1
head -n ${first} "./${PACK_VENDOR}.${PACK_NAME}.pdsc" > "${PACK_BUILD}/${PACK_VENDOR}.${PACK_NAME}.pdsc"
-/bin/bash "${CHANGELOG}" -p -f pdsc 2>/dev/null | sed "s/^/ /" >> "${PACK_BUILD}/${PACK_VENDOR}.${PACK_NAME}.pdsc"
+/bin/bash "${CHANGELOG}" -p -f pdsc -u "${PACK_URL}/\${TAG}/${PACK_VENDOR}.${PACK_NAME}.\${VERSION}.pack" 2>/dev/null | sed "s/^/ /" >> "${PACK_BUILD}/${PACK_VENDOR}.${PACK_NAME}.pdsc"
tail -n +${last} "./${PACK_VENDOR}.${PACK_NAME}.pdsc" | \
sed -e "s/Cversion=\"[^\"]*\"/Cversion=\"${VERSION}\"/" >> "${PACK_BUILD}/${PACK_VENDOR}.${PACK_NAME}.pdsc"
diff --git a/Scripts/git/gen_pack_index.sh b/Scripts/git/gen_pack_index.sh
new file mode 100755
index 00000000..7d9f2e63
--- /dev/null
+++ b/Scripts/git/gen_pack_index.sh
@@ -0,0 +1,13 @@
+#!/bin/bash
+
+cat <
+
+ ARM
+ https://raw.githubusercontent.com/ARM-software/CMSIS-DSP/pack-index/
+ $(date -u +%FT%TZ)
+
+
+
+
+EOF
diff --git a/Scripts/git/git-configure.sh b/Scripts/git/git-configure.sh
old mode 100644
new mode 100755
diff --git a/Scripts/git/git_describe.sh b/Scripts/git/git_describe.sh
old mode 100644
new mode 100755