forked from HaxeFoundation/haxe
-
Notifications
You must be signed in to change notification settings - Fork 0
83 lines (72 loc) · 2.35 KB
/
copilot-setup-steps.yml
File metadata and controls
83 lines (72 loc) · 2.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
name: "Copilot Setup Steps"
on:
workflow_dispatch:
push:
paths:
- .github/workflows/copilot-setup-steps.yml
pull_request:
paths:
- .github/workflows/copilot-setup-steps.yml
jobs:
copilot-setup-steps:
runs-on: ubuntu-latest
permissions:
contents: read
env:
PLATFORM: linux64
OCAML_VERSION: 5.3.0
OPAMYES: 1
steps:
- name: Checkout repository
uses: actions/checkout@v4
with:
submodules: recursive
- name: Install system dependencies
run: |
set -ex
sudo apt-get update -qqy
sudo DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Use-Pty=0 install -y \
opam libpcre2-dev zlib1g-dev libgtk2.0-dev libmbedtls-dev ninja-build
- name: Cache opam
id: cache-opam
uses: actions/cache@v4
with:
path: ~/.opam/
key: ${{ runner.os }}-${{ runner.arch }}-5.3.0-${{ hashFiles('./haxe.opam', './libs/') }}-1
- name: Initialize opam and install OCaml 5.3.0
if: steps.cache-opam.outputs.cache-hit != 'true'
run: |
set -ex
opam init -c 5.3.0 --no-setup
opam pin add haxe . --no-action
opam install haxe --deps-only --assume-depexts
opam list
ocamlopt -v
- name: Persist opam environment for subsequent steps
run: |
set -ex
eval $(opam env)
echo "$OPAM_SWITCH_PREFIX/bin" >> $GITHUB_PATH
echo "OPAM_SWITCH_PREFIX=$OPAM_SWITCH_PREFIX" >> $GITHUB_ENV
echo "CAML_LD_LIBRARY_PATH=$CAML_LD_LIBRARY_PATH" >> $GITHUB_ENV
echo "OCAML_TOPLEVEL_PATH=$OCAML_TOPLEVEL_PATH" >> $GITHUB_ENV
- name: Setup Neko
uses: ./.github/actions/setup-neko
env:
PLATFORM: linux64
- name: Make Neko shared libraries available to the dynamic linker
run: |
echo "/usr/local/lib" | sudo tee /etc/ld.so.conf.d/local.conf
sudo ldconfig
- name: Build Haxe
run: |
set -ex
eval $(opam env)
opam config exec -- make -s -j`nproc` STATICLINK=1 haxe
opam config exec -- make -s haxelib
make -s package_unix
ls -l out
ldd -v ./haxe
ldd -v ./haxelib
- name: Add workspace to PATH
run: echo "$GITHUB_WORKSPACE" >> $GITHUB_PATH