Skip to content

Commit 5bb6076

Browse files
committed
Add a CI job to build the Cygwin port
1 parent 84335d2 commit 5bb6076

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

.github/workflows/build-cygwin.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
name: Build
2+
3+
on:
4+
push:
5+
# branches:
6+
# - '4.**'
7+
# - '5.**'
8+
# - 'trunk'
9+
pull_request:
10+
11+
# Restrict the GITHUB_TOKEN
12+
permissions: {}
13+
14+
env:
15+
# List of test directories for the debug-s4096 and linux-O0 jobs. These
16+
# directories are selected because of their tendencies to reach corner cases
17+
# in the runtime system.
18+
PARALLEL_TESTS: parallel callback gc-roots weak-ephe-final
19+
# Fully print commands executed by Make
20+
# MAKEFLAGS: V=1
21+
22+
# https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#concurrency
23+
# Concurrent workflows are grouped by the PR or branch that triggered them
24+
# (github.ref) and the name of the workflow (github.workflow). The
25+
# 'cancel-in-progress' option then make sure that only one workflow is running
26+
# at a time. This doesn't prevent new jobs from running, rather it cancels
27+
# already running jobs before scheduling new jobs.
28+
concurrency:
29+
group: ${{ github.workflow }}-${{ github.ref }}-${{ github.event_name == 'pull_request' || github.sha }}
30+
cancel-in-progress: true
31+
32+
jobs:
33+
# This job will do the initial build of the compiler (on linux), with flambda on.
34+
# We then upload the compiler tree as a build artifact to enable re-use in
35+
# subsequent jobs.
36+
cygwin:
37+
runs-on: windows-latest
38+
steps:
39+
- name: Configure EOLs on Cygwin
40+
run: |
41+
# Ensure that .expected files are not modified by check out
42+
# as, in Cygwin, the .expected should use LF line endings,
43+
# rather than Windows’ CRLF
44+
git config --global core.autocrlf input
45+
- name: Checkout code
46+
uses: actions/checkout@v4
47+
with:
48+
submodules: true
49+
- name: Install Cygwin
50+
uses: cygwin/cygwin-install-action@v4
51+
with:
52+
packages: make,bash,gcc-core
53+
install-dir: 'D:\cygwin'
54+
- name: Configure the compiler
55+
shell: bash
56+
run: >-
57+
./configure --enable-ocamltest --disable-dependency-generation
58+
- name: Build the compiler
59+
shell: bash
60+
run: >-
61+
make -j4 V=1

0 commit comments

Comments
 (0)