Skip to content

CI Integration

Geert Bevin edited this page Apr 5, 2024 · 7 revisions

bld works just as well on the command line as in CI.

GitLab Pipeline

Here's an example GitLab pipeline to compile and test a bld project:

image: openjdk:20

build:
  stage: build
  script: ./bld download compile
  cache:
    key: "$CI_COMMIT_REF_NAME"
    policy: push
    paths:
      - build
      - lib

test:
  stage: test
  script: ./bld test
  cache:
    key: "$CI_COMMIT_REF_NAME"
    policy: pull
    paths:
      - build
      - lib

GitHub Workflow

Here's an example of a GitHub workflow action to compile and test a bld project:

name: bld-ci

on: [ push, pull_request, workflow_dispatch ]

jobs:
  build-bld-project:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        java-version: [ 17, 20 ]

    steps:
      - name: Checkout source repository
        uses: actions/checkout@v3
        with:
          fetch-depth: 0

      - name: Set up JDK ${{ matrix.java-version }}
        uses: actions/setup-java@v3
        with:
          distribution: 'zulu'
          java-version: ${{ matrix.java-version }}

      - name: Grant execute permission for bld
        run: chmod +x bld

      - name: Download the dependencies
        run: ./bld download

      - name: Run tests with bld
        run: ./bld compile test

CircleCI Pipeline

Here's an example CircleCI pipeline to compile and test a bld project:

version: 2
defaults: &defaults
  working_directory: ~/repo
  environment:
    TERM: dumb

defaults_bld: &defaults_bld
  steps:
    - checkout
    - run:
        name: Download the dependencies
        command: ./bld download
    - run:
        name: Run tests with bld
        command: ./bld compile test

jobs:
  bld_jdk20:
    <<: *defaults

    docker:
      - image: cimg/openjdk:20.0

    <<: *defaults_bld

  bld_jdk17:
    <<: *defaults

    docker:
      - image: cimg/openjdk:17.0

    <<: *defaults_bld

workflows:
  version: 2
  bld:
    jobs:
      - bld_jdk17
      - bld_jdk20

Bitbucket Pipeline

Here's an example Bitbucket pipeline to compile and test a bld project:

image: openjdk:17

pipelines:
  default:
    - step:
        name: Test with bld
        script:
          - ./bld download
          - ./bld compile
          - ./bld test

Next learn more about Publishing

Clone this wiki locally