Skip to content

Build with docker and sh rather than nix (#10) #6

Build with docker and sh rather than nix (#10)

Build with docker and sh rather than nix (#10) #6

Workflow file for this run

name: Build
on:
push:
tags:
- '*'
jobs:
ocaml-lsp-server-build-script:
name: ocaml-lsp-server binaries via build.sh
permissions:
contents: write
strategy:
matrix:
os: [macos-14, macos-13]
ocaml: ["5.2.1", "5.2.0", "5.1.1"]
include:
- os: macos-14
version: "1.19.0"
ocaml: "5.2.1"
target_triple: aarch64-apple-darwin
- os: macos-14
version: "1.19.0"
ocaml: "5.2.0"
target_triple: aarch64-apple-darwin
- os: macos-14
version: "1.18.0"
ocaml: "5.1.1"
target_triple: aarch64-apple-darwin
- os: macos-13
version: "1.19.0"
ocaml: "5.2.1"
target_triple: x86_64-apple-darwin
- os: macos-13
version: "1.19.0"
ocaml: "5.2.0"
target_triple: x86_64-apple-darwin
- os: macos-13
version: "1.18.0"
ocaml: "5.1.1"
target_triple: x86_64-apple-darwin
runs-on: ${{ matrix.os }}
steps:
- name: Set-up OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5
- uses: actions/checkout@v4
- name: Build ocaml-lsp-server
run: |
TAG=${{ github.ref_name }} TARGET=${{ matrix.target_triple }} OCAML_VERSION=${{ matrix.ocaml }} OCAML_LSP_SERVER_VERSION=${{ matrix.version }} OUTPUT=$(pwd)/ocaml-lsp-server.${{ matrix.version }}+binary-ocaml-${{ matrix.ocaml }}-built-${{ github.ref_name }}-${{ matrix.target_triple }}.tar.gz build-scripts/ocaml-lsp-server/build.sh
- uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: "*.tar.gz"
ocaml-lsp-server-dockerfile:
name: ocaml-lsp-server binaries via docker
permissions:
contents: write
strategy:
matrix:
os: [ubuntu-latest]
ocaml: ["5.2.1", "5.2.0", "5.1.1"]
include:
- os: ubuntu-latest
version: "1.19.0"
ocaml: "5.2.1"
target_triple: x86_64-unknown-linux-musl
- os: ubuntu-latest
version: "1.19.0"
ocaml: "5.2.0"
target_triple: x86_64-unknown-linux-musl
- os: ubuntu-latest
version: "1.18.0"
ocaml: "5.1.1"
target_triple: x86_64-unknown-linux-musl
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Build ocamlformat
run: |
docker buildx build build-scripts/ocaml-lsp-server --target=export --output type=local,dest=$(pwd)/out/ --build-arg TAG=${{ github.ref_name }} --build-arg TARGET=${{ matrix.target_triple }} --build-arg OCAML_VERSION=${{ matrix.ocaml }} --build-arg OCAML_LSP_SERVER_VERSION=${{ matrix.version }}
- uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: "out/*.tar.gz"
ocamlformat-build-script:
name: ocamlformat binaries via build.sh
permissions:
contents: write
strategy:
matrix:
os: [macos-14, macos-13]
ocaml: ["5.2.1", "5.1.1"]
include:
- os: ubuntu-latest
version: "0.26.2"
ocaml: "5.2.1"
target_triple: x86_64-unknown-linux-musl
- os: macos-13
version: "0.26.2"
ocaml: "5.2.1"
target_triple: x86_64-apple-darwin
- os: macos-14
version: "0.26.2"
ocaml: "5.2.1"
target_triple: aarch64-apple-darwin
- os: ubuntu-latest
version: "0.26.1"
ocaml: "5.1.1"
target_triple: x86_64-unknown-linux-musl
- os: macos-13
version: "0.26.1"
ocaml: "5.1.1"
target_triple: x86_64-apple-darwin
- os: macos-14
version: "0.26.1"
ocaml: "5.1.1"
target_triple: aarch64-apple-darwin
runs-on: ${{ matrix.os }}
steps:
- name: Set-up OCaml
uses: ocaml/setup-ocaml@v3
with:
ocaml-compiler: 5
- uses: actions/checkout@v4
- name: Build ocamlformat
run: |
TAG=${{ github.ref_name }} TARGET=${{ matrix.target_triple }} OCAML_VERSION=${{ matrix.ocaml }} OCAMLFORMAT_VERSION=${{ matrix.version }} OUTPUT=$(pwd)/ocamlformat.${{ matrix.version }}+binary-ocaml-${{ matrix.ocaml }}-built-${{ github.ref_name }}-${{ matrix.target_triple }}.tar.gz build-scripts/ocamlformat/build.sh
- uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: "*.tar.gz"
ocamlformat-dockerfile:
name: ocamlformat binaries via docker
permissions:
contents: write
strategy:
matrix:
os: [ubuntu-latest]
ocaml: ["5.2.1", "5.1.1"]
include:
- os: ubuntu-latest
version: "0.26.2"
ocaml: "5.2.1"
target_triple: x86_64-unknown-linux-musl
- os: ubuntu-latest
version: "0.26.1"
ocaml: "5.1.1"
target_triple: x86_64-unknown-linux-musl
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v4
- name: Build ocamlformat
run: |
docker buildx build build-scripts/ocamlformat --target=export --output type=local,dest=$(pwd)/out/ --build-arg TAG=${{ github.ref_name }} --build-arg TARGET=${{ matrix.target_triple }} --build-arg OCAML_VERSION=${{ matrix.ocaml }} --build-arg OCAMLFORMAT_VERSION=${{ matrix.version }}
- uses: ncipollo/release-action@v1
with:
allowUpdates: true
artifacts: "out/*.tar.gz"