Update dependency vite to v7.3.0 #3110
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: build-and-release | |
| on: | |
| push: | |
| branches: | |
| - unstable | |
| - main | |
| tags: | |
| - v* | |
| pull_request: | |
| branches: | |
| - main | |
| - unstable | |
| - development | |
| permissions: | |
| contents: read | |
| jobs: | |
| macapp-test: | |
| # description: "Builds and signs a macOS app then packages it in a notarized DMG." | |
| if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/unstable' | |
| name: Make macOS DMG | |
| runs-on: macos-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| # we need the whole thing so we can count commits. | |
| fetch-depth: '0' | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: 'go.mod' | |
| - name: go-generate | |
| env: | |
| FONTAWESOME_PACKAGE_TOKEN: ${{ secrets.FONTAWESOME_PACKAGE_TOKEN }} | |
| run: | | |
| # The API defs won't build without a dist folder, and the next step creates it for real. | |
| mkdir -p ./frontend/dist | |
| echo "Fake frontend build." > ./frontend/dist/index.html | |
| # API definitions (needs swagger) | |
| go generate ./frontend/src/api | |
| # Frontend locales and dist build. | |
| go generate ./frontend | |
| - name: make-signdmg | |
| env: | |
| APPLE_SIGNING_KEY: ${{ secrets.APPLE_SIGNING_KEY }} | |
| AC_USERNAME: ${{ secrets.AC_USERNAME }} | |
| AC_PASSWORD: ${{ secrets.AC_PASSWORD }} | |
| AC_PROVIDER: ${{ secrets.AC_PROVIDER }} | |
| SLIPPERS: ${{ secrets.SLIPPERS }} | |
| id: release | |
| run: | | |
| brew install Bearer/tap/gon | |
| [ -z SLIPPERS ] || eval "${SLIPPERS}" | |
| make signdmg | |
| - name: Upload DMG Artifact | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: dmg-release | |
| path: release | |
| release: | |
| # description: "Builds all the Notifiarr client binaries and packages for a release." | |
| if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/unstable' || github.ref == 'refs/heads/main' | |
| outputs: | |
| version: ${{ steps.vars.outputs.version }} | |
| revision: ${{ steps.vars.outputs.revision }} | |
| name: Make Release Assets | |
| runs-on: ubuntu-latest | |
| env: | |
| GPG_SIGNING_KEY: ${{ secrets.GPG_SIGNING_KEY }} | |
| SLIPPERS: ${{ secrets.SLIPPERS }} | |
| EXE_SIGNING_KEY: ${{ secrets.EXE_SIGNING_KEY }} | |
| EXE_SIGNING_KEY_PASSWORD: ${{ secrets.EXE_SIGNING_KEY_PASSWORD }} | |
| steps: | |
| - name: Configure Fast APT Mirror | |
| uses: vegardit/fast-apt-mirror.sh@v1 | |
| with: # the following parameters are listed with their action default values and are optional | |
| healthchecks: 5 # Number of mirrors from the mirrors list to check for availability and up-to-dateness | |
| speedtests: 4 # Maximum number of healthy mirrors to test for speed | |
| parallel: 2 # Number of parallel speed tests | |
| sample-size: 1024 # Number of kilobytes to download during the speed from each mirror | |
| sample-time: 3 # Maximum number of seconds within the sample download from a mirror must finish | |
| country: 'us' # The country code for selecting Ubuntu mirrors. If not set, defaults to http://mirrors.ubuntu.com/mirrors.txt | |
| - uses: actions/checkout@v5 | |
| with: | |
| # we need the whole thing so we can count commits. | |
| fetch-depth: '0' | |
| - uses: actions/setup-go@v6 | |
| with: | |
| go-version-file: 'go.mod' | |
| - name: Get Version and Iteration | |
| id: vars | |
| run: | | |
| source settings.sh | |
| echo "Building v${VERSION}-${ITERATION}" | |
| echo "version=${VERSION}" >> $GITHUB_OUTPUT | |
| echo "revision=${ITERATION}" >> $GITHUB_OUTPUT | |
| - name: Make Release v${{steps.vars.outputs.version}}-${{steps.vars.outputs.revision}} | |
| env: | |
| FONTAWESOME_PACKAGE_TOKEN: ${{ secrets.FONTAWESOME_PACKAGE_TOKEN }} | |
| id: release | |
| run: | | |
| sudo apt install -y rpm fakeroot zip debsigs gnupg jq libarchive-tools osslsigncode | |
| sudo gem install --no-document fpm | |
| echo "${GPG_SIGNING_KEY}" | gpg --import - | |
| [ -z SLIPPERS ] || eval "${SLIPPERS}" | |
| make release | |
| - name: Upload Release Artifacts v${{steps.vars.outputs.version}}-${{steps.vars.outputs.revision}} | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: release | |
| path: release | |
| - name: upload sha512sums.txt | |
| uses: actions/upload-artifact@v5 | |
| with: | |
| name: sha512sums.txt | |
| path: release/sha512sums.txt | |
| print-built-version: | |
| needs: | |
| - release | |
| name: Built v${{needs.release.outputs.version}}-${{needs.release.outputs.revision}} | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Built v${{needs.release.outputs.version}}-${{needs.release.outputs.revision}} | |
| run: echo Built v${{needs.release.outputs.version}}-${{needs.release.outputs.revision}} | |
| deploy-unstable-unstable: | |
| # description: "Uploads pre-built binaries to unstable.golift.io." | |
| if: startsWith(github.ref, 'refs/tags/v') || github.ref == 'refs/heads/unstable' | |
| strategy: | |
| matrix: | |
| files: [release, dmg-release] | |
| needs: | |
| - release | |
| - macapp-test | |
| name: GoLift Unstable Deploy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: 'Download files: ${{ matrix.files }}' | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: ${{ matrix.files }} | |
| - name: Upload files to unstable.golift.io | |
| run: >- | |
| set -euo pipefail; | |
| for file in *.{zip,dmg,gz}; do | |
| [ -f "$file" ] || continue; | |
| echo "Uploading: ${file}"; | |
| curl -sSH "X-API-KEY: ${{ secrets.UNSTABLE_UPLOAD_KEY }}" "https://unstable.golift.io/upload.php?folder=notifiarr" -F "file=@${file}"; | |
| echo '{"version":"${{needs.release.outputs.version}}","revision":${{needs.release.outputs.revision}},"size":'$(stat --printf="%s" ${file})'}' >> ${file}.txt | |
| curl -sSH "X-API-KEY: ${{ secrets.UNSTABLE_UPLOAD_KEY }}" "https://unstable.golift.io/upload.php?folder=notifiarr" -F "file=@${file}.txt"; | |
| done | |
| deploy-unstable-packagecloud: | |
| # description: "Uploads pre-built RPM and DEB packages to packagecloud.io/golift" | |
| if: github.ref == 'refs/heads/unstable' | |
| needs: | |
| - release | |
| name: PackageCloud Unstable Deploy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download release files | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: release | |
| - uses: golift/upload-packagecloud@v1 | |
| with: | |
| userrepo: golift/unstable | |
| apitoken: ${{ secrets.PACKAGECLOUD_TOKEN }} | |
| packages: . | |
| rpmdists: el/6 | |
| debdists: ubuntu/focal | |
| deploy-packagecloud: | |
| # description: "Uploads pre-built RPM and DEB packages to packagecloud.io/golift" | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| needs: | |
| - release | |
| name: PackageCloud Release Deploy | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download release files | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: release | |
| - uses: golift/upload-packagecloud@v1 | |
| with: | |
| userrepo: golift/pkgs | |
| apitoken: ${{ secrets.PACKAGECLOUD_TOKEN }} | |
| packages: . | |
| rpmdists: el/6 | |
| debdists: ubuntu/focal | |
| deploy-github: | |
| # description: uploads all the built release assets to the GitHub Release. | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| permissions: | |
| contents: write | |
| needs: | |
| - release | |
| - macapp-test | |
| strategy: | |
| matrix: | |
| files: [release, dmg-release] | |
| name: Deploy GitHub Release | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Download ${{ matrix.files }} Files | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: ${{ matrix.files }} | |
| - name: Publish ${{ matrix.files }} artifacts to github | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| *.rpm | |
| *.deb | |
| *.txz | |
| *.zip | |
| *.dmg | |
| *.gz | |
| *.txt | |
| *.zst | |
| *.sig | |
| archlinux-aur: | |
| if: startsWith(github.ref, 'refs/tags/v') | |
| # description: creates and uploads a PKGBUILD file to the official aur repo from Arch Linux. | |
| needs: | |
| - release | |
| name: Deploy ArchLinux AUR | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v5 | |
| with: | |
| fetch-depth: '0' | |
| - name: Download SHA files from build | |
| uses: actions/download-artifact@v6 | |
| with: | |
| name: sha512sums.txt | |
| - name: Deploy Aurch AUR | |
| run: bash init/archlinux/aur-deploy.sh | |
| env: | |
| DEPLOY_KEY: ${{ secrets.AUR_DEPLOY_KEY }} |