Release #5
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: | |
release: | |
types: [released] | |
jobs: | |
build: | |
runs-on: ubuntu-latest-128 | |
steps: | |
- name: Pre-process Release Name | |
id: pre_process_release_name | |
run: | | |
RELEASE_NAME="${{ github.event.release.name }}" | |
# strip all whitespace | |
RELEASE_NAME="${RELEASE_NAME//[[:space:]]/}" | |
if [[ ! "$RELEASE_NAME" =~ ^[0-9]+\.[0-9]+(\.[0-9]+)?(-.*)?$ ]]; then | |
echo "Release name does not conform to a valid besu release format YY.M.v[-suffix], e.g. 24.8.0-RC1." | |
exit 1 | |
fi | |
echo "RELEASE_NAME=$RELEASE_NAME" >> $GITHUB_ENV # Store in environment variable | |
- name: checkout | |
uses: actions/checkout@v3 | |
- name: Set up JDK 21 | |
uses: actions/setup-java@v3 | |
with: | |
java-version: 21 | |
distribution: temurin | |
- name: Publish Java artifacts | |
run: ./gradlew -Prelease.releaseVersion=${{env.RELEASE_NAME}} -Pversion=${{env.RELEASE_NAME}} publish | |
env: | |
CLOUDSMITH_USER: ${{ secrets.CLOUDSMITH_USER }} | |
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} | |
- name: Publish distribution artifacts | |
run: | | |
sudo apt update | |
sudo apt install -y python3 python3-pip python3-venv | |
./gradlew -Prelease.releaseVersion=${{env.RELEASE_NAME}} -Pversion=${{env.RELEASE_NAME}} cloudsmithUpload | |
env: | |
CLOUDSMITH_USER: ${{ secrets.CLOUDSMITH_USER }} | |
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} | |
- name: Set up QEMU for Docker | |
uses: docker/setup-qemu-action@v3 | |
with: | |
platforms: arm64 | |
- name: Set up Docker Buildx | |
uses: docker/setup-buildx-action@v3 | |
with: | |
platforms: linux/amd64,linux/arm64 | |
- name: Check Dockerfile syntax | |
run: | | |
docker run --rm -i hadolint/hadolint < docker/Dockerfile | |
- name: Login to Docker Hub for self hosted | |
uses: docker/login-action@v2 | |
with: | |
username: ${{ secrets.DOCKER_USER_RW }} | |
password: ${{ secrets.DOCKER_PAT_RW }} | |
- name: Build and Publish Docker Image | |
run: | | |
./gradlew -Prelease.releaseVersion=${{env.RELEASE_NAME}} -Pversion=${{env.RELEASE_NAME}} -Pdocker-platform=linux/amd64,linux/arm64 distDocker |