Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
60 changes: 60 additions & 0 deletions .github/aznfs-build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,66 @@ stages:
PathtoPublish: $(Build.ArtifactStagingDirectory)
artifactName: 'aznfs-temp'

- job: package_aznfs_azurelinu_amd64
displayName: Package and Release ${{ parameters.versionName }} for azurelinux
pool:
name: 'aznfsazurelinuxdemopool' # Use your self-hosted agent

steps:
- checkout: self
path: azurelinux/AZNFS-mount
displayName: 'Checkout repository'

- script: |
echo "Installing prerequisites on Azure Linux..."
sudo tdnf update -y
sudo tdnf install -y glibc-static rpm-build perl perl-IPC-Cmd \
gcc gcc-c++ make git curl unzip zip tar cmake \
zlib zlib-devel libuuid-devel gnutls gnutls-devel nfs-utils \
libyaml-devel spdlog-devel nlohmann-json-devel cmake make \
pkgconf pkgconf-m4 pkgconf-pkg-config ninja-build binutils \
kernel-headers kernel-devel autoconf automake libtool jemalloc-devel
displayName: "Install prerequisites on Azure Linux"

# note: remove later.
- script: |
echo "=== Validating Build Environment ==="
gcc --version
cmake --version
tdnf --version
echo "Architecture: $(uname -m)"
displayName: "Validate build environment"

- script: |
export RELEASE_NUMBER=${{ parameters.versionName }}
export STG_DIR=$(System.DefaultWorkingDirectory)
export SOURCE_DIR=$(System.DefaultWorkingDirectory)/azurelinux
export BUILD_TYPE=${{ parameters.buildType }}
export BUILD_MACHINE=azurelinux
chmod +x $SOURCE_DIR/generate_package.sh
$SOURCE_DIR/generate_package.sh
displayName: "Run Package Script"

# note: remove later.
- script: |
echo "=== Directory Structure ==="
find $(System.DefaultWorkingDirectory) -name "*.rpm" -type f
echo "=== STG_DIR Contents ==="
ls -la $(System.DefaultWorkingDirectory)
displayName: "Debug: List directory structure"

- script: |
mkdir -p $(Build.ArtifactStagingDirectory)/artifacts/rpm
cp -f $(System.DefaultWorkingDirectory)/azurelinux/root/rpmbuild/RPMS/x86_64/aznfs-azurelinux-${{ parameters.versionName }}-1.x86_64.rpm $(Build.ArtifactStagingDirectory)/artifacts/rpm
echo "Listing Built Files..."
ls -R $(Build.ArtifactStagingDirectory)
displayName: "Copy RPM to Artifacts"

- task: PublishBuildArtifacts@1
inputs:
PathtoPublish: $(Build.ArtifactStagingDirectory)
artifactName: 'aznfs-temp'

- job: package_aznfs_arm64
displayName: Package and Release ${{ parameters.versionName }} for arm64
pool:
Expand Down
45 changes: 43 additions & 2 deletions .github/workflows/prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,8 @@ jobs:
export RELEASE_NUMBER=${{ github.event.inputs.versionName }}
export STG_DIR=$GITHUB_WORKSPACE/amd64
export SOURCE_DIR=$GITHUB_WORKSPACE/amd64
export BUILD_TYPE=${{ github.events.inputs.buildType }}
export BUILD_TYPE=${{ github.event.inputs.buildType }}
export BUILD_MACHINE=ubuntu
chmod +x $SOURCE_DIR/package.sh
$SOURCE_DIR/package.sh
- name: Create Test Release
Expand All @@ -74,6 +75,46 @@ jobs:
body: |
New Test Release ${{ github.event.inputs.versionName }}

package_mount_helper_azurelinux:
name: Package and Release ${{ github.event.inputs.versionName }} for azurelinux
runs-on: self-hosted
steps:
- name: Checkout repository
uses: actions/checkout@v3
with:
path: azurelinux

- name: Install prerequisites on Azure Linux
run: |
sudo tdnf update -y
sudo tdnf install -y glibc-static rpm-build perl perl-IPC-Cmd \
gcc gcc-c++ make git curl unzip zip tar cmake \
zlib zlib-devel libuuid-devel gnutls gnutls-devel nfs-utils \
libyaml-devel spdlog-devel nlohmann-json-devel cmake make \
pkgconf pkgconf-m4 pkgconf-pkg-config ninja-build binutils \
kernel-headers kernel-devel autoconf automake libtool

- name: Run Package.sh for azurelinux
run: |
export RELEASE_NUMBER=${{ github.event.inputs.versionName }}
export STG_DIR=$GITHUB_WORKSPACE
export SOURCE_DIR=$GITHUB_WORKSPACE/azurelinux
export BUILD_TYPE=${{ github.event.inputs.buildType }}
export BUILD_MACHINE=azurelinux
chmod +x $SOURCE_DIR/package.sh
$SOURCE_DIR/package.sh

- name: Create Release (azurelinux)
uses: softprops/action-gh-release@v1
with:
name: Release ${{ github.event.inputs.versionName }}
tag_name: ${{ github.event.inputs.versionName }}
target_commitish: ${{ github.sha }}
files: |
${{ github.workspace }}/azurelinux/root/rpmbuild/RPMS/x86_64/aznfs-azurelinux-${{ github.event.inputs.versionName }}-1.x86_64.rpm
body: |
New Release ${{ github.event.inputs.versionName }}

package_mount_helper_arm64:
name: Package and Release ${{ github.event.inputs.versionName }} for arm64 (Test Release)
runs-on: ubuntu-22.04-arm
Expand Down Expand Up @@ -101,7 +142,7 @@ jobs:
export RELEASE_NUMBER=${{ github.event.inputs.versionName }}
export STG_DIR=$GITHUB_WORKSPACE/arm64
export SOURCE_DIR=$GITHUB_WORKSPACE/arm64
export BUILD_TYPE=${{ github.events.inputs.buildType }}
export BUILD_TYPE=${{ github.event.inputs.buildType }}
chmod +x $SOURCE_DIR/package.sh
$SOURCE_DIR/package.sh
- name: Create Test Release
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,7 @@ jobs:
export STG_DIR=$GITHUB_WORKSPACE/amd64
export SOURCE_DIR=$GITHUB_WORKSPACE/amd64
export BUILD_TYPE=${{ github.events.inputs.buildType }}
export BUILD_MACHINE=ubuntu
chmod +x $SOURCE_DIR/package.sh
$SOURCE_DIR/package.sh
- name: Create Release
Expand Down Expand Up @@ -137,3 +138,6 @@ jobs:
${{ github.workspace }}/arm64/tarball/aznfs-${{ github.event.inputs.versionName }}-1.aarch64.tar.gz
body: |
New Release ${{ github.event.inputs.versionName }}


# TODO: Add for arm64 too.
Loading