Skip to content

Build

Build #173

Workflow file for this run

name: Build
concurrency:
group: build-${{ github.ref }}
cancel-in-progress: true
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch: {}
pull_request:
paths-ignore:
- "**/*.md"
- "**/VERSION"
types: [opened, synchronize, reopened]
release:
types: [published]
jobs:
build_appimage:
permissions:
actions: read
security-events: write
contents: write
name: 🐞 Build Ladybird (${{ matrix.arch }})
runs-on: ${{ matrix.runs-on }}
strategy:
matrix:
include:
# - arch: aarch64
# platform: linux/arm64
# runs-on: ubuntu-24.04-arm
- arch: x86_64
platform: linux/amd64
runs-on: ubuntu-24.04
container:
image: ghcr.io/pkgforge-dev/archlinux:latest
steps:
- name: Checkout ladybird-appimage
uses: actions/checkout@v6
with:
persist-credentials: false
- name: 🐞 Build Ladybird
run: |
sh ./bin/setup.sh
sh ./bin/bundle.sh
- name: Upload AppImage Artifacts
uses: actions/upload-artifact@v6
with:
name: ladybird-appimage-${{ matrix.arch }}
retention-days: 7
path: dist
release_stable:
name: 🐞 Release Ladybird AppImage
needs:
- build_appimage
permissions:
actions: read
contents: write
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6 # zizmor: ignore[artipacked]
- name: Clean-up Old Release Assets
run: |
gh release view snapshot --json assets --jq '.assets[].name' | while read -r asset; do
if [ -n "$asset" ]; then
gh release delete-asset snapshot "${asset}" -y
fi
done
env:
GH_TOKEN: ${{ github.token }}
# - uses: actions/download-artifact@v5
# with:
# name: ladybird-appimage-aarch64
- uses: actions/download-artifact@v6
with:
name: ladybird-appimage-x86_64
- name: 🐞 Ladybird Snapshot Release
uses: softprops/action-gh-release@v2.5.0
with:
name: "🐞 Continous Release"
prerelease: false
tag_name: snapshot
target_commitish: ${{ github.sha }}
files: |
*.App*