Skip to content

Spread (manual - large/flaky) #41

Spread (manual - large/flaky)

Spread (manual - large/flaky) #41

name: Spread (manual - large/flaky)
on:
pull_request:
types: [ labeled ]
schedule:
- cron: "0 2 * * 0,3" # run at 2 AM on Sundays and Wednesdays
jobs:
snap-build:
if: ${{ github.event.label.name == 'run-manual-spread' || github.event_name == 'schedule' }}
runs-on: ubuntu-22.04
steps:
- name: Checkout code
uses: actions/checkout@v4
with:
fetch-depth: 0
- name: Build snap
uses: snapcore/action-build@v1
id: rockcraft
- name: Upload snap artifact
uses: actions/upload-artifact@v4
with:
name: snap
path: ${{ steps.rockcraft.outputs.snap }}
snap-tests:
if: ${{ github.event.label.name == 'run-manual-spread' || github.event_name == 'schedule' }}
runs-on: [self-hosted, spread-installed]
needs: [snap-build]
steps:
- name: Cleanup job workspace
run: |
rm -rf "${{ github.workspace }}"
mkdir "${{ github.workspace }}"
- name: Checkout rockcraft
uses: actions/checkout@v4
with:
fetch-depth: 0
submodules: true
- name: Download snap artifact
uses: actions/download-artifact@v4
with:
name: snap
path: tests
- name: Run spread (large/flaky)
run: spread tests/spread/manual/
- name: Discard spread workers
if: always()
run: |
shopt -s nullglob
for r in .spread-reuse.*.yaml; do
spread -discard -reuse-pid="$(echo "$r" | grep -o -E '[0-9]+')"
done