Skip to content

Windows build

Windows build #15

Workflow file for this run

name: "Build"
on:
push:
branches:
- "main"
tags:
- "*"
pull_request:
branches:
- "main"
jobs:
BuildMac:
runs-on: "macos-13"
strategy:
matrix:
config:
- "Debug"
- "Release"
steps:
- name: "Get version"
run: |
if [[ $GITHUB_REF =~ ^refs/tags/ ]]
then version="${GITHUB_REF#refs/tags/}"
else version=master
fi
echo "version=$version" > "$GITHUB_OUTPUT"
id: "get-version"
- uses: "actions/checkout@v3"
- name: "Run CT2 build"
run: "./build_ct2_macos.sh ${{ matrix.config }} ${{ steps.get-version.outputs.version }}"
- name: "Run SP build"
run: "./build_sp_macos.sh ${{ matrix.config }} ${{ steps.get-version.outputs.version }}"
- uses: "actions/upload-artifact@v3"
with:
name: "libraries-macos-${{ matrix.config }}-${{ steps.get-version.outputs.version }}"
path: "release/*.tar.gz"
BuildLinux:
if: false
runs-on: "ubuntu-22.04"
strategy:
matrix:
config:
- "Debug"
- "Release"
steps:
- name: "Get version"
run: |
if [[ $GITHUB_REF =~ ^refs/tags/ ]]
then version="${GITHUB_REF#refs/tags/}"
else version=master
fi
echo "version=$version" > "$GITHUB_OUTPUT"
id: "get-version"
- uses: "actions/checkout@v3"
with:
submodules: "recursive"
- name: "Run build-linux.sh"
run: "./build-linux.sh ${{ matrix.config }} ${{ steps.get-version.outputs.version }}"
- uses: "actions/upload-artifact@v3"
with:
name: "libcurl-linux-${{ matrix.config }}"
path: "release/*.tar.gz"
BuildWindows:
runs-on: "windows-2022"
strategy:
matrix:
config:
- "Debug"
- "Release"
steps:
- name: "Get version"
shell: bash
run: |
if [[ $GITHUB_REF =~ ^refs/tags/ ]]
then version="${GITHUB_REF#refs/tags/}"
else version=master
fi
echo "version=$version" > "$GITHUB_OUTPUT"
id: "get-version"
- uses: "actions/checkout@v3"
with:
submodules: "recursive"
- name: "Run Build Windows ps1"
run: "./build_ct2_windows.ps1 -Configuration ${{ matrix.config }}"
- uses: "actions/upload-artifact@v3"
with:
name: "libctranslate2-windows-${{ matrix.config }}"
path: "release/*.zip"
Release:
runs-on: "ubuntu-22.04"
if: "github.event_name == 'push' && contains(github.ref, 'refs/tags/')"
needs: [BuildMac, BuildWindows] #TODO: BuildLinux
permissions:
contents: "write"
defaults:
run:
shell: bash
steps:
- name: "Get Metadata"
id: "metadata"
run: |
echo "version=${GITHUB_REF/refs\/tags\//}" >> $GITHUB_OUTPUT
- name: "Download build artifacts"
uses: "actions/download-artifact@v3"
- name: Generate Checksums 🪪
run: |
: Generate Checksums 🪪
if [[ "${RUNNER_DEBUG}" ]]; then set -x; fi
shopt -s extglob
echo "### Checksums" > ${{ github.workspace }}/CHECKSUMS.txt
for file in $( find ${{ github.workspace }} -name "*.tar.gz" -o -name "*.zip" ); do
echo " ${file##*/}: $(sha256sum "${file}" | cut -d " " -f 1)" >> ${{ github.workspace }}/CHECKSUMS.txt
done
- name: "Create Release"
uses: "softprops/action-gh-release@1e07f4398721186383de40550babbdf2b84acfc5"
with:
draft: true
tag_name: "${{ steps.metadata.outputs.version }}"
name: "${{ steps.metadata.outputs.version }}"
body_path: ${{ github.workspace }}/CHECKSUMS.txt
files: |
${{ github.workspace }}/**/*.tar.gz
${{ github.workspace }}/**/*.zip