diff --git a/.github/workflows/release-tamagotchi.yml b/.github/workflows/release-tamagotchi.yml index 05d724d54..5d839a887 100644 --- a/.github/workflows/release-tamagotchi.yml +++ b/.github/workflows/release-tamagotchi.yml @@ -7,6 +7,7 @@ env: BUNDLE_NAME: '' DEB_BUNDLE_NAME: '' RPM_BUNDLE_NAME: '' + FLATPAK_BUNDLE_NAME: '' PRODUCT_NAME: 'AIRI' VERSION: '' @@ -134,6 +135,15 @@ jobs: if: matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' run: pnpm run -F @proj-airi/stage-tamagotchi build && pnpm -F @proj-airi/stage-tamagotchi exec electron-builder build ${{ matrix.builder-args }} + - name: Build Flatpak (Linux Only) # Flatpak + if: ${{ matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm' }} + working-directory: ./apps/stage-tamagotchi + run: | + flatpak-builder ./flatpak ai.moeru.airi.flatpak.yml --force-clean + flatpak build-export ./flatpak-repo ./flatpak + flatpak build-bundle ./flatpak-repo bundle/ai.moeru.airi-${{ matrix.arch }}.flatpak ai.moeru.airi + echo "FLATPAK_BUNDLE_NAME=ai.moeru.airi-${{ matrix.arch }}.flatpak" >> $GITHUB_ENV + # --------- # Nightly (schedule) builds only # --------- @@ -190,6 +200,13 @@ jobs: name: ${{ env.RPM_BUNDLE_NAME }} path: apps/stage-tamagotchi/bundle/${{ env.RPM_BUNDLE_NAME }} + - name: Upload Flatpak Artifact (Nightly + Linux Only) + if: ${{ github.event_name == 'schedule' && (matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm') }} + uses: actions/upload-artifact@v4 + with: + name: ${{ env.FLATPAK_BUNDLE_NAME }} + path: apps/stage-tamagotchi/bundle/${{ env.FLATPAK_BUNDLE_NAME }} + # --------- # Workflow Dispatch only # --------- @@ -246,6 +263,13 @@ jobs: name: ${{ env.RPM_BUNDLE_NAME }} path: apps/stage-tamagotchi/bundle/${{ env.RPM_BUNDLE_NAME }} + - name: Upload Flatpak Artifact (Manual + Non-Release + Linux) + if: ${{ github.event_name == 'workflow_dispatch' && !inputs.build_only && inputs.artifacts_only && (matrix.os == 'ubuntu-latest' || matrix.os == 'ubuntu-24.04-arm') }} + uses: actions/upload-artifact@v4 + with: + name: ${{ env.FLATPAK_BUNDLE_NAME }} + path: apps/stage-tamagotchi/bundle/${{ env.FLATPAK_BUNDLE_NAME }} + - name: Upload To GitHub Releases (Manual + Overwrite Release) if: ${{ github.event_name == 'workflow_dispatch' && !inputs.build_only && !inputs.artifacts_only }} uses: softprops/action-gh-release@v2 diff --git a/.gitignore b/.gitignore index 3e61a2fcf..93a83023b 100644 --- a/.gitignore +++ b/.gitignore @@ -44,6 +44,8 @@ coverage/ out/ bundle/ .flatpak-builder/ +.flatpak-repo/ +*.flatpak # WXT specified this too *.output diff --git a/apps/stage-tamagotchi/ai.moeru.airi.flatpak.yml b/apps/stage-tamagotchi/ai.moeru.airi.flatpak.yml index c70be7fce..7098f665e 100644 --- a/apps/stage-tamagotchi/ai.moeru.airi.flatpak.yml +++ b/apps/stage-tamagotchi/ai.moeru.airi.flatpak.yml @@ -31,11 +31,9 @@ modules: - mkdir -p /app/bin - mkdir -p /app/bin/airi - cp -r ./* /app/bin/airi/ - - chmod +x /app/bin/airi/airi - install airi.sh /app/bin/airi.sh - chmod +x /app/bin/airi/airi.sh - - ls -la /app/bin/airi/ - - ls -la /app/bin/airi/airi + - chmod +x /app/bin/airi/AIRI sources: - type: dir only-arches: [x86_64] @@ -75,4 +73,4 @@ modules: commands: - ulimit -c 0 - export TMPDIR="$XDG_RUNTIME_DIR/app/$FLATPAK_ID" - - exec zypak-wrapper /app/bin/airi/airi "$@" + - exec zypak-wrapper /app/bin/airi/AIRI "$@" diff --git a/docs/.vitepress/assets/home-cover-2025-10-29-bg.avif b/docs/.vitepress/assets/home-cover-2025-10-29-bg.avif new file mode 100644 index 000000000..ad2c8c1d5 Binary files /dev/null and b/docs/.vitepress/assets/home-cover-2025-10-29-bg.avif differ diff --git a/docs/.vitepress/assets/home-cover-2025-10-29-bg.png b/docs/.vitepress/assets/home-cover-2025-10-29-bg.png deleted file mode 100644 index 111349dea..000000000 Binary files a/docs/.vitepress/assets/home-cover-2025-10-29-bg.png and /dev/null differ diff --git a/docs/.vitepress/assets/home-cover-2025-10-29.avif b/docs/.vitepress/assets/home-cover-2025-10-29.avif new file mode 100644 index 000000000..4b46cdcde Binary files /dev/null and b/docs/.vitepress/assets/home-cover-2025-10-29.avif differ diff --git a/docs/.vitepress/assets/home-cover-2025-10-29.png b/docs/.vitepress/assets/home-cover-2025-10-29.png deleted file mode 100644 index 078f478a0..000000000 Binary files a/docs/.vitepress/assets/home-cover-2025-10-29.png and /dev/null differ diff --git a/docs/.vitepress/components/ParallaxCoverHalloween20251029.vue b/docs/.vitepress/components/ParallaxCoverHalloween20251029.vue index eb35f60f5..9a2298a8f 100644 --- a/docs/.vitepress/components/ParallaxCoverHalloween20251029.vue +++ b/docs/.vitepress/components/ParallaxCoverHalloween20251029.vue @@ -5,7 +5,7 @@ import { useLocalStorage } from '@vueuse/core' import { createAnimatable } from 'animejs' import { onMounted, shallowRef, useTemplateRef, watchEffect } from 'vue' -import homeCover from '../assets/home-cover-2025-10-29.png' +import homeCover from '../assets/home-cover-2025-10-29.avif' const surfaceRef = useTemplateRef('surface') const silhouetteLayer1Ref = useTemplateRef('silhouetteLayer1') diff --git a/docs/.vitepress/custom/Docs.vue b/docs/.vitepress/custom/Docs.vue index 82681a19f..537ae306f 100644 --- a/docs/.vitepress/custom/Docs.vue +++ b/docs/.vitepress/custom/Docs.vue @@ -57,7 +57,7 @@ const isCharactersPage = computed(() => path.value.includes('characters')) v-if="isBetweenHalloweenAndHalfOfNovember(new Date())" class="max-w-none w-[90rem] flex-none" decoding="async" - src="/new-bg-halloween.png" + src="/new-bg-halloween.avif" alt="backdrop" >