refactor(updater): conform to new backend interfaces (#90)
This commit is contained in:
@@ -1,38 +1,39 @@
|
||||
name: Dart Package Workflow
|
||||
description: Build and test your Dart packages.
|
||||
|
||||
inputs:
|
||||
concurrency:
|
||||
required: false
|
||||
type: number
|
||||
default: 4
|
||||
default: "4"
|
||||
description: The value of the concurrency flag (-j) used when running tests
|
||||
coverage_excludes:
|
||||
required: false
|
||||
type: string
|
||||
default: ""
|
||||
description: Globs to exclude from coverage
|
||||
dart_sdk:
|
||||
required: false
|
||||
type: string
|
||||
default: "stable"
|
||||
description: "The dart sdk version to use"
|
||||
working_directory:
|
||||
required: false
|
||||
type: string
|
||||
default: "."
|
||||
description: The working directory for this workflow
|
||||
min_coverage:
|
||||
required: false
|
||||
type: number
|
||||
default: 100
|
||||
default: "100"
|
||||
description: The minimum coverage percentage value
|
||||
analyze_directories:
|
||||
required: false
|
||||
type: string
|
||||
default: "lib test"
|
||||
description: Directories to analyze
|
||||
report_on:
|
||||
required: false
|
||||
type: string
|
||||
default: "lib"
|
||||
description: Directories to report on when collecting coverage
|
||||
platform:
|
||||
required: false
|
||||
type: string
|
||||
default: "vm"
|
||||
description: Platform to use when running tests
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
name: Rust Crate Workflow
|
||||
description: Build and test your Rust crate
|
||||
|
||||
inputs:
|
||||
working_directory:
|
||||
required: false
|
||||
default: "."
|
||||
description: The working directory for this workflow.
|
||||
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Build
|
||||
working-directory: ${{ inputs.working_directory }}
|
||||
shell: ${{ inputs.shell }}
|
||||
run: cargo build --verbose
|
||||
|
||||
- name: Test
|
||||
working-directory: ${{ inputs.working_directory }}
|
||||
shell: ${{ inputs.shell }}
|
||||
run: cargo test --verbose
|
||||
@@ -17,7 +17,8 @@ jobs:
|
||||
pull-requests: read
|
||||
|
||||
outputs:
|
||||
needs_build: ${{ steps.needs_build.outputs.changes }}
|
||||
needs_dart_build: ${{ steps.needs_dart_build.outputs.changes }}
|
||||
needs_rust_build: ${{ steps.needs_rust_build.outputs.changes }}
|
||||
needs_verify: ${{ steps.needs_verify.outputs.changes }}
|
||||
|
||||
name: 👀 Detect Changes
|
||||
@@ -28,7 +29,7 @@ jobs:
|
||||
|
||||
- uses: dorny/paths-filter@v2
|
||||
name: Build Detection
|
||||
id: needs_build
|
||||
id: needs_dart_build
|
||||
with:
|
||||
filters: |
|
||||
shorebird_cli:
|
||||
@@ -42,6 +43,15 @@ jobs:
|
||||
- ./.github/actions/dart_package
|
||||
- packages/shorebird_code_push_protocol/**
|
||||
|
||||
- uses: dorny/paths-filter@v2
|
||||
name: Build Detection
|
||||
id: needs_rust_build
|
||||
with:
|
||||
filters: |
|
||||
updater:
|
||||
- ./.github/actions/rust
|
||||
- updater/**
|
||||
|
||||
- uses: dorny/paths-filter@v2
|
||||
name: Verify Detection
|
||||
id: needs_verify
|
||||
@@ -51,13 +61,13 @@ jobs:
|
||||
- ./.github/actions/dart_package
|
||||
- packages/shorebird_cli/**
|
||||
|
||||
build_packages:
|
||||
build_dart_packages:
|
||||
needs: changes
|
||||
if: ${{ needs.changes.outputs.needs_build != '[]' }}
|
||||
if: ${{ needs.changes.outputs.needs_dart_build != '[]' }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
package: ${{ fromJSON(needs.changes.outputs.needs_build) }}
|
||||
package: ${{ fromJSON(needs.changes.outputs.needs_dart_build) }}
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
@@ -72,6 +82,27 @@ jobs:
|
||||
with:
|
||||
working_directory: packages/${{ matrix.package }}
|
||||
|
||||
build_rust_crates:
|
||||
needs: changes
|
||||
if: ${{ needs.changes.outputs.needs_rust_build != '[]' }}
|
||||
|
||||
strategy:
|
||||
matrix:
|
||||
crate: ${{ fromJSON(needs.changes.outputs.needs_rust_build) }}
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
name: 🦀 Build ${{ matrix.crate }}
|
||||
|
||||
steps:
|
||||
- name: 📚 Git Checkout
|
||||
uses: actions/checkout@v3
|
||||
|
||||
- name: 🦀 Build ${{ matrix.package }}
|
||||
uses: ./.github/actions/rust_crate
|
||||
with:
|
||||
working_directory: ${{ matrix.crate }}
|
||||
|
||||
verify_packages:
|
||||
needs: changes
|
||||
if: ${{ needs.changes.outputs.needs_verify != '[]' }}
|
||||
@@ -94,7 +125,8 @@ jobs:
|
||||
working_directory: packages/${{ matrix.package }}
|
||||
|
||||
ci:
|
||||
needs: [semantic_pull_request, build_packages, verify_packages]
|
||||
needs:
|
||||
[semantic_pull_request, build_dart_packages, build_rust_crates, verify_packages]
|
||||
if: ${{ always() }}
|
||||
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
Reference in New Issue
Block a user