Files
shorebird-updater/.github/workflows/main.yaml
T
Eric Seidel 6298d37d86 chore: add cspell checking and make pass (#244)
* chore: add cspell checking and make pass

* chore(shorebird_code_push): minor improvements to example (#242)

* chore(shorebird_code_push): v2.0.2 (#243)

* chore: fix cspell

---------

Co-authored-by: Felix Angelov <felix@shorebird.dev>
2024-11-20 13:50:16 -05:00

116 lines
2.9 KiB
YAML

# cspell:words dorny codecov
name: ci
on:
pull_request:
push:
branches:
- main
jobs:
semantic_pull_request:
name: ✅ Semantic Pull Request
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/semantic_pull_request.yml@v1
cspell:
name: 🔤 Check Spelling
uses: VeryGoodOpenSource/very_good_workflows/.github/workflows/spell_check.yml@v1
with:
config: cspell.config.yaml
changes:
runs-on: ubuntu-latest
permissions:
pull-requests: read
outputs:
needs_flutter_build: ${{ steps.needs_flutter_build.outputs.changes }}
needs_rust_build: ${{ steps.needs_rust_build.outputs.changes }}
name: 👀 Detect Changes
steps:
- name: 📚 Git Checkout
uses: actions/checkout@v4
- uses: dorny/paths-filter@v3
name: Build Detection
id: needs_flutter_build
with:
filters: |
shorebird_code_push:
- ./.github/workflows/main.yaml
- ./.github/actions/flutter_package/action.yaml
- shorebird_code_push/**
- uses: dorny/paths-filter@v3
name: Build Detection
id: needs_rust_build
with:
filters: |
library:
- ./.github/actions/rust_crate/action.yaml
- library/**
patch:
- ./.github/actions/rust_crate/action.yaml
- patch/**
build_rust_crates:
needs: changes
if: ${{ needs.changes.outputs.needs_rust_build != '[]' }}
strategy:
matrix:
crate: ${{ fromJSON(needs.changes.outputs.needs_rust_build) }}
runs-on: macos-latest
name: 🦀 Build ${{ matrix.crate }}
steps:
- name: 📚 Git Checkout
uses: actions/checkout@v4
- name: 🦀 Build ${{ matrix.crate }}
uses: ./.github/actions/rust_crate
with:
codecov_token: ${{ secrets.CODECOV_TOKEN }}
working_directory: ${{ matrix.crate }}
build_flutter_packages:
needs: changes
if: ${{ needs.changes.outputs.needs_flutter_build != '[]' }}
strategy:
matrix:
package: ${{ fromJSON(needs.changes.outputs.needs_flutter_build) }}
runs-on: ubuntu-latest
name: 🎯 Build ${{ matrix.package }}
steps:
- name: 📚 Git Checkout
uses: actions/checkout@v4
with:
submodules: recursive
- name: 🐦 Build ${{ matrix.package }}
uses: ./.github/actions/flutter_package
with:
codecov_token: ${{ secrets.CODECOV_TOKEN }}
coverage_excludes: "**/*.g.dart"
working_directory: ${{ matrix.package }}
ci:
needs: [semantic_pull_request, build_flutter_packages, build_rust_crates]
if: ${{ always() }}
runs-on: ubuntu-latest
steps:
- name: ⛔️ exit(1) on failure
if: ${{ contains(join(needs.*.result, ','), 'failure') }}
run: exit 1