Skip to content

Commit 65d0dfc

Browse files
committed
v1.12.0
2 parents 448ae1c + 1dcebc6 commit 65d0dfc

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

67 files changed

+2318
-1046
lines changed

.github/dependabot.yml

+7
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
version: 2
2+
updates:
3+
# Maintain dependencies for GitHub Actions
4+
- package-ecosystem: "github-actions"
5+
directory: "/"
6+
schedule:
7+
interval: "weekly"

.github/workflows/linux.yml

+64-5
Original file line numberDiff line numberDiff line change
@@ -58,14 +58,14 @@ jobs:
5858
5959
# Upload ninja binary archive as an artifact
6060
- name: Upload artifact
61-
uses: actions/upload-artifact@v1
61+
uses: actions/upload-artifact@v3
6262
with:
6363
name: ninja-binary-archives
6464
path: artifact
6565

6666
- name: Upload release asset
6767
if: github.event.action == 'published'
68-
uses: actions/upload-release-asset@v1.0.1
68+
uses: actions/upload-release-asset@v1
6969
env:
7070
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
7171
with:
@@ -83,7 +83,7 @@ jobs:
8383
- name: Install dependencies
8484
run: |
8585
apt update
86-
apt install -y python3-pytest ninja-build clang-tidy python3-pip clang
86+
apt install -y python3-pytest ninja-build clang-tidy python3-pip clang libgtest-dev
8787
pip3 install cmake==3.17.*
8888
- name: Configure (GCC)
8989
run: cmake -Bbuild-gcc -DCMAKE_BUILD_TYPE=Debug -G'Ninja Multi-Config'
@@ -133,7 +133,7 @@ jobs:
133133
image: ${{ matrix.image }}
134134
strategy:
135135
matrix:
136-
image: ['ubuntu:14.04', 'ubuntu:16.04', 'ubuntu:18.04']
136+
image: ['ubuntu:20.04', 'ubuntu:22.04', 'ubuntu:24.04']
137137
steps:
138138
- uses: actions/checkout@v2
139139
- name: Install dependencies
@@ -144,6 +144,65 @@ jobs:
144144
run: |
145145
python3 configure.py --bootstrap
146146
./ninja all
147-
./ninja_test --gtest_filter=-SubprocessTest.SetWithLots
148147
python3 misc/ninja_syntax_test.py
149148
./misc/output_test.py
149+
150+
build-aarch64:
151+
name: Build Linux ARM64
152+
runs-on: [ubuntu-latest]
153+
steps:
154+
- uses: actions/checkout@v3
155+
156+
- name: Build
157+
uses: uraimo/run-on-arch-action@v2
158+
with:
159+
arch: aarch64
160+
distro: ubuntu18.04
161+
githubToken: ${{ github.token }}
162+
dockerRunArgs: |
163+
--volume "${PWD}:/ninja"
164+
install: |
165+
apt-get update -q -y
166+
apt-get install -q -y make gcc g++ libasan5 clang-tools curl p7zip-full file
167+
run: |
168+
set -x
169+
cd /ninja
170+
171+
# INSTALL CMAKE
172+
CMAKE_VERSION=3.23.4
173+
curl -L -O https://github.com/Kitware/CMake/releases/download/v${CMAKE_VERSION}/cmake-${CMAKE_VERSION}-Linux-aarch64.sh
174+
chmod +x cmake-${CMAKE_VERSION}-Linux-aarch64.sh
175+
./cmake-${CMAKE_VERSION}-Linux-aarch64.sh --skip-license --prefix=/usr/local
176+
177+
# BUILD
178+
cmake -DCMAKE_BUILD_TYPE=Release -B release-build
179+
cmake --build release-build --parallel --config Release
180+
strip release-build/ninja
181+
file release-build/ninja
182+
183+
# TEST
184+
pushd release-build
185+
./ninja_test
186+
popd
187+
188+
# CREATE ARCHIVE
189+
mkdir artifact
190+
7z a artifact/ninja-linux-aarch64.zip ./release-build/ninja
191+
192+
# Upload ninja binary archive as an artifact
193+
- name: Upload artifact
194+
uses: actions/upload-artifact@v3
195+
with:
196+
name: ninja-binary-archives
197+
path: artifact
198+
199+
- name: Upload release asset
200+
if: github.event.action == 'published'
201+
uses: actions/upload-release-asset@v1
202+
env:
203+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
204+
with:
205+
upload_url: ${{ github.event.release.upload_url }}
206+
asset_path: ./artifact/ninja-linux-aarch64.zip
207+
asset_name: ninja-linux-aarch64.zip
208+
asset_content_type: application/zip

.github/workflows/macos.yml

+4-4
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ on:
88

99
jobs:
1010
build:
11-
runs-on: macos-11.0
11+
runs-on: macos-12
1212

1313
steps:
1414
- uses: actions/checkout@v2
@@ -19,7 +19,7 @@ jobs:
1919
- name: Build ninja
2020
shell: bash
2121
env:
22-
MACOSX_DEPLOYMENT_TARGET: 10.12
22+
MACOSX_DEPLOYMENT_TARGET: 10.15
2323
run: |
2424
cmake -Bbuild -GXcode '-DCMAKE_OSX_ARCHITECTURES=arm64;x86_64'
2525
cmake --build build --config Release
@@ -36,14 +36,14 @@ jobs:
3636
3737
# Upload ninja binary archive as an artifact
3838
- name: Upload artifact
39-
uses: actions/upload-artifact@v1
39+
uses: actions/upload-artifact@v3
4040
with:
4141
name: ninja-binary-archives
4242
path: artifact
4343

4444
- name: Upload release asset
4545
if: github.event.action == 'published'
46-
uses: actions/upload-release-asset@v1.0.1
46+
uses: actions/upload-release-asset@v1
4747
env:
4848
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
4949
with:

.github/workflows/windows.yml

+17-6
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,15 @@ jobs:
1010
build:
1111
runs-on: windows-latest
1212

13+
strategy:
14+
fail-fast: false
15+
matrix:
16+
include:
17+
- arch: 'x64'
18+
suffix: ''
19+
- arch: 'arm64'
20+
suffix: 'arm64'
21+
1322
steps:
1423
- uses: actions/checkout@v2
1524

@@ -19,38 +28,40 @@ jobs:
1928
- name: Build ninja
2029
shell: bash
2130
run: |
22-
cmake -Bbuild
31+
cmake -Bbuild -A ${{ matrix.arch }}
2332
cmake --build build --parallel --config Debug
2433
cmake --build build --parallel --config Release
2534
2635
- name: Test ninja (Debug)
36+
if: matrix.arch != 'arm64'
2737
run: .\ninja_test.exe
2838
working-directory: build/Debug
2939

3040
- name: Test ninja (Release)
41+
if: matrix.arch != 'arm64'
3142
run: .\ninja_test.exe
3243
working-directory: build/Release
3344

3445
- name: Create ninja archive
3546
shell: bash
3647
run: |
3748
mkdir artifact
38-
7z a artifact/ninja-win.zip ./build/Release/ninja.exe
49+
7z a artifact/ninja-win${{ matrix.suffix }}.zip ./build/Release/ninja.exe
3950
4051
# Upload ninja binary archive as an artifact
4152
- name: Upload artifact
42-
uses: actions/upload-artifact@v1
53+
uses: actions/upload-artifact@v3
4354
with:
4455
name: ninja-binary-archives
4556
path: artifact
4657

4758
- name: Upload release asset
4859
if: github.event.action == 'published'
49-
uses: actions/upload-release-asset@v1.0.1
60+
uses: actions/upload-release-asset@v1
5061
env:
5162
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
5263
with:
5364
upload_url: ${{ github.event.release.upload_url }}
54-
asset_path: ./artifact/ninja-win.zip
55-
asset_name: ninja-win.zip
65+
asset_path: ./artifact/ninja-win${{ matrix.suffix }}.zip
66+
asset_name: ninja-win${{ matrix.suffix }}.zip
5667
asset_content_type: application/zip

0 commit comments

Comments
 (0)