From 77a630e78b1f4722ffe1a983ad363c292e0581e7 Mon Sep 17 00:00:00 2001 From: Jan Niklas Hasse Date: Fri, 20 Dec 2019 13:28:09 +0100 Subject: GitHub Actions: Use CentOS 7 for Linux, fix #1533 --- .github/workflows/linux.yml | 55 ++++++++++++++++++++++++++++ .github/workflows/release-ninja-binaries.yml | 11 +----- 2 files changed, 56 insertions(+), 10 deletions(-) create mode 100644 .github/workflows/linux.yml 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: -- cgit v0.12