|
6 | 6 | - "v*" |
7 | 7 |
|
8 | 8 | jobs: |
9 | | - # Build and test on x86_64 Linux, cross-compile for other Linux architectures |
10 | | - linux-x86: |
11 | | - name: Linux x86_64 + cross-compile |
| 9 | + # Build all Linux architectures (x86_64, ARM64, ARMv7, RISC-V, i686) |
| 10 | + linux: |
| 11 | + name: Linux (all architectures) |
12 | 12 | runs-on: ubuntu-latest |
13 | 13 | strategy: |
14 | 14 | matrix: |
|
72 | 72 | --health-timeout 5s |
73 | 73 | --health-retries 5 |
74 | 74 |
|
75 | | - # Build and test on ARM64 Linux |
76 | | - linux-arm: |
77 | | - name: Linux ARM64 (aarch64) |
78 | | - runs-on: ubuntu-24.04-arm |
79 | | - strategy: |
80 | | - matrix: |
81 | | - otp: ["25.0", "26.2", "27.2"] |
82 | | - |
83 | | - steps: |
84 | | - - uses: actions/checkout@v4 |
85 | | - with: |
86 | | - submodules: recursive |
87 | | - |
88 | | - - uses: erlef/setup-beam@v1 |
89 | | - with: |
90 | | - otp-version: ${{ matrix.otp }} |
91 | | - elixir-version: "1.18.4" |
92 | | - |
93 | | - - name: Install dependencies |
94 | | - run: | |
95 | | - sudo apt-get update |
96 | | - sudo apt-get install -y build-essential cmake libssl-dev |
97 | | - mix deps.get |
98 | | -
|
99 | | - - name: Precompile NIFs |
100 | | - run: | |
101 | | - export ELIXIR_MAKE_CACHE_DIR=$(pwd)/cache |
102 | | - mkdir -p $ELIXIR_MAKE_CACHE_DIR |
103 | | - MIX_ENV=prod mix elixir_make.precompile |
104 | | -
|
105 | | - - name: Upload artifacts to release |
106 | | - uses: softprops/action-gh-release@v1 |
107 | | - if: startsWith(github.ref, 'refs/tags/') |
108 | | - with: |
109 | | - files: cache/*.tar.gz |
110 | | - draft: true |
111 | | - |
112 | | - - name: Run tests on ARM64 |
113 | | - run: mix test --exclude integration |
114 | | - env: |
115 | | - CLICKHOUSE_HOST: localhost |
116 | | - CLICKHOUSE_PORT: 9000 |
117 | | - |
118 | | - services: |
119 | | - clickhouse: |
120 | | - image: clickhouse/clickhouse-server:latest |
121 | | - env: |
122 | | - CLICKHOUSE_USER: default |
123 | | - CLICKHOUSE_PASSWORD: "" |
124 | | - CLICKHOUSE_DEFAULT_ACCESS_MANAGEMENT: 1 |
125 | | - ports: |
126 | | - - 9000:9000 |
127 | | - - 8123:8123 |
128 | | - options: >- |
129 | | - --health-cmd "clickhouse-client --query 'SELECT 1'" |
130 | | - --health-interval 10s |
131 | | - --health-timeout 5s |
132 | | - --health-retries 5 |
133 | | -
|
134 | | - # Build and test on macOS Apple Silicon (builds both ARM64 and x86_64) |
| 75 | + # Build and test on macOS (builds both ARM64 and x86_64) |
135 | 76 | macos: |
136 | 77 | name: macOS (ARM64 + x86_64) |
137 | 78 | runs-on: macos-14 |
|
0 commit comments