feat(boatstack): let users ignore past deliveries in ambiguity resolution #133
Workflow file for this run
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| name: Verify Boatstack lab | |
| on: | |
| pull_request: | |
| paths: | |
| - "labs/12-product-engineering-loop/**" | |
| - ".github/workflows/boatstack-lab.yml" | |
| push: | |
| branches: [main] | |
| paths: | |
| - "labs/12-product-engineering-loop/**" | |
| - ".github/workflows/boatstack-lab.yml" | |
| workflow_dispatch: | |
| permissions: | |
| contents: read | |
| concurrency: | |
| group: boatstack-lab-${{ github.workflow }}-${{ github.ref }} | |
| cancel-in-progress: true | |
| jobs: | |
| runtime: | |
| name: Runtime (${{ matrix.os }}) | |
| strategy: | |
| fail-fast: false | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| runs-on: ${{ matrix.os }} | |
| defaults: | |
| run: | |
| working-directory: labs/12-product-engineering-loop/product-engineering-loop | |
| steps: | |
| - uses: actions/checkout@v7 | |
| - uses: actions/setup-go@v7 | |
| with: | |
| go-version-file: labs/12-product-engineering-loop/product-engineering-loop/go.mod | |
| cache-dependency-path: labs/12-product-engineering-loop/product-engineering-loop/go.mod | |
| - name: Show toolchain | |
| run: go version | |
| - name: Test runtime | |
| run: go test ./... | |
| - name: Build helper | |
| run: go build ./cmd/boatstack-helper | |
| - name: Validate Bash installer | |
| if: runner.os != 'Windows' | |
| shell: bash | |
| run: bash -n ../boatstack-distribution/install.sh.template | |
| - name: Validate PowerShell installer | |
| if: runner.os == 'Windows' | |
| shell: pwsh | |
| run: | | |
| $tokens = $null | |
| $errors = $null | |
| $path = Resolve-Path ../boatstack-distribution/install.ps1.template | |
| [System.Management.Automation.Language.Parser]::ParseFile($path, [ref]$tokens, [ref]$errors) > $null | |
| if ($errors.Count -gt 0) { | |
| $errors | ForEach-Object { Write-Error $_ } | |
| exit 1 | |
| } | |
| projection: | |
| name: Generated distribution | |
| runs-on: ubuntu-latest | |
| steps: | |
| - uses: actions/checkout@v7 | |
| with: | |
| fetch-depth: 0 | |
| - uses: actions/setup-go@v7 | |
| with: | |
| go-version-file: labs/12-product-engineering-loop/product-engineering-loop/go.mod | |
| cache-dependency-path: labs/12-product-engineering-loop/product-engineering-loop/go.mod | |
| - uses: actions/setup-python@v6 | |
| with: | |
| python-version: "3.11" | |
| - name: Require an append-only release message | |
| if: github.event_name == 'pull_request' | |
| run: >- | |
| python labs/12-product-engineering-loop/scripts/release_notes.py check-policy | |
| --repo . | |
| --base "${{ github.event.pull_request.base.sha }}" | |
| --head "${{ github.event.pull_request.head.sha }}" | |
| - name: Verify projection and public surface | |
| run: python -m unittest discover -s labs/12-product-engineering-loop/tests -p 'test_*.py' |