Skip to content
3 changes: 3 additions & 0 deletions .coderabbit.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,10 @@
# CodeRabbit Configuration
# Inherits from: https://github.com/host-uk/coderabbit/.coderabbit.yaml
# Manual trigger only: @coderabbitai review

reviews:
auto_review:
enabled: false
review_status: false

path_instructions:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/agent-verify.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: Agent Verification Workflow
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#issues
name: "Agent Verification: Issue Labeled"

on:
issues:
Expand Down
92 changes: 92 additions & 0 deletions .github/workflows/alpha-release-manual.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch
name: "Alpha Release: Manual"

on:
workflow_dispatch:

permissions:
contents: write
id-token: write
attestations: write

env:
NEXT_VERSION: "0.0.4"

jobs:
build:
strategy:
matrix:
include:
- os: ubuntu-latest
platform: linux/amd64
- os: ubuntu-latest
platform: linux/arm64
- os: macos-latest
platform: darwin/universal
- os: windows-latest
platform: windows/amd64
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6

- name: Build
uses: host-uk/build@v3
with:
build-name: core
build-platform: ${{ matrix.platform }}
build: true
package: true
sign: false

release:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Download artifacts
uses: actions/download-artifact@v7
with:
path: dist
merge-multiple: true

- name: Prepare release files
run: |
mkdir -p release
cp dist/* release/ 2>/dev/null || true
ls -la release/

- name: Create alpha release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
VERSION="v${{ env.NEXT_VERSION }}-alpha.${{ github.run_number }}"

gh release create "$VERSION" \
--title "Alpha: $VERSION" \
--notes "Canary build from dev branch.

**Version:** $VERSION
**Commit:** ${{ github.sha }}
**Built:** $(date -u +'%Y-%m-%d %H:%M:%S UTC')
**Run:** ${{ github.run_id }}

## Channel: Alpha (Canary)

This is an automated pre-release for early testing.

- Systems and early adopters can test breaking changes
- Quality scoring determines promotion to beta
- Use stable releases for production

## Installation

\`\`\`bash
# macOS/Linux
curl -fsSL https://github.com/host-uk/core/releases/download/$VERSION/core-linux-amd64 -o core
chmod +x core && sudo mv core /usr/local/bin/
\`\`\`
" \
--prerelease \
--target dev \
release/*
93 changes: 93 additions & 0 deletions .github/workflows/alpha-release-push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#push
name: "Alpha Release: Push"

on:
push:
branches: [dev]

permissions:
contents: write
id-token: write
attestations: write

env:
NEXT_VERSION: "0.0.4"

jobs:
build:
strategy:
matrix:
include:
- os: ubuntu-latest
platform: linux/amd64
- os: ubuntu-latest
platform: linux/arm64
- os: macos-latest
platform: darwin/universal
- os: windows-latest
platform: windows/amd64
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v6

- name: Build
uses: host-uk/build@v3
with:
build-name: core
build-platform: ${{ matrix.platform }}
build: true
package: true
sign: false

release:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Download artifacts
uses: actions/download-artifact@v7
with:
path: dist
merge-multiple: true

- name: Prepare release files
run: |
mkdir -p release
cp dist/* release/ 2>/dev/null || true
ls -la release/

- name: Create alpha release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
VERSION="v${{ env.NEXT_VERSION }}-alpha.${{ github.run_number }}"

gh release create "$VERSION" \
--title "Alpha: $VERSION" \
--notes "Canary build from dev branch.

**Version:** $VERSION
**Commit:** ${{ github.sha }}
**Built:** $(date -u +'%Y-%m-%d %H:%M:%S UTC')
**Run:** ${{ github.run_id }}

## Channel: Alpha (Canary)

This is an automated pre-release for early testing.

- Systems and early adopters can test breaking changes
- Quality scoring determines promotion to beta
- Use stable releases for production

## Installation

\`\`\`bash
# macOS/Linux
curl -fsSL https://github.com/host-uk/core/releases/download/$VERSION/core-linux-amd64 -o core
chmod +x core && sudo mv core /usr/local/bin/
\`\`\`
" \
--prerelease \
--target dev \
release/*
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Dev Release
name: Alpha Release

on:
push:
Expand All @@ -7,9 +7,12 @@ on:

permissions:
contents: write
id-token: write
attestations: write

env:
CORE_VERSION: dev
# Next version - update when releasing
NEXT_VERSION: "0.0.4"

jobs:
build:
Expand All @@ -26,10 +29,10 @@ jobs:
platform: windows/amd64
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Build
uses: host-uk/build@dev
uses: host-uk/build@v3
with:
build-name: core
build-platform: ${{ matrix.platform }}
Expand All @@ -41,10 +44,10 @@ jobs:
needs: build
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/checkout@v6

- name: Download artifacts
uses: actions/download-artifact@v4
uses: actions/download-artifact@v7
with:
path: dist
merge-multiple: true
Expand All @@ -55,34 +58,37 @@ jobs:
cp dist/* release/ 2>/dev/null || true
ls -la release/
Comment thread
Snider marked this conversation as resolved.

- name: Delete existing dev release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: gh release delete dev -y || true

- name: Delete existing dev tag
run: git push origin :refs/tags/dev || true

- name: Create dev release
- name: Create alpha release
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
gh release create dev \
--title "Development Build" \
--notes "Latest development build from the dev branch.
VERSION="v${{ env.NEXT_VERSION }}-alpha.${{ github.run_number }}"

gh release create "$VERSION" \
--title "Alpha: $VERSION" \
--notes "Canary build from dev branch.

**Version:** $VERSION
**Commit:** ${{ github.sha }}
**Built:** $(date -u +'%Y-%m-%d %H:%M:%S UTC')
**Run:** ${{ github.run_id }}

## Channel: Alpha (Canary)

This is an automated pre-release for early testing.

- Systems and early adopters can test breaking changes
- Quality scoring determines promotion to beta
- Use stable releases for production

## Installation

\`\`\`bash
# macOS/Linux
curl -fsSL https://github.com/host-uk/core/releases/download/dev/core-linux-amd64 -o core
curl -fsSL https://github.com/host-uk/core/releases/download/$VERSION/core-linux-amd64 -o core
chmod +x core && sudo mv core /usr/local/bin/
\`\`\`

This is a pre-release for testing. Use tagged releases for production." \
" \
--prerelease \
--target dev \
release/*
3 changes: 2 additions & 1 deletion .github/workflows/auto-label.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: Auto Label Issues
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#issues
name: "Auto Label: Issue Created/Edited"

on:
issues:
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/auto-project.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
name: Auto-add to Project
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#issues
name: "Auto Project: Issue Created/Labeled"

on:
issues:
Expand Down
41 changes: 41 additions & 0 deletions .github/workflows/ci-manual.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#workflow_dispatch
name: "CI: Manual"

on:
workflow_dispatch:

env:
CORE_VERSION: dev

jobs:
qa:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6

- name: Set up Go
uses: actions/setup-go@v6
with:
go-version-file: 'go.mod'

- name: Install system dependencies
run: |
sudo apt-get update
sudo apt-get install -y libgtk-3-dev libwebkit2gtk-4.1-dev

- name: Build core CLI
run: |
go build -ldflags "-X github.com/host-uk/core/pkg/cli.AppVersion=${{ env.CORE_VERSION }}" -o /usr/local/bin/core .
core --version

- name: Generate code
run: go generate ./internal/cmd/updater/...

- name: Run QA
# Skip lint until golangci-lint supports Go 1.25
run: core go qa --skip=lint

- name: Verify build
run: |
core build --targets=linux/amd64 --ci
dist/linux_amd64/core --version
Comment on lines +12 to +41

Check warning

Code scanning / CodeQL

Workflow does not contain permissions Medium

Actions job or workflow does not limit the permissions of the GITHUB_TOKEN. Consider setting an explicit permissions block, using the following as a minimal starting point: {contents: read}
Loading
Loading