diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 85f2cd73..ebb42c75 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -13,26 +13,16 @@ permissions: jobs: checks: + uses: Workiva/gha-dart-oss/.github/workflows/checks.yaml@v0.1.0 + + sbom: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - uses: dart-lang/setup-dart@v1 with: sdk: 2.19.6 - - - run: dart pub get - - - name: Analyze - run: dart run dart_dev analyze - - - name: Format - run: dart run dart_dev format --check - - - name: Validate Dependencies - run: dart run dependency_validator - - - name: Generate SBOM - uses: anchore/sbom-action@v0 + - uses: anchore/sbom-action@v0 with: path: ./ format: cyclonedx-json @@ -40,7 +30,7 @@ jobs: snapshots: runs-on: ubuntu-latest steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 - name: Install scip cli run: | bash -c 'curl -L "https://github.com/sourcegraph/scip/releases/download/v0.3.3/scip-linux-amd64.tar.gz"' | tar xzf - scip @@ -83,12 +73,12 @@ jobs: consumer: runs-on: ubuntu-latest strategy: + fail-fast: false matrix: - repo: [ - "Workiva/over_react", - "Workiva/w_module", - "rrousselGit/provider", - "dart-lang/args", + consumer: [ + { repo: "Workiva/over_react" }, + { repo: "Workiva/w_module" }, + { repo: "dart-lang/args", ref: "v2.4.2" } # master requires dart 3 ] steps: @@ -100,12 +90,13 @@ jobs: - run: dart pub get # Setup repo to run on - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: - repo: ${{ matrix.repo }} - path: ${{ matrix.repo }} + repository: ${{ matrix.consumer.repo }} + path: ${{ matrix.consumer.repo}} + ref: ${{ matrix.consumer.ref || 'master' }} - run: dart pub get - working-directory: ${{ matrix.repo }} + working-directory: ${{ matrix.consumer.repo }} - run: | - dart run scip_dart ./${{ matrix.repo }} || exit 1 + dart run scip_dart ./${{ matrix.consumer.repo }} || exit 1 diff --git a/.github/workflows/publish.yaml b/.github/workflows/publish.yaml new file mode 100644 index 00000000..972a5ea2 --- /dev/null +++ b/.github/workflows/publish.yaml @@ -0,0 +1,16 @@ +name: Publish + +on: + push: + tags: + - '[0-9]+.[0-9]+.[0-9]+' + +permissions: + contents: write + id-token: write + pull-requests: write + +jobs: + # Generates and uploads sbom, and publishes to pub.dev + publish: + uses: Workiva/gha-dart-oss/.github/workflows/publish.yaml@v0.1.0 \ No newline at end of file