Skip to content

Release

Release #63

Workflow file for this run

name: Release
on:
workflow_dispatch:
# push:
# tags:
# - "*.*.*"
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: false
env:
GRADLE_OPTS: '-Dorg.gradle.daemon=false -Dorg.gradle.java.installations.auto-detect=false -Dorg.gradle.warning.mode=fail'
aeronRepoPath: 'generic-local/'
jobs:
# ci:
# uses: ./.github/workflows/ci.yml
#
# ci-low-cadence:
# uses: ./.github/workflows/ci-low-cadence.yml
#
# codeql:
# uses: ./.github/workflows/codeql.yml
github-release:
name: Create Github Release
permissions:
contents: write
# needs: [ ci, ci-low-cadence, codeql ]
runs-on: ubuntu-latest
outputs:
upload_url: ${{ steps.create-release.outputs.upload_url }}
steps:
- id: checkout
name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
- id: create-release
name: Create Release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: Release ${{ github.ref }}
draft: true
# release-java:
# name: Release java artifacts
# permissions:
# contents: read
# packages: write
# needs: github-release
# runs-on: [ self-hosted ]
# steps:
# - name: Checkout code
# uses: actions/checkout@v4
# with:
# ref: ${{ github.ref }}
# - name: Setup java
# uses: actions/setup-java@v4
# with:
# distribution: 'zulu'
# java-version: 8
# - name: Setup BUILD_JAVA_HOME & BUILD_JAVA_VERSION
# run: |
# java -Xinternalversion
# echo "BUILD_JAVA_HOME=${JAVA_HOME}" >> $GITHUB_ENV
# echo "BUILD_JAVA_VERSION=8" >> $GITHUB_ENV
# - name: Publish with Gradle
# run: ./gradlew publish
# env:
# ORG_GRADLE_PROJECT_ossrhUsername: ${{ secrets.ossrhUsername }}
# ORG_GRADLE_PROJECT_ossrhPassword: ${{ secrets.ossrhPassword }}
# ORG_GRADLE_PROJECT_signingKey: ${{ secrets.signingKey }}
# ORG_GRADLE_PROJECT_signingPassword: ${{ secrets.signingPassword }}
release-c:
name: Release c artifacts
permissions:
contents: write
id-token: write
packages: write
needs: github-release
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
include:
- distro: ubuntu
version: 20.04
platform: amd64
gcc-version: default
# - distro: ubuntu
# version: 20.04
# platform: arm64
# gcc-version: default
- distro: ubuntu
version: 22.04
platform: amd64
gcc-version: default
# - distro: ubuntu
# version: 22.04
# platform: arm64
# gcc-version: default
- distro: debian
version: bullseye
platform: amd64
gcc-version: default
# - distro: debian
# version: bullseye
# platform: arm64
# gcc-version: default
- distro: debian
version: bookworm
platform: amd64
gcc-version: default
# - distro: debian
# version: bookworm
# platform: arm64
# gcc-version: default
- distro: rocky
version: 8.9
platform: amd64
gcc-version: 10
# - distro: rocky
# version: 8.9
# platform: arm64
# gcc-version: 10
- distro: rocky
version: 9.3
platform: amd64
gcc-version: 13
# - distro: rocky
# version: 9.3
# platform: arm64
# gcc-version: 13
- distro: awslinux
version: 2023
platform: amd64
gcc-version: default
# - distro: awslinux
# version: 2023
# platform: arm64
# gcc-version: default
steps:
- name: Checkout
uses: actions/checkout@v4
with:
ref: ${{ github.ref }}
- name: Set up QEMU
uses: docker/setup-qemu-action@v3
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
- name: Build Artifacts Using Docker
uses: docker/build-push-action@v6
with:
context: .
file: ./cppbuild/${{ matrix.distro }}/Dockerfile
pull: true
shm-size: 1g
outputs: type=local,dest=build
# platforms: linux/${{ matrix.platform }}
target: essentials-artifacts
build-args: |
VERSION=${{ matrix.version }}
GCC_VERSION=${{ matrix.gcc-version }}
- name: Rename artifact
run: |
artifact_name=aeron-$(cat version.txt)-${{ matrix.distro }}-${{ matrix.version }}-${{ matrix.platform }}.tar.gz
echo "artifact_name=$artifact_name" >> $GITHUB_ENV
mv ./build/*.tar.gz ./build/$artifact_name
- name: Upload to Github Release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ needs.github-release.outputs.upload_url }}
asset_path: ./build/${{ env.artifact_name }}
asset_name: ${{ env.artifact_name }}
asset_content_type: application/gzip
# - name: Setup JFrog CLI
# uses: jfrog/setup-jfrog-cli@v4
# env:
# JF_URL: ${{ vars.JFROG_OIDC_URL }}
# with:
# oidc-provider-name: ${{ vars.JFROG_OIDC_PROVIDER }}
# oidc-audience: ${{ vars.JFROG_OIDC_AUDIENCE }}
# - name: Publish Build info With JFrog CLI
# run: jf rt u *.tar.gz ${{ vars.JFROG_AERON_OSS_REPO_NAME }}
# working-directory: ./build