summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Niklas Hasse <jhasse@bixense.com>2019-12-20 13:28:09 +0100
committerJan Niklas Hasse <jhasse@bixense.com>2019-12-20 13:40:33 +0100
commit77a630e78b1f4722ffe1a983ad363c292e0581e7 (patch)
treead8baab46914896c7dde5b249bf1435c7f32767a
parent0c84b0ebd757e85548cb49a40694b4528c465830 (diff)
downloadninja-77a630e78b1f4722ffe1a983ad363c292e0581e7.tar.gz
GitHub Actions: Use CentOS 7 for Linux, fix #1533
-rw-r--r--.github/workflows/linux.yml55
-rw-r--r--.github/workflows/release-ninja-binaries.yml11
2 files changed, 56 insertions, 10 deletions
diff --git a/.github/workflows/linux.yml b/.github/workflows/linux.yml
new file mode 100644
index 0000000..2febee2
--- /dev/null
+++ b/.github/workflows/linux.yml
@@ -0,0 +1,55 @@
+name: Linux
+
+on:
+ pull_request:
+ push:
+ release:
+ types: published
+
+jobs:
+ build:
+ runs-on: [ubuntu-latest]
+ container:
+ image: centos:7
+ steps:
+ - uses: actions/checkout@v1
+ - name: Install dependencies
+ run: |
+ curl -L -O https://github.com/Kitware/CMake/releases/download/v3.16.2/cmake-3.16.2-Linux-x86_64.sh
+ chmod +x cmake-3.16.2-Linux-x86_64.sh
+ ./cmake-3.16.2-Linux-x86_64.sh --skip-license --prefix=/usr/local
+ curl -L -O https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/epel/7/x86_64/Packages/p/p7zip-16.02-10.el7.x86_64.rpm
+ curl -L -O https://www.mirrorservice.org/sites/dl.fedoraproject.org/pub/epel/7/x86_64/Packages/p/p7zip-plugins-16.02-10.el7.x86_64.rpm
+ rpm -U --quiet p7zip-16.02-10.el7.x86_64.rpm
+ rpm -U --quiet p7zip-plugins-16.02-10.el7.x86_64.rpm
+ yum install -y make gcc-c++
+ - name: Build ninja
+ shell: bash
+ run: |
+ mkdir build && cd build
+ cmake -DCMAKE_BUILD_TYPE=Release ..
+ cmake --build . --parallel --config Release
+ ctest -vv
+ strip ninja
+ - name: Create ninja archive
+ run: |
+ mkdir artifact
+ 7z a artifact/ninja-linux.zip ./build/ninja
+
+ # Upload ninja binary archive as an artifact
+ - name: Upload artifact
+ uses: actions/upload-artifact@v1
+ with:
+ name: ninja-binary-archives
+ path: artifact
+
+ - name: Upload release asset
+ if: github.event.action == 'published'
+ uses: actions/upload-release-asset@v1.0.1
+ env:
+ GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ with:
+ upload_url: ${{ github.event.release.upload_url }}
+ asset_path: ./artifact/ninja-linux.zip
+ asset_name: ninja-linux.zip
+ asset_content_type: application/zip
diff --git a/.github/workflows/release-ninja-binaries.yml b/.github/workflows/release-ninja-binaries.yml
index c8dd9d3..8c1e0af 100644
--- a/.github/workflows/release-ninja-binaries.yml
+++ b/.github/workflows/release-ninja-binaries.yml
@@ -11,10 +11,8 @@ jobs:
runs-on: ${{ matrix.os }}
strategy:
matrix:
- os: [ubuntu-latest, macOS-latest, windows-latest]
+ os: [macOS-latest, windows-latest]
include:
- - os: ubuntu-latest
- zip_name: ninja-linux
- os: macOS-latest
zip_name: ninja-mac
- os: windows-latest
@@ -24,9 +22,6 @@ jobs:
- uses: actions/checkout@v1
# Install OS specific dependencies
- - name: Install Linux dependencies
- if: matrix.os == 'ubuntu-latest'
- run: sudo apt-get install re2c
- name: Install macOS dependencies
if: matrix.os == 'macOS-latest'
run: brew install re2c p7zip cmake
@@ -42,10 +37,6 @@ jobs:
cmake --build . --parallel --config Release
ctest -vv
- - name: Strip Linux binary
- if: matrix.os == 'ubuntu-latest'
- run: cd build && strip ninja
-
- name: Create ninja archive
shell: bash
env: