Release 25.2.1-linea1 (#7) #31
This file contains hidden or 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: Build and Publish Linea Besu from Upstream Besu | |
on: | |
push: | |
branches: | |
- main | |
paths: | |
- 'version.env' | |
permissions: | |
contents: write | |
id-token: write | |
attestations: write | |
jobs: | |
build: | |
environment: publish | |
runs-on: ubuntu-latest | |
steps: | |
- name: Checkout repository | |
uses: actions/checkout@v4 | |
- name: Dotenv Action | |
id: dotenv | |
uses: falti/[email protected] | |
with: | |
path: version.env | |
keys-case: lower | |
log-variables: true | |
- name: tag-exists-action | |
id: check-tag | |
uses: mukunku/[email protected] | |
with: | |
tag: ${{ steps.dotenv.outputs.linea_besu_version }} | |
- name: Fail if tag exists | |
if: steps.check-tag.outputs.exists == 'true' | |
uses: actions/[email protected] | |
with: | |
script: | | |
core.setFailed('Release tag ${{ steps.dotenv.outputs.linea_besu_version }} already exists in current repository') | |
- name: Checkout Besu repository | |
uses: actions/checkout@v4 | |
with: | |
repository: hyperledger/besu | |
ref: ${{ steps.dotenv.outputs.upstream_besu_ref }} | |
path: linea-besu | |
- name: Setup Java | |
uses: actions/setup-java@v4 | |
with: | |
distribution: 'temurin' | |
java-version: 21 | |
- name: Setup Gradle | |
uses: gradle/actions/setup-gradle@v4 | |
- name: Modify build.gradle for Cloudsmith publish | |
run: java scripts/InjectLines.java ./linea-besu/build.gradle | |
- name: Copy Linea Config | |
run: cp ./config/*.json ./linea-besu/config/src/main/resources/ | |
- name: Create Linea Besu distribution and publish maven artifacts | |
working-directory: ./linea-besu | |
run: ./gradlew -Prelease.releaseVersion=${{ steps.dotenv.outputs.linea_besu_version }} -Pversion=${{ steps.dotenv.outputs.linea_besu_version }} distTar publish | |
env: | |
CLOUDSMITH_USER: ${{ secrets.CLOUDSMITH_USER }} | |
CLOUDSMITH_API_KEY: ${{ secrets.CLOUDSMITH_API_KEY }} | |
- name: Generate Checksum | |
working-directory: ./linea-besu/build/distributions | |
run: | | |
for file in *.tar.gz; do | |
shasum -a 256 "$file" > "$file.sha256" | |
done | |
- name: Attest Build Provenance | |
uses: actions/[email protected] | |
with: | |
subject-path: './linea-besu/build/distributions/besu-${{ steps.dotenv.outputs.linea_besu_version }}.tar.gz' | |
# Create release tag and attach the distribution | |
- name: GH Linea Besu Release | |
id: release | |
uses: softprops/[email protected] | |
with: | |
files: | | |
./linea-besu/build/distributions/besu-${{ steps.dotenv.outputs.linea_besu_version }}.tar.gz | |
./linea-besu/build/distributions/*.sha256 | |
tag_name: ${{ steps.dotenv.outputs.linea_besu_version }} | |
body: | | |
**Linea Besu Version**: `${{ steps.dotenv.outputs.linea_besu_version }}` | |
**Upstream Besu Version**: `${{ steps.dotenv.outputs.upstream_besu_ref }}` | |
draft: false | |
prerelease: false | |
preserve_order: true | |