Build Citron (Stable) #59
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: Build Citron (Stable) | |
| concurrency: | |
| group: build-stable-${{ github.ref }} | |
| cancel-in-progress: true | |
| on: | |
| schedule: | |
| - cron: "0 7 1/21 * *" | |
| workflow_dispatch: {} | |
| jobs: | |
| build: | |
| name: "${{ matrix.name }} (${{ matrix.arch }})" | |
| runs-on: ${{ matrix.runs-on }} | |
| strategy: | |
| matrix: | |
| include: | |
| - runs-on: ubuntu-latest | |
| optimized: false | |
| name: "Citron build (Normal)" | |
| arch: x86_64 | |
| - runs-on: ubuntu-latest | |
| optimized: true | |
| name: "Citron Build (Optimized)" | |
| arch: x86_64 | |
| - runs-on: ubuntu-24.04-arm | |
| name: "Citron build (Normal)" | |
| optimized: false | |
| arch: aarch64 | |
| container: ghcr.io/pkgforge-dev/archlinux:latest | |
| steps: | |
| - uses: actions/checkout@v4 | |
| with: | |
| persist-credentials: false | |
| - name: Install dependencies | |
| if: always() | |
| run: chmod +x ./get-dependencies.sh && ./get-dependencies.sh | |
| - name: Compile Citron (Normal) | |
| if: ${{ matrix.optimized == false }} | |
| run: | | |
| chmod +x ./citron-appimage.sh && ./citron-appimage.sh | |
| mkdir -p dist | |
| mv *.AppImage* dist/ | |
| - name: Compile Citron (Optimized) | |
| if: ${{ matrix.optimized == true }} | |
| run: | | |
| rm -rf ./AppDir || true | |
| sudo pacman -R --noconfirm citron || true | |
| chmod +x ./citron-appimage.sh && ./citron-appimage.sh v3 | |
| mkdir -p dist | |
| mv *.AppImage* dist/ | |
| - name: Upload artifact | |
| uses: actions/[email protected] | |
| with: | |
| name: citron-${{ matrix.optimized && 'optimized' || 'normal' }}-appimage-${{ matrix.arch }} | |
| path: "dist" | |
| - name: Check version file | |
| if: ${{ matrix.optimized == false }} | |
| run: | | |
| cat ~/version | |
| echo "APP_VERSION=$(cat ~/version)" >> "${GITHUB_ENV}" | |
| - name: Upload version file | |
| uses: actions/[email protected] | |
| with: | |
| name: version | |
| path: ~/version | |
| overwrite: true | |
| release: | |
| if: ${{ github.ref_name == 'main' }} | |
| name: "release" | |
| needs: [build] | |
| permissions: | |
| actions: read | |
| security-events: write | |
| contents: write | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/[email protected] | |
| with: | |
| name: citron-optimized-appimage-x86_64 | |
| - uses: actions/[email protected] | |
| with: | |
| name: citron-normal-appimage-x86_64 | |
| - uses: actions/[email protected] | |
| with: | |
| name: citron-normal-appimage-aarch64 | |
| - uses: actions/[email protected] | |
| with: | |
| name: version | |
| - name: Read version and Get date | |
| run: | | |
| echo "VERSION=$(cat version)" >> "${GITHUB_ENV}" | |
| echo "DATE=$(date +'%Y-%m-%d_%s')" >> "${GITHUB_ENV}" | |
| - name: Release Artifacts | |
| uses: softprops/[email protected] | |
| with: | |
| name: "Citron: ${{ env.VERSION }}" | |
| tag_name: "${{ env.VERSION }}@${{ env.DATE }}" | |
| prerelease: false | |
| draft: false | |
| generate_release_notes: false | |
| make_latest: true | |
| files: | | |
| *.AppImage* | |
| - uses: actions/checkout@v4 | |
| - name: Update LATEST_VERSION | |
| run: | | |
| echo "${{ env.VERSION }}" > ./LATEST_VERSION | |
| git config user.name "github-actions[bot]" | |
| git config user.email "github-actions[bot]@users.noreply.github.com" | |
| git add ./LATEST_VERSION | |
| git commit --allow-empty -m 'bump `LATEST_VERSION` [skip ci]' | |
| git push |