Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
32 changes: 21 additions & 11 deletions .github/workflows/finishingbot.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: PMPL-1.0-or-later
# Finishingbot - Release readiness validation
# Part of gitbot-fleet
# Part of gitbot-fleet (hyperpolymath/gitbot-fleet :: bots/finishingbot)

name: Finishingbot Release Check

Expand All @@ -14,12 +14,12 @@ on:
branches: [main]
workflow_dispatch:

env:
# Pinned gitbot-fleet commit. Bump in lockstep when the fleet changes.
GITBOT_FLEET_REF: 2e0ea3ca67821a91e650f51bf48a6cfd1c7aae1c

jobs:
release-readiness:
# TODO: disabled — hyperpolymath/finishing-bot does not exist yet
# (the clone step targets a phantom repo, so this can never pass).
# Re-enable (remove `if: false`) once the bot repo is created/restored.
if: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
Expand All @@ -31,19 +31,29 @@ jobs:

- name: Cache dependencies
uses: Swatinem/rust-cache@ad397744b0d591a723ab90405b7247fac0e6b8db # v2
with:
workspaces: ${{ runner.temp }}/gitbot-fleet/bots/finishingbot

- name: Clone finishing-bot
- name: Fetch gitbot-fleet at pinned ref
run: |
git clone https://github.com/hyperpolymath/finishing-bot.git /tmp/finishing-bot
cd /tmp/finishing-bot
cargo build --release
git clone --no-checkout --filter=tree:0 \
https://github.com/hyperpolymath/gitbot-fleet.git \
"$RUNNER_TEMP/gitbot-fleet"
git -C "$RUNNER_TEMP/gitbot-fleet" checkout "$GITBOT_FLEET_REF"

- name: Build finishingbot
working-directory: ${{ runner.temp }}/gitbot-fleet/bots/finishingbot
env:
OPENSSL_NO_VENDOR: 1
run: cargo build --release

- name: Run finishingbot audit
id: finishingbot
continue-on-error: true
run: |
cd ${{ github.workspace }}
/tmp/finishing-bot/target/release/finishingbot audit > finishingbot-results.txt 2>&1
# The finishingbot crate's binary is `finishing-bot` (hyphenated).
"$RUNNER_TEMP/gitbot-fleet/bots/finishingbot/target/release/finishing-bot" \
--path "$GITHUB_WORKSPACE" audit > finishingbot-results.txt 2>&1
echo $? > finishingbot-exit-code.txt

- name: Display results
Expand Down
39 changes: 27 additions & 12 deletions .github/workflows/rhodibot.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: PMPL-1.0-or-later
# Rhodibot - RSR compliance checking
# Part of gitbot-fleet
# Part of gitbot-fleet (hyperpolymath/gitbot-fleet :: bots/rhodibot)

name: Rhodibot RSR Compliance

Expand All @@ -14,12 +14,13 @@ on:
branches: [main]
workflow_dispatch:

env:
# Pinned gitbot-fleet commit. Must include the `rhodibot check` CLI
# subcommand (gitbot-fleet#150). Bump in lockstep when the fleet changes.
GITBOT_FLEET_REF: 2e0ea3ca67821a91e650f51bf48a6cfd1c7aae1c

jobs:
rsr-compliance:
# TODO: disabled — hyperpolymath/rhodibot does not exist yet
# (the clone step targets a phantom repo, so this can never pass).
# Re-enable (remove `if: false`) once the bot repo is created/restored.
if: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4
Expand All @@ -31,20 +32,34 @@ jobs:

- name: Cache dependencies
uses: Swatinem/rust-cache@ad397744b0d591a723ab90405b7247fac0e6b8db # v2
with:
workspaces: ${{ runner.temp }}/gitbot-fleet/bots/rhodibot

- name: Clone rhodibot
- name: Fetch gitbot-fleet at pinned ref
run: |
git clone https://github.com/hyperpolymath/rhodibot.git /tmp/rhodibot
cd /tmp/rhodibot
cargo build --release
git clone --no-checkout --filter=tree:0 \
https://github.com/hyperpolymath/gitbot-fleet.git \
"$RUNNER_TEMP/gitbot-fleet"
git -C "$RUNNER_TEMP/gitbot-fleet" checkout "$GITBOT_FLEET_REF"

- name: Build rhodibot
working-directory: ${{ runner.temp }}/gitbot-fleet/bots/rhodibot
env:
OPENSSL_NO_VENDOR: 1
run: cargo build --release

- name: Run rhodibot check
id: rhodibot
continue-on-error: true
env:
# Public-repo read via the GitHub REST API; the built-in,
# read-only workflow token is sufficient (no PAT needed).
GITHUB_TOKEN: ${{ github.token }}
run: |
/tmp/rhodibot/target/release/rhodibot check \
--owner ${{ github.repository_owner }} \
--repo ${{ github.event.repository.name }} > rhodibot-results.txt 2>&1
"$RUNNER_TEMP/gitbot-fleet/bots/rhodibot/target/release/rhodibot" check \
--owner "${{ github.repository_owner }}" \
--repo "${{ github.event.repository.name }}" \
> rhodibot-results.txt 2>&1
echo $? > rhodibot-exit-code.txt

- name: Display results
Expand Down
50 changes: 32 additions & 18 deletions .github/workflows/seambot.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# SPDX-License-Identifier: PMPL-1.0-or-later
# Seambot - Seam hygiene and integration health
# Part of gitbot-fleet
# Part of gitbot-fleet (hyperpolymath/gitbot-fleet :: bots/seambot)

name: Seambot Integration Health

Expand All @@ -14,45 +14,59 @@ on:
branches: [main]
workflow_dispatch:

env:
# Pinned gitbot-fleet commit. Bump in lockstep when the fleet changes.
GITBOT_FLEET_REF: 2e0ea3ca67821a91e650f51bf48a6cfd1c7aae1c

jobs:
seam-health:
# TODO: disabled — hyperpolymath/seambot does not exist yet
# (the clone step targets a phantom repo, so this can never pass).
# Re-enable (remove `if: false`) once the bot repo is created/restored.
if: false
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4

- name: Check for seam register
id: check-seam
run: |
if [ -f spec/seams/seam-register.json ]; then
echo "has_seam=true" >> $GITHUB_OUTPUT
else
echo "has_seam=false" >> $GITHUB_OUTPUT
fi

- name: Setup Rust toolchain
if: steps.check-seam.outputs.has_seam == 'true'
uses: dtolnay/rust-toolchain@6d9817901c499d6b02debbb57edb38d33daa680b # stable
with:
toolchain: stable

- name: Cache dependencies
if: steps.check-seam.outputs.has_seam == 'true'
uses: Swatinem/rust-cache@ad397744b0d591a723ab90405b7247fac0e6b8db # v2
with:
workspaces: ${{ runner.temp }}/gitbot-fleet/bots/seambot

- name: Clone seambot
- name: Fetch gitbot-fleet at pinned ref
if: steps.check-seam.outputs.has_seam == 'true'
run: |
git clone https://github.com/hyperpolymath/seambot.git /tmp/seambot
cd /tmp/seambot
cargo build --release
git clone --no-checkout --filter=tree:0 \
https://github.com/hyperpolymath/gitbot-fleet.git \
"$RUNNER_TEMP/gitbot-fleet"
git -C "$RUNNER_TEMP/gitbot-fleet" checkout "$GITBOT_FLEET_REF"

- name: Check for seam register
id: check-seam
run: |
if [ -f spec/seams/seam-register.json ]; then
echo "has_seam=true" >> $GITHUB_OUTPUT
else
echo "has_seam=false" >> $GITHUB_OUTPUT
fi
- name: Build seambot
if: steps.check-seam.outputs.has_seam == 'true'
working-directory: ${{ runner.temp }}/gitbot-fleet/bots/seambot
env:
OPENSSL_NO_VENDOR: 1
run: cargo build --release

- name: Run seambot check
if: steps.check-seam.outputs.has_seam == 'true'
id: seambot
continue-on-error: true
run: |
/tmp/seambot/target/release/seambot check > seambot-results.txt 2>&1
"$RUNNER_TEMP/gitbot-fleet/bots/seambot/target/release/seambot" check \
> seambot-results.txt 2>&1
echo $? > seambot-exit-code.txt

- name: Display results
Expand Down
Loading