feat(core): implement centralized update scheduler in AddonManager (#37) #29
Workflow file for this run
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: Release | |
| on: | |
| push: | |
| tags: | |
| - 'v*' | |
| permissions: | |
| contents: write | |
| jobs: | |
| verify-and-build: | |
| name: Verify and Build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v4 | |
| - name: Setup Bun | |
| uses: oven-sh/setup-bun@v2 | |
| with: | |
| bun-version: latest | |
| - name: Install dependencies | |
| run: bun install --frozen-lockfile | |
| - name: Lint | |
| run: bun run lint | |
| - name: Typecheck | |
| run: bun run typecheck | |
| - name: Run tests | |
| run: bun test --only-failures | |
| - name: Build Standalone Executables | |
| run: | | |
| mkdir -p dist | |
| # Linux x64 | |
| bun build --compile --minify --sourcemap --target=bun-linux-x64 ./index.tsx --outfile dist/lemonup-linux-x64 | |
| # Windows x64 | |
| bun build --compile --minify --sourcemap --target=bun-windows-x64 ./index.tsx --outfile dist/lemonup-windows-x64.exe | |
| # macOS ARM64 | |
| bun build --compile --minify --sourcemap --target=bun-darwin-arm64 ./index.tsx --outfile dist/lemonup-macos-arm64 | |
| # macOS x64 | |
| bun build --compile --minify --sourcemap --target=bun-darwin-x64 ./index.tsx --outfile dist/lemonup-macos-x64 | |
| - name: Debug - List Dist | |
| run: ls -R dist | |
| - name: Create Release | |
| uses: softprops/action-gh-release@v2 | |
| with: | |
| files: | | |
| dist/lemonup-linux-x64 | |
| dist/lemonup-windows-x64.exe | |
| dist/lemonup-macos-arm64 | |
| dist/lemonup-macos-x64 | |
| generate_release_notes: true | |
| fail_on_unmatched_files: true | |
| update-homebrew: | |
| name: Update Homebrew Formula | |
| if: false | |
| needs: verify-and-build | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout Homebrew Repository | |
| uses: actions/checkout@v4 | |
| with: | |
| repository: archcorsair/homebrew-lemonup | |
| token: ${{ secrets.GITHUB_TOKEN }} | |
| path: homebrew-lemonup | |
| - name: Calculate SHA256 Checksums | |
| id: calculate-sha | |
| run: | | |
| echo "Calculating SHA256 hashes" | |
| SHA_LINUX_X64=$(shasum -a 256 dist/lemonup-linux-x64 | cut -d' ' -f1) | |
| SHA_MACOS_X64=$(shasum -a 256 dist/lemonup-macos-x64 | cut -d' ' -f1) | |
| SHA_MACOS_ARM64=$(shasum -a 256 dist/lemonup-macos-arm64 | cut -d' ' -f1) | |
| SHA_WINDOWS_X64=$(shasum -a 256 dist/lemonup-windows-x64.exe | cut -d' ' -f1) | |
| echo "::set-output name=sha_linux_x64::${SHA_LINUX_X64}" | |
| echo "::set-output name=sha_macos_x64::${SHA_MACOS_X64}" | |
| echo "::set-output name=sha_macos_arm64::${SHA_MACOS_ARM64}" | |
| echo "::set-output name=sha_windows_x64::${SHA_WINDOWS_X64}" | |
| - name: Update Lemonup Formula | |
| run: | | |
| cd homebrew-lemonup | |
| sed -i "s/version \".*\"/version \"$GITHUB_REF_NAME\"/" Formula/lemonup.rb | |
| sed -i "0,/sha256 \".*\"/s/sha256 \".*\"/sha256 \"${{ steps.calculate-sha.outputs.sha_macos_arm64 }}\"/" Formula/lemonup.rb | |
| sed -i "0,/sha256 \".*\"/s/sha256 \".*\"/sha256 \"${{ steps.calculate-sha.outputs.sha_macos_x64 }}\"/" Formula/lemonup.rb | |
| sed -i "0,/sha256 \".*\"/s/sha256 \".*\"/sha256 \"${{ steps.calculate-sha.outputs.sha_linux_x64 }}\"/" Formula/lemonup.rb | |
| sed -i "0,/sha256 \".*\"/s/sha256 \".*\"/sha256 \"${{ steps.calculate-sha.outputs.sha_windows_x64 }}\"/" Formula/lemonup.rb | |
| git config user.email "[email protected] " | |
| git config user.name "Daniel Shneyder" | |
| git add Formula/lemonup.rb | |
| git commit -m "Update Homebrew formula for version $GITHUB_REF_NAME" | |
| git push | |
| - name: Verify Commit | |
| run: git log -1 |