mirror of
https://github.com/bherbruck/solidcraft.git
synced 2026-11-14 20:50:45 +00:00
e11055b6e3
* CI and release: every Linux and Windows job runs on Blacksmith Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Release: macOS builds on Blacksmith's macOS 15 runners too Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * Release on Blacksmith: fix the FreeBSD, Flatpak and Snap jobs, drop the icons job - FreeBSD: the VM action syncs $HOME/work and cds into $GITHUB_WORKSPACE, which only works where the checkout lives under $HOME/work (GitHub's runners; Blacksmith's is under $HOME/_work). The action now only starts the VM (sync: no); rsync copies the source in and dist/release out. The VM is sized from the runner, on a 16 vCPU runner. - Flatpak: the AppArmor user-namespace sysctl is only set where it exists. - Snap: installing snapcraft retries Snap Store timeouts (HTTP 408). - The icons job goes: make_icons only copies the committed icon files and package.ps1 falls back to the same committed solidcraft.ico, so Windows no longer waits for it. - actionlint knows the new runner labels. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
41 lines
1.3 KiB
YAML
41 lines
1.3 KiB
YAML
# Publishing a GitHub release (not a prerelease) promotes the snaps that release.yml uploaded to
|
|
# the Snap Store's candidate channel to stable, so `sudo snap install solidcraft` gets it.
|
|
# Skipped until the owner adds the SNAPCRAFT_STORE_CREDENTIALS secret; see docs/releasing.md.
|
|
name: Snap Store
|
|
|
|
on:
|
|
release:
|
|
types: [released]
|
|
workflow_dispatch:
|
|
|
|
permissions:
|
|
contents: read
|
|
|
|
concurrency:
|
|
group: snap-store
|
|
cancel-in-progress: false
|
|
|
|
jobs:
|
|
promote:
|
|
runs-on: blacksmith-2vcpu-ubuntu-2404
|
|
steps:
|
|
- id: creds
|
|
name: Check for Snap Store credentials
|
|
env:
|
|
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_STORE_CREDENTIALS }}
|
|
run: |
|
|
if [ -n "$SNAPCRAFT_STORE_CREDENTIALS" ]; then
|
|
echo "configured=true" >>"$GITHUB_OUTPUT"
|
|
else
|
|
echo "No SNAPCRAFT_STORE_CREDENTIALS secret: nothing to promote."
|
|
fi
|
|
- name: Promote candidate to stable
|
|
if: steps.creds.outputs.configured == 'true'
|
|
env:
|
|
SNAPCRAFT_STORE_CREDENTIALS: ${{ secrets.SNAPCRAFT_STORE_CREDENTIALS }}
|
|
run: |
|
|
sudo snap install snapcraft --classic
|
|
snapcraft status solidcraft
|
|
snapcraft promote solidcraft --from-channel=latest/candidate --to-channel=latest/stable --yes
|
|
snapcraft status solidcraft
|