chore(deps): update dependency bun to v1.3.8 #784
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: CI | |
| on: | |
| push: | |
| branches: | |
| - main | |
| - setup/** | |
| pull_request: | |
| branches: | |
| - main | |
| jobs: | |
| format-check: | |
| name: Format Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install mise | |
| uses: jdx/mise-action@v3 | |
| with: | |
| version: 2026.1.1 | |
| - name: Check formatting | |
| run: mise run fmt-check | |
| lint: | |
| name: Lint | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install mise | |
| uses: jdx/mise-action@v3 | |
| with: | |
| version: 2026.1.1 | |
| - name: Set up Go workspace | |
| run: mise run workspace:setup | |
| - name: Install golangci-lint from source | |
| run: | | |
| # Build golangci-lint from source to support Go 1.25.5 | |
| # Pre-built binaries don't support Go 1.25 yet | |
| go install github.com/golangci/golangci-lint/cmd/golangci-lint@latest | |
| - name: Run linters | |
| run: mise run lint | |
| typecheck: | |
| name: Type Check | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install mise | |
| uses: jdx/mise-action@v3 | |
| with: | |
| version: 2026.1.1 | |
| - name: Run type checks | |
| run: mise run typecheck | |
| check: | |
| name: All Checks | |
| runs-on: ubuntu-latest | |
| needs: [format-check, lint, typecheck] | |
| steps: | |
| - name: All checks passed | |
| run: echo "All checks passed!" | |
| test: | |
| name: Test | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install mise | |
| uses: jdx/mise-action@v3 | |
| with: | |
| version: 2026.1.1 | |
| # On Windows, use inline mise tasks (file-based tasks don't work on Windows) | |
| - name: Set up Go workspace (Windows) | |
| if: runner.os == 'Windows' | |
| run: mise run windows:workspace-setup | |
| - name: Set up Go workspace (Unix) | |
| if: runner.os != 'Windows' | |
| run: mise run workspace:setup | |
| - name: Run tests (Windows) | |
| if: runner.os == 'Windows' | |
| run: mise run windows:test | |
| - name: Run tests with coverage and JUnit reports (Unix) | |
| if: runner.os != 'Windows' | |
| run: mise run test-junit | |
| - name: Upload coverage artifact | |
| if: matrix.os == 'ubuntu-latest' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: code-coverage | |
| path: coverage.out | |
| retention-days: 7 | |
| - name: Upload test results | |
| if: always() && matrix.os != 'windows-latest' | |
| uses: actions/upload-artifact@v6 | |
| with: | |
| name: test-results-${{ matrix.os }} | |
| path: test-results/*.xml | |
| retention-days: 7 | |
| - name: Publish test results | |
| if: always() && matrix.os != 'windows-latest' | |
| uses: test-summary/action@v2.4 | |
| with: | |
| paths: "test-results/*.xml" | |
| show: "all" | |
| - name: Upload to Codecov | |
| if: matrix.os == 'ubuntu-latest' | |
| uses: codecov/codecov-action@v5 | |
| with: | |
| files: ./coverage.out | |
| fail_ci_if_error: false | |
| token: ${{ secrets.CODECOV_TOKEN }} | |
| build: | |
| name: Build | |
| runs-on: ${{ matrix.os }} | |
| strategy: | |
| matrix: | |
| os: [ubuntu-latest, macos-latest, windows-latest] | |
| arch: [amd64, arm64] | |
| exclude: | |
| # Windows arm64 builds aren't well supported in GitHub Actions yet | |
| - os: windows-latest | |
| arch: arm64 | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install mise | |
| uses: jdx/mise-action@v3 | |
| with: | |
| version: 2026.1.1 | |
| # On Windows, use inline mise tasks (file-based tasks don't work on Windows) | |
| - name: Set up Go workspace (Windows) | |
| if: runner.os == 'Windows' | |
| run: mise run windows:workspace-setup | |
| - name: Set up Go workspace (Unix) | |
| if: runner.os != 'Windows' | |
| run: mise run workspace:setup | |
| - name: Build binary (Windows) | |
| if: runner.os == 'Windows' | |
| env: | |
| GOARCH: ${{ matrix.arch }} | |
| run: mise run windows:build | |
| - name: Build binary (Unix) | |
| if: runner.os != 'Windows' | |
| env: | |
| GOOS: ${{ matrix.os == 'ubuntu-latest' && 'linux' || 'darwin' }} | |
| GOARCH: ${{ matrix.arch }} | |
| run: mise run build | |
| - name: Test binary execution | |
| if: matrix.arch == 'amd64' | |
| run: | | |
| ./bin/morphir${{ matrix.os == 'windows-latest' && '.exe' || '' }} --version | |
| verify: | |
| name: Verify All Modules | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install mise | |
| uses: jdx/mise-action@v3 | |
| with: | |
| version: 2026.1.1 | |
| - name: Set up Go workspace | |
| run: mise run workspace:setup | |
| - name: Verify Go modules build | |
| run: mise run verify:modules | |
| coverage-report: | |
| name: Coverage Report | |
| if: github.event_name == 'pull_request' | |
| runs-on: ubuntu-latest | |
| needs: test | |
| permissions: | |
| contents: read | |
| actions: read | |
| pull-requests: write | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Download coverage artifact | |
| uses: actions/download-artifact@v7 | |
| with: | |
| name: code-coverage | |
| - name: Post coverage comment | |
| uses: fgrosse/go-coverage-report@v1.2.0 | |
| continue-on-error: true # Allow failure if baseline coverage doesn't exist yet | |
| with: | |
| coverage-artifact-name: "code-coverage" | |
| coverage-file-name: "coverage.out" | |
| root-package: "github.com/finos/morphir" | |
| integration-test: | |
| name: Integration Tests | |
| runs-on: ubuntu-latest | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install mise | |
| uses: jdx/mise-action@v3 | |
| with: | |
| version: 2026.1.1 | |
| - name: Set up Go workspace | |
| run: mise run workspace:setup | |
| - name: Run morphir-elm integration tests | |
| run: mise run test:integration-morphir-elm | |
| - name: Run all integration tests | |
| run: mise run test:integration | |
| test-external-consumption: | |
| name: Test External Consumption (Release PRs) | |
| runs-on: ubuntu-latest | |
| if: github.event_name == 'pull_request' && (contains(github.event.pull_request.title, 'release') || contains(github.event.pull_request.labels.*.name, 'release')) | |
| steps: | |
| - name: Checkout code | |
| uses: actions/checkout@v6 | |
| - name: Install mise | |
| uses: jdx/mise-action@v3 | |
| with: | |
| version: 2026.1.1 | |
| - name: Test cmd/morphir builds without go.work | |
| run: mise run test-external |