chore: release 3.16.1 (#486) #194
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 Packages | |
permissions: | |
contents: write | |
on: | |
push: | |
tags: | |
- '[0-9]+.[0-9]+.[0-9]+' | |
jobs: | |
# We need to verify the version in some packages with the tag in order to have the same version in all packages (python, csharp, angular, web). | |
# Some packages use an internal version (like csharp, angular and web) and some use the tag version (like python). | |
verify-versions: | |
name: Verify Versions | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
with: | |
fetch-depth: 0 | |
- run: npm i -g pnpm @antfu/ni | |
- name: Setup Node.js | |
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 | |
with: | |
node-version: 18.x | |
cache: pnpm | |
- name: Install Dependencies | |
run: nci | |
- name: Verify Versions | |
run: nr verify-versions ${{ github.ref_name }} | |
release-csharp-packages: | |
needs: [verify-versions] | |
name: Release C# Packages | |
runs-on: ubuntu-latest | |
strategy: | |
fail-fast: false | |
matrix: | |
package: | |
- packages/csharp/ArmoniK.Api.Common.Channel/ArmoniK.Api.Common.Channel.csproj | |
- packages/csharp/ArmoniK.Api.Common/ArmoniK.Api.Common.csproj | |
- packages/csharp/ArmoniK.Api.Core/ArmoniK.Api.Core.csproj | |
- packages/csharp/ArmoniK.Api.Client/ArmoniK.Api.Client.csproj | |
- packages/csharp/ArmoniK.Api.Worker/ArmoniK.Api.Worker.csproj | |
steps: | |
- name: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
with: | |
fetch-depth: 0 | |
- name: Install .NET Core | |
uses: actions/setup-dotnet@4d6c8fcf3c8f7a60068d26b594648e99df24cee3 # v4 | |
with: | |
dotnet-version: 6.x | |
- name: Build the package | |
run: | | |
dotnet build ${{ matrix.package }} -c Release | |
- name: Pack the package | |
run: | | |
dotnet pack ${{ matrix.package }} -c Release -o /tmp/packages | |
ls /tmp/packages | |
- name: Push the package | |
run: dotnet nuget push /tmp/packages/ArmoniK.Api.*.nupkg -k ${{ secrets.NUGET_API_KEY }} --source https://api.nuget.org/v3/index.json | |
release-python-package: | |
needs: [verify-versions] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
with: | |
fetch-depth: 0 | |
- name: pip update and add build package | |
run: | | |
cd ./packages/python | |
export RELEASE=true | |
bash proto2python.sh ~/pyvenv | |
- name: Upload as artifact | |
uses: actions/upload-artifact@5d5d22a31266ced268874388b861e4b58bb5c2f3 # v4 | |
with: | |
name: python-packages | |
path: packages/python/pkg/ | |
- name: Publish to PyPITest | |
if: github.ref != 'refs/heads/main' | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.DEV_PYPI_API_TOKEN }} | |
print-hash: true | |
packages-dir: packages/python/pkg/ | |
repository-url: https://test.pypi.org/legacy/ | |
- name: Publish to PyPI | |
uses: pypa/gh-action-pypi-publish@release/v1 | |
with: | |
password: ${{ secrets.PYPI_API_TOKEN }} | |
print_hash: true | |
packages_dir: packages/python/pkg/ | |
release-angular-packages: | |
needs: [verify-versions] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
with: | |
fetch-depth: 0 | |
- run: npm i -g pnpm @antfu/ni | |
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 | |
with: | |
node-version: 18 | |
cache: pnpm | |
registry-url: https://registry.npmjs.org/ | |
- name: Install dependencies | |
run: nci && cd packages/angular && nci | |
- name: Install Protoc | |
run: sudo apt install -y protobuf-compiler | |
- name: Build protos | |
run: cd packages/angular && nr proto:generate:linux | |
- name: Build angular | |
run: cd packages/angular && nr build | |
- name: Release package | |
run: nr ci:publish angular dist/aneoconsultingfr/armonik.api.angular | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
release-web-packages: | |
needs: [verify-versions] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
with: | |
fetch-depth: 0 | |
- run: npm i -g pnpm @antfu/ni | |
- uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 | |
with: | |
node-version: 18 | |
cache: pnpm | |
registry-url: https://registry.npmjs.org/ | |
- name: Install ni | |
run: npm i -g @antfu/ni pnpm | |
- name: Install dependencies | |
run: nci && cd packages/web && nci | |
- name: Install Protoc | |
run: sudo apt install -y protobuf-compiler | |
- name: Build protos | |
run: cd packages/web && nr proto:generate:linux | |
- name: Build web | |
run: cd packages/web && nr build | |
- name: Release package | |
run: nr ci:publish web | |
env: | |
NODE_AUTH_TOKEN: ${{secrets.NPM_TOKEN}} | |
release-cpp-package: | |
needs: [verify-versions] | |
strategy: | |
fail-fast: false | |
matrix: | |
type: [tar.gz, deb, rpm] | |
name: Build C++ Packages [${{ matrix.type }}] | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout | |
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
with: | |
ref: ${{ github.ref }} | |
- name: Build the package | |
run: | | |
cd packages/cpp/tools/packaging | |
./make-${{ matrix.type }}.sh | |
- name: Publish package as artefact | |
uses: actions/upload-artifact@65d862660abb392b8c4a3d1195a2108db131dd05 | |
with: | |
if-no-files-found: error | |
path: packages/cpp/tools/packaging/*.${{ matrix.type }} | |
name: libarmonik-${{ github.ref_name }}.${{ matrix.type }} | |
- name: Upload to release | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} | |
run: | | |
gh release upload ${{ github.ref_name }} packages/cpp/tools/packaging/*.${{ matrix.type }} | |
update-changelog: | |
needs: [verify-versions] | |
runs-on: ubuntu-latest | |
steps: | |
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4 | |
with: | |
fetch-depth: 0 | |
- name: Set node | |
uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 # v4 | |
with: | |
node-version: 18 | |
- run: npx changelogithub | |
env: | |
GITHUB_TOKEN: ${{secrets.GITHUB_TOKEN}} |