Skip to content

Bump version to 0.5.1 #10

Bump version to 0.5.1

Bump version to 0.5.1 #10

Workflow file for this run

# GitHub Actions: Automated multi-platform releases of opencl-language-server
name: Release
on:
push:
tags:
- '[0-9]+.*'
env:
BUILD_TYPE: Release
jobs:
create_release:
name: Create Release
runs-on: ubuntu-latest
outputs:
upload_url: ${{steps.create_release.outputs.upload_url}}
steps:
- name: Create release
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{github.token}}
with:
tag_name: ${{github.ref}}
release_name: Release ${{github.ref}}
draft: true
prerelease: false
build_release:
name: Build Release
runs-on: ${{ matrix.config.os }}
needs: create_release
strategy:
matrix:
config:
- os: windows-latest
- os: macos-latest
- os: ubuntu-20.04
python-version: [3.9]
env:
CONAN_HOME: ${{ github.workspace }}/.conan-home
steps:
- uses: actions/checkout@v2
- name: Linux - Install prerequisites
if: "contains(matrix.config.os, 'ubuntu')"
run: |
sudo apt update
sudo apt install gcc-11 g++-11
- name: Set up Python
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Create virtual environment
run: python3 -m venv .pyenv
- name: Windows - Activate virtual environment
if: "contains(matrix.config.os, 'windows')"
run: .pyenv\Scripts\activate.bat
- name: Unix - Activate virtual environment
if: "!contains(matrix.config.os, 'windows')"
run: source .pyenv/bin/activate
- name: Setup environment
run: |
pip3 install wheel
pip3 install -r requirements.txt
conan profile detect
- name: Windows - Configure & Build (Release)
if: "contains(matrix.config.os, 'windows')"
run: |
python3 build.py conan-install -pr:h=profiles/windows.release.x86_64
python3 build.py configure -t .conan-install/build/generators/conan_toolchain.cmake -bt Release
python3 build.py build -bt Release
- name: Windows - Archive Artifact
if: "contains(matrix.config.os, 'windows')"
run: |
cd ${{github.workspace}}/.build/Release
7z a -tzip opencl-language-server-win32-x86_64.zip opencl-language-server.exe
- name: Windows - Upload Artifact
if: "contains(matrix.config.os, 'windows')"
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{github.token}}
with:
upload_url: ${{needs.create_release.outputs.upload_url}}
asset_path: ${{github.workspace}}/.build/Release/opencl-language-server-win32-x86_64.zip
asset_name: opencl-language-server-win32-x86_64.zip
asset_content_type: application/zip
- name: Linux - Configure & Build (Release)
if: "contains(matrix.config.os, 'ubuntu')"
run: |
./build.py conan-install -pr:h=profiles/linux.release.x86_64
./build.py configure -t .conan-install/build/Release/generators/conan_toolchain.cmake -bt Release
./build.py build
- name: Linux - Archive Artifact
if: "contains(matrix.config.os, 'ubuntu')"
run: |
cd ${{github.workspace}}/.build/
tar -czvf opencl-language-server-linux-x86_64.tar.gz opencl-language-server
- name: Linux - Upload Artifact
if: "contains(matrix.config.os, 'ubuntu')"
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{github.token}}
with:
upload_url: ${{needs.create_release.outputs.upload_url}}
asset_path: ${{github.workspace}}/.build/opencl-language-server-linux-x86_64.tar.gz
asset_name: opencl-language-server-linux-x86_64.tar.gz
asset_content_type: application/gzip
- name: Mac - Configure & Build (Release)
if: "contains(matrix.config.os, 'macos')"
run: |
./build.py conan-install -o .conan-x86_64 -pr:h profiles/darwin.release.x86_64
./build.py configure -t .conan-x86_64/build/Release/generators/conan_toolchain.cmake -b .build-x86_64 -bt Release
./build.py build -b .build-x86_64
./build.py conan-install -o .conan-armv8 -pr:h profiles/darwin.release.armv8
./build.py configure -t .conan-armv8/build/Release/generators/conan_toolchain.cmake -b .build-armv8 -bt Release
./build.py build -b .build-armv8
mkdir -p .build-universal/
lipo -create -output .build-universal/opencl-language-server .build-x86_64/opencl-language-server .build-armv8/opencl-language-server
lipo -archs .build-universal/opencl-language-server
- name: Mac - Archive Artifact
if: "contains(matrix.config.os, 'macos')"
run: |
cd ${{github.workspace}}/.build-x86_64/
tar -czvf opencl-language-server-darwin-x86_64.tar.gz opencl-language-server
cd ${{github.workspace}}/.build-armv8/
tar -czvf opencl-language-server-darwin-arm64.tar.gz opencl-language-server
cd ${{github.workspace}}/.build-universal/
tar -czvf opencl-language-server-darwin-universal.tar.gz opencl-language-server
- name: Mac - Upload Artifact (x86_64)
if: "contains(matrix.config.os, 'macos')"
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{github.token}}
with:
upload_url: ${{needs.create_release.outputs.upload_url}}
asset_path: ${{github.workspace}}/.build-x86_64/opencl-language-server-darwin-x86_64.tar.gz
asset_name: opencl-language-server-darwin-x86_64.tar.gz
asset_content_type: application/gzip
- name: Mac - Upload Artifact (armv8)
if: "contains(matrix.config.os, 'macos')"
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{github.token}}
with:
upload_url: ${{needs.create_release.outputs.upload_url}}
asset_path: ${{github.workspace}}/.build-armv8/opencl-language-server-darwin-arm64.tar.gz
asset_name: opencl-language-server-darwin-arm64.tar.gz
asset_content_type: application/gzip
- name: Mac - Upload Artifact (universal)
if: "contains(matrix.config.os, 'macos')"
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{github.token}}
with:
upload_url: ${{needs.create_release.outputs.upload_url}}
asset_path: ${{github.workspace}}/.build-universal/opencl-language-server-darwin-universal.tar.gz
asset_name: opencl-language-server-darwin-universal.tar.gz
asset_content_type: application/gzip