mirror of
https://github.com/bitsocialnet/5chan.git
synced 2026-08-03 07:41:04 +02:00
fix(release): normalize asset names
This commit is contained in:
@@ -89,12 +89,15 @@ jobs:
|
|||||||
- name: Stage release artifacts
|
- name: Stage release artifacts
|
||||||
run: |
|
run: |
|
||||||
mkdir -p release-assets
|
mkdir -p release-assets
|
||||||
cp out/make/AppImage/**/*.AppImage release-assets/
|
VERSION=$(node -e "console.log(require('./package.json').version)")
|
||||||
|
APPIMAGE_PATH=$(find out/make/AppImage -name '*.AppImage' | head -n 1)
|
||||||
|
[ -n "$APPIMAGE_PATH" ] || exit 1
|
||||||
|
cp "$APPIMAGE_PATH" "release-assets/5chan-${VERSION}-${{ matrix.arch }}.AppImage"
|
||||||
- name: Create static HTML release archive
|
- name: Create static HTML release archive
|
||||||
if: matrix.arch == 'x64'
|
if: matrix.arch == 'x64'
|
||||||
run: |
|
run: |
|
||||||
VERSION=$(node -e "console.log(require('./package.json').version)")
|
VERSION=$(node -e "console.log(require('./package.json').version)")
|
||||||
HTML_ARCHIVE_DIR="5chan-html-$VERSION"
|
HTML_ARCHIVE_DIR="5chan-$VERSION-html"
|
||||||
rm -rf "$HTML_ARCHIVE_DIR"
|
rm -rf "$HTML_ARCHIVE_DIR"
|
||||||
cp -R build "$HTML_ARCHIVE_DIR"
|
cp -R build "$HTML_ARCHIVE_DIR"
|
||||||
zip -r "release-assets/${HTML_ARCHIVE_DIR}.zip" "$HTML_ARCHIVE_DIR"
|
zip -r "release-assets/${HTML_ARCHIVE_DIR}.zip" "$HTML_ARCHIVE_DIR"
|
||||||
@@ -154,18 +157,16 @@ jobs:
|
|||||||
else
|
else
|
||||||
yarn electron:build:mac:x64
|
yarn electron:build:mac:x64
|
||||||
fi
|
fi
|
||||||
- name: Rename DMG with version and architecture suffix
|
|
||||||
run: |
|
|
||||||
VERSION=$(node -e "console.log(require('./package.json').version)")
|
|
||||||
for f in out/make/*.dmg; do
|
|
||||||
[ -f "$f" ] || continue
|
|
||||||
mv "$f" "out/make/5chan-${VERSION}-${{ matrix.arch }}.dmg"
|
|
||||||
done
|
|
||||||
- name: Stage release artifacts
|
- name: Stage release artifacts
|
||||||
run: |
|
run: |
|
||||||
mkdir -p release-assets
|
mkdir -p release-assets
|
||||||
cp out/make/*.dmg release-assets/ 2>/dev/null || true
|
VERSION=$(node -e "console.log(require('./package.json').version)")
|
||||||
find out/make/zip -name '*.zip' -exec cp {} release-assets/ \; 2>/dev/null || true
|
DMG_PATH=$(find out/make -maxdepth 1 -name '*.dmg' | head -n 1)
|
||||||
|
ZIP_PATH=$(find out/make/zip -name '*.zip' | head -n 1)
|
||||||
|
[ -n "$DMG_PATH" ] || exit 1
|
||||||
|
[ -n "$ZIP_PATH" ] || exit 1
|
||||||
|
cp "$DMG_PATH" "release-assets/5chan-${VERSION}-${{ matrix.arch }}.dmg"
|
||||||
|
cp "$ZIP_PATH" "release-assets/5chan-${VERSION}-${{ matrix.arch }}.zip"
|
||||||
- name: List release assets
|
- name: List release assets
|
||||||
run: ls -la release-assets
|
run: ls -la release-assets
|
||||||
- uses: actions/upload-artifact@v4
|
- uses: actions/upload-artifact@v4
|
||||||
@@ -204,7 +205,10 @@ jobs:
|
|||||||
shell: bash
|
shell: bash
|
||||||
run: |
|
run: |
|
||||||
mkdir -p release-assets
|
mkdir -p release-assets
|
||||||
cp out/make/squirrel.windows/x64/*.exe release-assets/
|
VERSION=$(node -e "console.log(require('./package.json').version)")
|
||||||
|
SETUP_EXE_PATH=$(find out/make -iname '*setup*.exe' | head -n 1)
|
||||||
|
[ -n "$SETUP_EXE_PATH" ] || exit 1
|
||||||
|
cp "$SETUP_EXE_PATH" "release-assets/5chan-${VERSION}-x64.Setup.exe"
|
||||||
- name: List release assets
|
- name: List release assets
|
||||||
shell: bash
|
shell: bash
|
||||||
run: ls -la release-assets
|
run: ls -la release-assets
|
||||||
|
|||||||
+1
-1
@@ -17,7 +17,7 @@ if [ -z "${DEPLOY_PASSWORD+xxx}" ]; then echo "DEPLOY_PASSWORD not set" && exit;
|
|||||||
|
|
||||||
# save version
|
# save version
|
||||||
FIVECHAN_VERSION=$(node -e "console.log(require('../package.json').version)")
|
FIVECHAN_VERSION=$(node -e "console.log(require('../package.json').version)")
|
||||||
FIVECHAN_HTML_NAME="5chan-html-$FIVECHAN_VERSION"
|
FIVECHAN_HTML_NAME="5chan-$FIVECHAN_VERSION-html"
|
||||||
|
|
||||||
SCRIPT="
|
SCRIPT="
|
||||||
# download html
|
# download html
|
||||||
|
|||||||
@@ -54,10 +54,11 @@ const linkTo = (file) => `https://github.com/bitsocialnet/5chan/releases/downloa
|
|||||||
const has = (s, sub) => s.toLowerCase().includes(sub);
|
const has = (s, sub) => s.toLowerCase().includes(sub);
|
||||||
const isArm = (s) => has(s, 'arm64') || has(s, 'aarch64');
|
const isArm = (s) => has(s, 'arm64') || has(s, 'aarch64');
|
||||||
const isX64 = (s) => has(s, 'x64') || has(s, 'x86_64') || !isArm(s);
|
const isX64 = (s) => has(s, 'x64') || has(s, 'x86_64') || !isArm(s);
|
||||||
|
const isHtmlArchive = (file) => file.toLowerCase().endsWith('.zip') && (has(file, '5chan-html') || has(file, '-html'));
|
||||||
|
|
||||||
// buckets
|
// buckets
|
||||||
const androidApk = files.find((f) => f.endsWith('.apk'));
|
const androidApk = files.find((f) => f.endsWith('.apk'));
|
||||||
const htmlZip = files.find((f) => f.includes('5chan-html') && f.endsWith('.zip'));
|
const htmlZip = files.find(isHtmlArchive);
|
||||||
|
|
||||||
const linux = files.filter((f) => f.endsWith('.AppImage'));
|
const linux = files.filter((f) => f.endsWith('.AppImage'));
|
||||||
const mac = files.filter((f) => f.endsWith('.dmg'));
|
const mac = files.filter((f) => f.endsWith('.dmg'));
|
||||||
@@ -98,7 +99,7 @@ const linuxSection = section('Linux', [
|
|||||||
|
|
||||||
const androidSection = section('Android', [androidApk && `- APK: [Download](${linkTo(androidApk)})`]);
|
const androidSection = section('Android', [androidApk && `- APK: [Download](${linkTo(androidApk)})`]);
|
||||||
|
|
||||||
const htmlSection = section('Static HTML build', [htmlZip && `- 5chan-html (zip): [Download](${linkTo(htmlZip)})`]);
|
const htmlSection = section('Static HTML build', [htmlZip && `- Static HTML archive (zip): [Download](${linkTo(htmlZip)})`]);
|
||||||
|
|
||||||
const downloads = [macSection, winSection, linuxSection, androidSection, htmlSection].filter(Boolean).join('\n\n');
|
const downloads = [macSection, winSection, linuxSection, androidSection, htmlSection].filter(Boolean).join('\n\n');
|
||||||
|
|
||||||
|
|||||||
@@ -332,8 +332,8 @@ describe('app-update', () => {
|
|||||||
await applyAvailableAppUpdate({
|
await applyAvailableAppUpdate({
|
||||||
runtime: 'electron',
|
runtime: 'electron',
|
||||||
targetVersion: '9.9.9',
|
targetVersion: '9.9.9',
|
||||||
assetName: '5chan-9.9.9.Setup.exe',
|
assetName: '5chan-9.9.9-x64.Setup.exe',
|
||||||
downloadUrl: 'https://github.com/bitsocialnet/5chan/releases/download/v9.9.9/5chan-9.9.9.Setup.exe',
|
downloadUrl: 'https://github.com/bitsocialnet/5chan/releases/download/v9.9.9/5chan-9.9.9-x64.Setup.exe',
|
||||||
releaseUrl: 'https://github.com/bitsocialnet/5chan/releases/tag/v9.9.9',
|
releaseUrl: 'https://github.com/bitsocialnet/5chan/releases/tag/v9.9.9',
|
||||||
});
|
});
|
||||||
await applyAvailableAppUpdate({
|
await applyAvailableAppUpdate({
|
||||||
@@ -345,8 +345,8 @@ describe('app-update', () => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
expect(testState.electronDownloadAndInstallUpdateMock).toHaveBeenCalledWith({
|
expect(testState.electronDownloadAndInstallUpdateMock).toHaveBeenCalledWith({
|
||||||
url: 'https://github.com/bitsocialnet/5chan/releases/download/v9.9.9/5chan-9.9.9.Setup.exe',
|
url: 'https://github.com/bitsocialnet/5chan/releases/download/v9.9.9/5chan-9.9.9-x64.Setup.exe',
|
||||||
fileName: '5chan-9.9.9.Setup.exe',
|
fileName: '5chan-9.9.9-x64.Setup.exe',
|
||||||
});
|
});
|
||||||
expect(testState.androidDownloadAndInstallUpdateMock).toHaveBeenCalledWith({
|
expect(testState.androidDownloadAndInstallUpdateMock).toHaveBeenCalledWith({
|
||||||
url: 'https://github.com/bitsocialnet/5chan/releases/download/v9.9.9/5chan-9.9.9.apk',
|
url: 'https://github.com/bitsocialnet/5chan/releases/download/v9.9.9/5chan-9.9.9.apk',
|
||||||
|
|||||||
Reference in New Issue
Block a user