Skip to content

try compile

try compile #705

Workflow file for this run

name: Build
on:
push:
branches:
- master
tags:
- "*.*.*"
jobs:
build:
runs-on: ${{ matrix.os }}
strategy:
fail-fast: false
matrix:
include:
- { os: ubuntu-20.04, target: linux, platform: linux-x64 }
- { os: ubuntu-22.04, target: linux, platform: linux-aarch64 }
- { os: macos-latest, target: darwin, platform: darwin-x64 }
- { os: macos-latest, target: darwin, platform: darwin-arm64 }
- { os: windows-latest, target: windows, platform: win32-x64 }
steps:
- uses: actions/setup-node@v3
with:
node-version: '20'
- uses: actions/checkout@v3
with:
ref: refs/heads/master
- name: Prepare Linux-64
if: ${{ matrix.target == 'linux' && matrix.platform == 'linux-x64' }}
run: |
sudo apt-get install -y gcc-11 g++-11
echo "CC=gcc-11" >> $GITHUB_ENV
echo "CXX=g++-11" >> $GITHUB_ENV
- name: Prepare Linux-aarch64
if: ${{ matrix.target == 'linux' && matrix.platform == 'linux-aarch64' }}
run: |
sudo apt-get install -y gcc-11-aarch64-linux-gnu g++-11-aarch64-linux-gnu
echo "CC=gcc-11-aarch64-linux-gnu" >> $GITHUB_ENV
echo "CXX=g++-11-aarch64-linux-gnu" >> $GITHUB_ENV
- name: Build-Windows
if: startsWith(matrix.os, 'windows')
run: |
mkdir build
cd build
cmake .. -DCMAKE_USER_MAKE_RULES_OVERRIDE="${{ github.workspace }}/cmake/flags_override.cmake" -DBUILD_GMOCK=OFF -DINSTALL_GTEST=OFF
cmake --build . --config Release
ctest -V -C Release
cmake --install . --config Release --prefix ${{ github.workspace }}/artifact/
- name: Build-Linux-x64
if: startsWith(matrix.os, 'ubuntu')
run: |
mkdir build
cd build
cmake .. -DBUILD_GMOCK=OFF -DINSTALL_GTEST=OFF -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release --verbose
ctest -V -C Release
cmake --install . --config Release --prefix ${{ github.workspace }}/artifact/
- name: Build-Linux-aarch64
if: startsWith(matrix.os, 'ubuntu')
run: |
mkdir build
cd build
cmake .. -DBUILD_GMOCK=OFF -DINSTALL_GTEST=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/cmake/aarch64-linux-gnu.cmake"
cmake --build . --config Release --verbose
ctest -V -C Release
cmake --install . --config Release --prefix ${{ github.workspace }}/artifact/
- name: Build-macosx
if: startsWith(matrix.os, 'macos')
run: |
mkdir build
cd build
if [[ "${{ matrix.platform }}" = darwin-arm64 ]]; then
cmake .. -DCMAKE_OSX_ARCHITECTURES="x86_64;arm64" -DBUILD_GMOCK=OFF -DINSTALL_GTEST=OFF -DCMAKE_BUILD_TYPE=Release
else
cmake .. -DBUILD_GMOCK=OFF -DINSTALL_GTEST=OFF -DCMAKE_BUILD_TYPE=Release
fi
cmake --build . --config Release --verbose
ctest -V -C Release
cmake --install . --config Release --prefix ${{ github.workspace }}/artifact/
- name: Upload
uses: actions/upload-artifact@v3
with:
name: ${{ matrix.platform }}
path: ${{ github.workspace }}/artifact/
release:
name: Upload Release
needs: [build]
runs-on: [ubuntu-latest]
steps:
- name: Download
uses: actions/download-artifact@v2
- name: Display structure of downloaded files
run: ls -R
- name: zip win32-x64
uses: TheDoctor0/zip-release@v0.2.1
with:
filename: win32-x64.zip
path: win32-x64
- name: zip linux-x64
uses: TheDoctor0/zip-release@v0.2.1
with:
filename: linux-x64.zip
path: linux-x64
- name: tar linux-64
run: |
chmod 777 linux-x64/bin/CodeFormat
chmod 777 linux-x64/bin/CodeFormatServer
tar -czvf linux-x64.tar.gz linux-x64
- name: zip darwin-x64
uses: TheDoctor0/zip-release@v0.2.1
with:
filename: darwin-x64.zip
path: darwin-x64
- name: zip darwin-arm64
uses: TheDoctor0/zip-release@v0.2.1
with:
filename: darwin-arm64.zip
path: darwin-arm64
- name: tar darwin-arm64
run: |
chmod 777 darwin-arm64/bin/CodeFormat
chmod 777 darwin-arm64/bin/CodeFormatServer
tar -czvf darwin-arm64.tar.gz darwin-arm64
- name: tar darwin-x64
run: |
chmod 777 darwin-x64/bin/CodeFormat
chmod 777 darwin-x64/bin/CodeFormatServer
tar -czvf darwin-x64.tar.gz darwin-x64
- name: Release
uses: softprops/action-gh-release@v1
if: startsWith(github.ref, 'refs/tags/')
with:
name: CodeFormat
draft: false
generate_release_notes: true
files: |
linux-x64.zip
linux-x64.tar.gz
darwin-x64.zip
darwin-arm64.zip
win32-x64.zip
darwin-x64.tar.gz
darwin-arm64.tar.gz
token: ${{ secrets.RELEASE }}