Skip to content

Daily

Daily #1924

Workflow file for this run

---
name: Daily
on:
push:
branches:
- main
schedule:
- cron: "10 2 * * *"
jobs:
publish_platform:
name: Publish Platform (${{ matrix.configuration.name }})
runs-on: ${{ matrix.configuration.runs-on }}
strategy:
fail-fast: false
matrix:
configuration:
- name: x86
runs-on: ubuntu-22.04
architecture: x86_64
- name: ARM
runs-on: ubuntu-22.04-arm
architecture: aarch64
steps:
- name: Checkout
uses: actions/checkout@v5
- name: Clean
uses: ./.github/actions/maximize-build-space
- name: Setup
run: |
sudo apt update
sudo apt install -y ccache flatpak flatpak-builder gir1.2-ostree-1.0 meson python3-aiohttp python3-gi python3-tenacity xvfb zstd
sudo rm -rf /var/lib/{apt,dpkg,cache,log}/
curl https://raw.githubusercontent.com/flatpak/flat-manager/0.3.7/flat-manager-client > ./flat-manager-client
sudo mv ./flat-manager-client /usr/bin/flat-manager-client
sudo chown root: /usr/bin/flat-manager-client
sudo chmod +x /usr/bin/flat-manager-client
sudo flatpak remote-add --system --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
- name: Build
env:
DISPLAY: "0:0"
run: |
meson setup build -Dbranch=daily --cross-file="architectures/${{ matrix.configuration.architecture }}.crossfile"
sudo xvfb-run --auto-servernum flatpak-builder --arch=${{ matrix.configuration.architecture }} --default-branch=daily --disable-rofiles-fuse --keep-build-dirs --install-deps-from=flathub --ccache --repo=elementary /mnt/builddir --state-dir=/mnt/.flatpak-builder ./build/io.elementary.Sdk.json
- name: Fix Permissions
run: sudo chown -R runner:docker .
- name: Create Build
env:
REPO_TOKEN: ${{ secrets.FLAT_MANAGER_TOKEN }}
run: |
BUILD_ID=`flat-manager-client create https://flatpak-api.elementary.io appcenter`
echo "build_id=$BUILD_ID" >> $GITHUB_ENV
- name: Push Build
env:
REPO_TOKEN: ${{ secrets.FLAT_MANAGER_TOKEN }}
run: flat-manager-client push ${{ env.build_id }} ./elementary
- name: Commit Build
env:
REPO_TOKEN: ${{ secrets.FLAT_MANAGER_TOKEN }}
run: flat-manager-client commit --wait ${{ env.build_id }}
- name: Publish Build
env:
REPO_TOKEN: ${{ secrets.FLAT_MANAGER_TOKEN }}
run: flat-manager-client publish --wait ${{ env.build_id }}
- name: Purge Build
if: ${{ always() && env.build_id }}
env:
REPO_TOKEN: ${{ secrets.FLAT_MANAGER_TOKEN }}
run: flat-manager-client purge ${{ env.build_id }}