Removed the totals and percentages from being displayed. (#458) #42
Workflow file for this run
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
name: Release | |
on: | |
push: | |
tags: | |
- "v*.*.*" | |
env: | |
TARGET: Release | |
jobs: | |
get_version_code: | |
name: Get Version Code | |
runs-on: ubuntu-22.04 | |
outputs: | |
version: ${{ steps.get_version_code.outputs.version }} | |
build_number: ${{ steps.get_version_code.outputs.build_number }} | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Get Version Code | |
id: get_version_code | |
run: | | |
TAG_NAME=${GITHUB_REF/refs\/tags\//} # v1.0.0 | |
echo "TAG_NAME=$TAG_NAME" >> $GITHUB_ENV | |
BUILD_NUMBER=$(echo $TAG_NAME | grep -oP '\d+$') | |
echo "BUILD_NUMBER=$BUILD_NUMBER" >> $GITHUB_ENV | |
echo "build_number=$BUILD_NUMBER" >> $GITHUB_OUTPUT | |
VERSION="${TAG_NAME/v}" #-$BUILD_NUMBER | |
echo "VERSION=$VERSION" >> $GITHUB_ENV | |
echo "version=$VERSION" >> $GITHUB_OUTPUT | |
linux_build_x64: | |
name: Linux Build (x64) | |
runs-on: ubuntu-22.04 | |
env: | |
compiler: clang | |
compiler_version: 14 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Update Environment | |
run: | | |
sudo apt-get update | |
sudo apt-get install -y clang-${{ env.compiler_version }} g++-multilib | |
echo "CC=clang-${{ env.compiler_version }}" >> $GITHUB_ENV | |
echo "CXX=clang++-${{ env.compiler_version }}" >> $GITHUB_ENV | |
- name: Configure Environment | |
run: make environment | |
- name: Build | |
run: make build-x64 | |
- name: Upload Library (x64) | |
uses: actions/upload-artifact@v3 | |
with: | |
name: linux-x64 | |
path: | | |
build/libs/Linux/x64/Release/src/*.so | |
build/libs/Linux/x64/Release/libs/hacl/*.so | |
maccatalyst_build_arm64: | |
name: MacCatalyst Build (arm64) | |
runs-on: macos-13 | |
env: | |
compiler_version: 14.2 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Setup Compiler | |
run: sudo xcode-select -switch /Applications/Xcode_${{ env.compiler_version }}.app | |
- name: Configure Environment | |
run: make environment | |
- name: Build | |
run: make build-maccatalyst | |
- name: Upload Library (arm64) | |
uses: actions/upload-artifact@v3 | |
with: | |
name: maccatalyst-arm64 | |
path: | | |
build/libs/MacCatalyst/arm64/Release/src/*.dylib | |
build/libs/MacCatalyst/arm64/Release/libs/hacl/*.a | |
build/libs/MacCatalyst/arm64/Release/libs/hacl/*.dylib | |
macos_build_arm64: | |
name: MacOS Build (arm64) | |
runs-on: macos-13 | |
env: | |
compiler_version: 14.2 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Setup Compiler | |
run: sudo xcode-select -switch /Applications/Xcode_${{ env.compiler_version }}.app | |
- name: Configure Environment | |
run: make environment | |
- name: Build | |
run: make build-arm64 | |
- name: Upload Library (x64) | |
uses: actions/upload-artifact@v3 | |
with: | |
name: osx-arm64 | |
path: | | |
build/libs/Darwin/arm64/Release/src/*.dylib | |
build/libs/Darwin/arm64/Release/libs/hacl/*.a | |
build/libs/Darwin/arm64/Release/libs/hacl/*.dylib | |
macos_build_x64: | |
name: MacOS Build (x64) | |
runs-on: macos-13 | |
env: | |
compiler_version: 14.2 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Setup Compiler | |
run: sudo xcode-select -switch /Applications/Xcode_${{ env.compiler_version }}.app | |
- name: Configure Environment | |
run: make environment | |
- name: Build | |
run: make build-x64 | |
- name: Upload Library (x64) | |
uses: actions/upload-artifact@v3 | |
with: | |
name: osx-x64 | |
path: | | |
build/libs/Darwin/x64/Release/src/*.dylib | |
build/libs/Darwin/x64/Release/libs/hacl/*.a | |
build/libs/Darwin/x64/Release/libs/hacl/*.dylib | |
wasm_build: | |
name: WASM Build | |
runs-on: ubuntu-22.04 | |
env: | |
compiler: clang | |
compiler_version: 14 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Update Environment | |
run: | | |
sudo apt-get update | |
make environment-wasm | |
source ./.cache/emscripten/emsdk_env.sh | |
- name: Configure Environment | |
run: make environment | |
- name: Build | |
run: make build-wasm | |
- name: Upload Library (wasm) | |
uses: actions/upload-artifact@v3 | |
with: | |
name: wasm | |
path: | | |
build/libs/wasm/Release/src/electionguard/wasm/*.js | |
build/libs/wasm/Release/src/electionguard/wasm/*.wasm | |
windows_build_x86: | |
name: Windows Build (x86) | |
runs-on: windows-2022 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Install .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 7.0.x | |
- name: Setup Environment | |
run: make environment | |
- name: Build | |
run: make build-x86 | |
- name: Upload Library (x86) | |
uses: actions/upload-artifact@v3 | |
with: | |
name: win-x86 | |
path: | | |
build/libs/Windows/x86/Release/src/Release/*.dll | |
build/libs/Windows/x86/Release/src/Release/*.exp | |
build/libs/Windows/x86/Release/src/Release/*.lib | |
build/libs/Windows/x86/Release/libs/hacl/Release/*.dll | |
build/libs/Windows/x86/Release/libs/hacl/Release/*.exp | |
build/libs/Windows/x86/Release/libs/hacl/Release/*.lib | |
windows_build_x64: | |
name: Windows Build (x64) | |
runs-on: windows-2022 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Install .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 7.0.x | |
- name: Setup Environment | |
run: make environment | |
- name: Build | |
run: make build-x64 | |
- name: Upload Library (x64) | |
uses: actions/upload-artifact@v3 | |
with: | |
name: win-x64 | |
path: | | |
build/libs/Windows/x64/Release/src/Release/*.dll | |
build/libs/Windows/x64/Release/src/Release/*.exp | |
build/libs/Windows/x64/Release/src/Release/*.lib | |
build/libs/Windows/x64/Release/libs/hacl/Release/*.dll | |
build/libs/Windows/x64/Release/libs/hacl/Release/*.exp | |
build/libs/Windows/x64/Release/libs/hacl/Release/*.lib | |
publish_nuget: | |
name: Publish Nuget | |
needs: | |
[ | |
get_version_code, | |
linux_build_x64, | |
maccatalyst_build_arm64, | |
macos_build_arm64, | |
macos_build_x64, | |
windows_build_x64, | |
windows_build_x86, | |
] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Setup Environment | |
run: make environment | |
- name: Get Linux x64 Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: linux-x64 | |
path: build/libs/Linux/x64/Release | |
- name: Get MacCatalyst arm64 Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: maccatalyst-arm64 | |
path: build/libs/MacCatalyst/arm64/Release | |
- name: Get MacOS arm64 Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: osx-arm64 | |
path: build/libs/Darwin/arm64/Release | |
- name: Get MacOS x64 Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: osx-x64 | |
path: build/libs/Darwin/x64/Release | |
- name: Get Windows x86 Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: win-x86 | |
path: build/libs/Windows/x86/Release | |
- name: Get Windows x64 Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: win-x64 | |
path: build/libs/Windows/x64/Release | |
- name: Update version number | |
run: dotnet cake ./scripts/build.cake -t AssignVersion --newVersion ${{needs.get_version_code.outputs.version}} | |
- name: Build and Package | |
working-directory: bindings/netstandard/ElectionGuard/ElectionGuard.Encryption | |
run: | | |
dotnet build -c Release | |
dotnet pack -c Release --version-suffix ${{needs.get_version_code.outputs.build_number}} | |
- name: Publish to Nuget.org | |
working-directory: bindings/netstandard/ElectionGuard/ElectionGuard.Encryption | |
run: dotnet nuget push "**/*.nupkg" --api-key ${{ secrets.NUGET_API_KEY}} --source https://api.nuget.org/v3/index.json --skip-duplicate | |
publish_npm: | |
name: Publish NPM | |
needs: [get_version_code, wasm_build] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Install Node | |
uses: actions/setup-node@v3 | |
with: | |
node-version: 16 | |
- name: Get WASM Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: wasm | |
path: bindings/typescript/src/wasm | |
- name: Install Dependencies | |
working-directory: bindings/typescript | |
run: npm install | |
- name: Update version number | |
working-directory: bindings/typescript | |
run: npm version ${{needs.get_version_code.outputs.version}} --no-git-tag-version | |
- name: Publish to NPM | |
working-directory: bindings/typescript | |
run: | | |
echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_REGISTRY_TOKEN }}" > .npmrc | |
npm run prepare | |
npm publish | |
publish_admin: | |
name: ${{ matrix.name }} | |
needs: [get_version_code, maccatalyst_build_arm64, windows_build_x64] | |
runs-on: ${{ matrix.os }} | |
strategy: | |
fail-fast: false | |
matrix: | |
name: ["macOS", "windows-os"] | |
include: | |
- name: macOS | |
os: macOS-13 | |
version: "14.2" | |
osFolder: "maccatalyst" | |
- name: windows-os | |
os: windows-2022 | |
version: "latest" | |
osFolder: "windows" | |
steps: | |
- name: Checkout Code | |
uses: actions/checkout@v3 | |
- name: Change Directory | |
run: cd ${{ github.workspace }} | |
- name: Install .NET | |
uses: actions/setup-dotnet@v3 | |
with: | |
dotnet-version: 7.0.x | |
- name: Update Mac Environment | |
if: runner.os == 'macOS' | |
run: | | |
ls -ls /Applications/ | |
ls -ls $ANDROID_SDK_ROOT/ndk | |
sudo xcode-select -switch /Applications/Xcode_${{ matrix.version }}.app | |
- name: Configure Environment | |
run: make environment-ui | |
- name: Get MacCatalyst arm64 Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: maccatalyst-arm64 | |
path: build/libs/MacCatalyst/arm64/Release | |
- name: Get Windows x64 Artifacts | |
uses: actions/download-artifact@v3 | |
with: | |
name: win-x64 | |
path: build/libs/Windows/x64/Release | |
- name: Publish UI | |
env: | |
BUILD_NUMBER: ${{ needs.get_version_code.outputs.build_number }} | |
BUILD_VERSION: "${{needs.get_version_code.outputs.version}}" | |
APPCENTER_SECRET_MACOS: ${{ secrets.APPCENTER_SECRET_MACOS }} | |
APPCENTER_SECRET_UWP: ${{ secrets.APPCENTER_SECRET_UWP }} | |
run: make publish-ui | |
- name: save build artifacts | |
uses: actions/upload-artifact@v3 | |
with: | |
name: electionguard-admin | |
path: ./publish/* | |
- name: Publish UI (AppCenter) | |
env: | |
BUILD_NUMBER: ${{ needs.get_version_code.outputs.build_number }} | |
BUILD_VERSION: "${{needs.get_version_code.outputs.version}}" | |
APPCENTER_API_TOKEN_MACOS: ${{ secrets.APPCENTER_API_TOKEN_MACOS }} | |
APPCENTER_API_TOKEN_UWP: ${{ secrets.APPCENTER_API_TOKEN_UWP }} | |
APPCENTER_SECRET_UWP: ${{ secrets.APPCENTER_SECRET_UWP }} | |
APPCENTER_SECRET_MACOS: ${{ secrets.APPCENTER_SECRET_MACOS }} | |
run: make publish-ui-appcenter | |
publish_release: | |
name: Publish Release | |
needs: [get_version_code, publish_nuget, publish_npm, publish_admin] | |
runs-on: ubuntu-22.04 | |
steps: | |
- name: Create Github Release | |
uses: softprops/action-gh-release@v1 | |
with: | |
name: Release ${{needs.get_version_code.outputs.version}} | |
tag_name: ${{needs.get_version_code.outputs.version}} | |
draft: true | |
prerelease: false | |
#TODO: changelog, artifacts |