add ocaml 5.2.1 (#1785) #5329
This file contains 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: Pipeline | |
on: | |
pull_request: | |
branches: | |
- master | |
push: | |
branches: | |
- master | |
concurrency: | |
group: ${{ github.workflow }}-${{ github.ref }} | |
cancel-in-progress: true | |
jobs: | |
nix-fmt-check: | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v30 | |
with: | |
nix_path: nixpkgs=channel:nixpkgs-unstable | |
- name: fmt | |
run: | | |
find . -iname '*.nix' | xargs nix shell -f ./ nixpkgs-fmt -c nixpkgs-fmt --check | |
- name: check | |
run: nix flake check | |
native-linux: | |
strategy: | |
fail-fast: false | |
matrix: | |
setup: | |
- { ocaml-version: 4_14, continue-on-error: false } | |
- { ocaml-version: 5_1, continue-on-error: false } | |
- { ocaml-version: 5_2, continue-on-error: false } | |
- { ocaml-version: 5_3, continue-on-error: true } | |
name: Native packages (Linux, OCaml ${{ matrix.setup.ocaml-version }}) | |
runs-on: ubuntu-latest | |
env: | |
NIXPKGS_ALLOW_UNFREE: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v30 | |
with: | |
extra_nix_config: | | |
system-features = nixos-test benchmark big-parallel kvm | |
extra-substituters = https://anmonteiro.nix-cache.workers.dev | |
extra-trusted-public-keys = ocaml.nix-cache.com-1:/xI2h2+56rwFfKyyFVbkJSeGqSIYMC/Je+7XXqGKDIY= | |
- uses: nix-ocaml/nix-s3-action@fork | |
with: | |
skipPush: true | |
endpoint: "s3://overlays?endpoint=https://7a53c28e9b7a91239f9ed42da04276bc.r2.cloudflarestorage.com" | |
signingKey: ${{ secrets.R2_SIGNING_KEY }} | |
awsAccessKeyId: ${{ secrets.R2_ACCESS_KEY_ID }} | |
awsSecretAccessKey: ${{ secrets.R2_SECRET_ACESS_KEY }} | |
- name: Build nix packages | |
run: ./ci.sh x86_64-linux build_${{ matrix.setup.ocaml-version }} | |
continue-on-error: ${{ matrix.setup.continue-on-error }} | |
top-level-packages: | |
strategy: | |
fail-fast: false | |
matrix: | |
setup: | |
- { os: ubuntu-latest, target: x86_64-linux } | |
- { os: macos-13, target: x86_64-darwin } | |
- { os: macos-14, target: aarch64-darwin } | |
name: Native (Top-level) packages (${{ matrix.setup.os }}) | |
runs-on: ${{ matrix.setup.os }} | |
env: | |
NIXPKGS_ALLOW_UNFREE: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v30 | |
with: | |
extra_nix_config: | | |
system-features = nixos-test benchmark big-parallel kvm | |
extra-substituters = https://anmonteiro.nix-cache.workers.dev | |
extra-trusted-public-keys = ocaml.nix-cache.com-1:/xI2h2+56rwFfKyyFVbkJSeGqSIYMC/Je+7XXqGKDIY= | |
- uses: nix-ocaml/nix-s3-action@fork | |
with: | |
skipPush: true | |
endpoint: "s3://overlays?endpoint=https://7a53c28e9b7a91239f9ed42da04276bc.r2.cloudflarestorage.com" | |
signingKey: ${{ secrets.R2_SIGNING_KEY }} | |
awsAccessKeyId: ${{ secrets.R2_ACCESS_KEY_ID }} | |
awsSecretAccessKey: ${{ secrets.R2_SECRET_ACESS_KEY }} | |
- name: Build nix packages | |
run: ./ci.sh ${{ matrix.setup.target }} build_top-level-packages | |
native-macos: | |
strategy: | |
fail-fast: false | |
matrix: | |
setup: | |
- { os: macos-13, target: x86_64-darwin, ocaml-version: 5_1, continue-on-error: false } | |
- { os: macos-13, target: x86_64-darwin, ocaml-version: 5_2, continue-on-error: false } | |
- { os: macos-13, target: x86_64-darwin, ocaml-version: 5_3, continue-on-error: true } | |
- { os: macos-14, target: aarch64-darwin, ocaml-version: 4_14, continue-on-error: false } | |
- { os: macos-14, target: aarch64-darwin, ocaml-version: 5_1, continue-on-error: false } | |
- { os: macos-14, target: aarch64-darwin, ocaml-version: 5_2, continue-on-error: false } | |
- { os: macos-14, target: aarch64-darwin, ocaml-version: 5_3, continue-on-error: true } | |
name: Native packages (macOS (${{ matrix.setup.os }}), OCaml ${{ matrix.setup.ocaml-version }}) | |
runs-on: ${{ matrix.setup.os }} | |
env: | |
NIXPKGS_ALLOW_UNFREE: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v30 | |
with: | |
extra_nix_config: | | |
system-features = nixos-test benchmark big-parallel kvm | |
extra-substituters = https://anmonteiro.nix-cache.workers.dev | |
extra-trusted-public-keys = ocaml.nix-cache.com-1:/xI2h2+56rwFfKyyFVbkJSeGqSIYMC/Je+7XXqGKDIY= | |
accept-flake-config = true | |
- uses: nix-ocaml/nix-s3-action@fork | |
with: | |
skipPush: true | |
endpoint: "s3://overlays?endpoint=https://7a53c28e9b7a91239f9ed42da04276bc.r2.cloudflarestorage.com" | |
signingKey: ${{ secrets.R2_SIGNING_KEY }} | |
awsAccessKeyId: ${{ secrets.R2_ACCESS_KEY_ID }} | |
awsSecretAccessKey: ${{ secrets.R2_SECRET_ACESS_KEY }} | |
- name: Build nix packages | |
run: ./ci.sh ${{ matrix.setup.target }} build_${{ matrix.setup.ocaml-version }} | |
continue-on-error: ${{ matrix.setup.continue-on-error }} | |
cross-compilers: | |
# needs: [native-linux] | |
strategy: | |
fail-fast: false | |
matrix: | |
setup: | |
- { ocaml-version: 4_14, continue-on-error: false } | |
- { ocaml-version: 5_1, continue-on-error: false } | |
- { ocaml-version: 5_2, continue-on-error: false } | |
- { ocaml-version: 5_3, continue-on-error: false } | |
target: | |
- arm64 | |
- musl | |
name: ${{matrix.target}} packages (OCaml ${{ matrix.setup.ocaml-version }}) | |
runs-on: ubuntu-latest | |
env: | |
NIXPKGS_ALLOW_UNFREE: 1 | |
steps: | |
- uses: actions/checkout@v4 | |
- uses: cachix/install-nix-action@v30 | |
with: | |
extra_nix_config: | | |
system-features = nixos-test benchmark big-parallel kvm | |
extra-substituters = https://anmonteiro.nix-cache.workers.dev | |
extra-trusted-public-keys = ocaml.nix-cache.com-1:/xI2h2+56rwFfKyyFVbkJSeGqSIYMC/Je+7XXqGKDIY= | |
- uses: nix-ocaml/nix-s3-action@fork | |
with: | |
skipPush: true | |
endpoint: "s3://overlays?endpoint=https://7a53c28e9b7a91239f9ed42da04276bc.r2.cloudflarestorage.com" | |
signingKey: ${{ secrets.R2_SIGNING_KEY }} | |
awsAccessKeyId: ${{ secrets.R2_ACCESS_KEY_ID }} | |
awsSecretAccessKey: ${{ secrets.R2_SECRET_ACESS_KEY }} | |
- name: Build nix packages | |
run : ./ci.sh x86_64-linux ${{matrix.target}}_${{matrix.setup.ocaml-version}} | |
continue-on-error: ${{ matrix.setup.continue-on-error }} |