Releases workflow update
This commit is contained in:
71
.github/workflows/build-releases.yml
vendored
Normal file
71
.github/workflows/build-releases.yml
vendored
Normal file
@@ -0,0 +1,71 @@
|
||||
name: Build Releases
|
||||
|
||||
on:
|
||||
push:
|
||||
tags:
|
||||
- 'v*'
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
version:
|
||||
description: 'Tag or commit to build (e.g. v4.9)'
|
||||
required: false
|
||||
default: ''
|
||||
|
||||
jobs:
|
||||
release-packages:
|
||||
name: Build Linux/macOS/Windows archives
|
||||
runs-on: ubuntu-22.04
|
||||
timeout-minutes: 360
|
||||
env:
|
||||
P2POOL_VERSION: ${{ github.event_name == 'workflow_dispatch' && github.event.inputs.version || github.ref_name }}
|
||||
|
||||
steps:
|
||||
- name: Checkout repository
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
submodules: recursive
|
||||
|
||||
- name: Ensure version is provided
|
||||
shell: bash
|
||||
run: |
|
||||
if [ -z "${P2POOL_VERSION}" ]; then
|
||||
echo "P2POOL_VERSION is empty. Trigger the workflow from a tag or provide the version input."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Build base toolchain image
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
cd scripts/release/images/ubuntu
|
||||
./build.sh
|
||||
|
||||
- name: Build Linux x64 release
|
||||
shell: bash
|
||||
run: scripts/release/linux_x64/build.sh "${P2POOL_VERSION}"
|
||||
|
||||
- name: Build macOS x64 release
|
||||
shell: bash
|
||||
run: scripts/release/macos_x64/build.sh "${P2POOL_VERSION}"
|
||||
|
||||
- name: Build Windows x64 release
|
||||
shell: bash
|
||||
run: scripts/release/windows_x64/build.sh "${P2POOL_VERSION}"
|
||||
|
||||
- name: Generate checksums
|
||||
shell: bash
|
||||
run: |
|
||||
set -euo pipefail
|
||||
cd scripts/release
|
||||
./gen_sums.sh
|
||||
|
||||
- name: Upload release artifacts
|
||||
uses: actions/upload-artifact@v4
|
||||
with:
|
||||
name: p2pool-${{ env.P2POOL_VERSION }}-releases
|
||||
if-no-files-found: error
|
||||
path: |
|
||||
scripts/release/p2pool-${{ env.P2POOL_VERSION }}-linux-x64.tar.gz
|
||||
scripts/release/p2pool-${{ env.P2POOL_VERSION }}-macos-x64.tar.gz
|
||||
scripts/release/p2pool-${{ env.P2POOL_VERSION }}-windows-x64.zip
|
||||
scripts/release/sha256sums.txt
|
||||
Reference in New Issue
Block a user